Inhalt: Verhaltensweisen, Skripte
- Tutorial
Training
Dieser Abschnitt beschreibt die Inhalt orientiert Verhaltensweisen und Skripting : wie man Skripte und Regeln erstellt, erstellt, veröffentlicht und anwendet, die die Benutzeroberfläche und den digitalen Zwilling auf der Beholder-Seite steuern.
Scripting ist eine mächtige, einfache und besonders effektive Möglichkeit, das Verhalten des Betrachters zu verändern.
Das Verhalten der Geräte als Reaktion auf aus dem Netzwerk abgerufene Daten verändern, die Benutzeroberfläche anpassen, um die Aktionen Ihrer Nutzer zu vereinfachen, auf APIs zugreifen oder Verarbeitung durchführen? Scripting ist eine angemessene Antwort auf jede Art von Entwicklung des Beholders, ohne dass Ihre Nutzer ihre Werkzeuge aktualisieren müssen.

In diesem Artikel werden wir Folgendes besprechen:
Alle Aktionen in diesem Tutorial werden aus der Kategorie "Business > Content" Ihres immersiven Backends ausgeführt.

Erstellung eines Arbeitsbereichs
Die "Arbeitsbereiche" stellen eine Gruppe von "Controllern" dar, die auf die Ergonomie und die Darstellung der Daten wirken.
Benutzer können auf einen oder mehrere Arbeitsbereiche zugreifen, jedoch ist beim Start des Betrachters während der Sitzung nur ein Arbeitsbereich aktiv.
Um einen neuen Arbeitsbereich zu erstellen, klicken Sie auf "Neuen Arbeitsbereich erstellen". Das Workflow Creation Panel öffnet sich rechts in der Benutzeroberfläche, gibt seinen Namen, die Beschreibung (optional) ein und validiert die Erstellung.

Sobald der Arbeitsbereich erstellt ist, erscheint er nun in der Liste der Arbeitsbereiche in Ihrer Umgebung. Klicken Sie einfach auf einen der Arbeitsbereiche, um auf die detaillierte Datei zuzugreifen.
Die verschiedenen Unterteile eines Arbeitsbereichs-Blatts erlauben:
- Bearbeitung von Workspace-Eigenschaften
- Zugriff auf die Liste der Controller, die mit dem Arbeitsbereich verbunden sind, mit der Möglichkeit, einen Link hinzuzufügen oder zu entfernen
- Bearbeitung der Sicherheitsrechte des Arbeitsbereichs, um dessen Zugriff einer Gruppe von Benutzern zu ermöglichen.
- Entfernung des Arbeitsbereichs

Um einen Controller mit dem Workspace zu verknüpfen, klicken Sie auf "Liste der Workspace-Controller bearbeiten" und klicken Sie auf den Umschaltknopf in der Controller-Zeile.
Nur die Controller, die mit dem im Beholder geladenen Arbeitsbereich verknüpft sind, sind aktiv, die anderen werden nicht verwendet. Im folgenden Beispiel ist nur der "Street Light"-Controller aktiv.

Erstellung eines Controllers
Ein Controller stellt ein Skript dar, das vom Beholder ausgeführt wird. Es gibt verschiedene Arten von Controllern, die unterschiedlich interpretiert werden, jeder mit einem bestimmten Zweck.
Derzeit gibt es verschiedene Controller-Typen:
- Parametrisierungsregler
- Verwenden: Konfigurieren Sie die Beholder-Einstellungen beim Start.
- Präfix: Info.
- Format: JSON
- Importregel: Nicht verwendet
- Geräteskript-Controller
- Nutzung: Skripting eines oder mehrerer Geräte.
- Präfix: Keine
- Format: Javascript
- Importregel: Name einer Gerätefamilie, oder $(Name eines Handles)
- Anwendungsskript-Controller
- Nutzung: Skripting des Beholders in seiner Gesamtheit ohne Verknüpfung eines Ausrüstungsgegenstands.
- Präfix: App.
- Format: Javascript
- Importregel: Nicht verwendet
- Standortregler
- Verwendung: Hinzufügen von Übersetzungsschlüsseln zum Lokalisierungssystem.
- Präfix: Übersetzung.
- Format: Text
- Importregel: die zugehörige Sprache (Beispiel fr-FR)
Um einen neuen Controller zu erstellen, klicken Sie auf "Neuen Controller erstellen". Das Erstellungspanel des Controllers öffnet sich rechts in der Schnittstelle, gibt den Namen, eine Beschreibung (optional), die Importregel ein und validiert die Erstellung.
Der Name des Controllers ist wichtig, da er je nach Präfix vom Betrachter unterschiedlich interpretiert wird.
Die Importregel hängt vom Typ des Controllers ab; siehe die verschiedenen Tutorials, die jeden Controllertyp beschreiben, um zu wissen, welche Regeln je nach Fall angewendet werden sollen.

Sobald der Controller erstellt ist, erscheint er nun in der Liste der Controller in deiner Umgebung. Klicken Sie einfach auf einen der Controller, um auf das detaillierte Blatt zuzugreifen.
Die verschiedenen Unterteile eines Controller-Steckers erlauben:
- Eigenschaften des Controllers bearbeiten
- Zugriff auf die Liste der Arbeitsbereiche mit diesem Controller, mit der Möglichkeit, einen Link hinzuzufügen oder zu entfernen
- Bearbeitung des zum Controller gehörenden Skripts
- Entfernung des Controllers

Ein Controller ohne Skript ist nutzlos, daher musst du eine neue Version des Skripts erstellen und veröffentlichen, um es zu aktivieren.
Ein Controller kann mehrere Versionen von Skripten speichern (zum Zweck der Historisierung für temporäre Änderungen), aber nur die veröffentlichte Version wird vom Beholder abgerufen und verwendet.
Um die erste Version eines Skripts zu erstellen, klicken Sie auf "Skript bearbeiten" und dann auf "Erstellen" und geben Sie eine Versionsnummer ein. Es ist nicht erforderlich, eine neue Importregel einzugeben; die allgemeine Importregel für den Controller wird verwendet, wenn sie in der Skriptversion nicht überschrieben ist.

Falls der Controller keine aktive Version hat oder die bearbeitete Version nicht die aktuelle ist, klicken Sie einfach auf die Schaltfläche "Diese Version veröffentlichen", um sie als aktive Version zuzuweisen.

Der Inhalt des Skripts kann im Bearbeitungsblock bearbeitet und mit der Schaltfläche "Speichern" gespeichert werden. Beim nächsten Start des Beholders wirken die am Skript vorgenommenen Änderungen, wenn die Version veröffentlicht wird und der Controller mit dem Workspace verknüpft ist, den du startest.

Parametrisierungsregler
Ein Parameter-Controller wird verwendet, um die Parameter des Beholders beim Start zu konfigurieren. Die Parameter können beispielsweise verwendet werden, um die zu ladende Karte, den zu ladenden Scope und die Adresse des Servers (Hub) zu konfigurieren.
Um vom Beholder als Konfigurationscontroller interpretiert zu werden, muss der Name des Controllers mit "Info" vorangestellt werden, z. B. "Info.My Factory"
Der Inhalt des Skripts eines Parametercontrollers muss im JSON-Format vorliegen und einen Parameterisierungsschlüssel mit seinem Wert verknüpfen.
Da die Importregel nicht interpretiert wird, ist es nicht notwendig, diese Informationen auszufüllen.
Beispiel für einen Konfigurationscontroller, der den Beholder so konfiguriert, dass er die Karte mit dem Namen "Factory", dem zugehörigen Scope lädt und den Titel der Anwendung ändert.
{
"DefaultMapName": "Factory",
"Supervision.ScopeName": "Factory",
"Supervision.TitleName": "Meine Fabrik von Graphicstream",
}
Die am häufigsten verwendeten Einstellungen in Controllern sind die folgenden:
- DefaultMapName: Welcher Name der zu ladenden Karte?
- DefaultLevelName: Der Name des Levels, das beim Start hervorgehoben werden soll.
- Supervision.ScopeName: Der Name oder die Namen der zu ladenden Scopes. Um mehrere Scopes zu laden, müssen sie durch ein Komma "," getrennt sein.
- Supervision.TitleName: Der Titel des Betrachters, der in der Titelleiste angezeigt wird.
- Supervision.HubAddress: Die URL zur Verbindung mit dem Hub.
- Supervision.UpdatesPeriod: Die Aktualisierungsfrequenz der Anrufe zum Hub. (standardmäßig 2 Sekunden)
Weitere Parameter finden Sie in der vollständigen Liste der Beholder-Konfigurationsparameter: << Link zum Dokument>>
Geräteskript-Controller (Javascript)
Ein Asset-Scripting-Controller ist ein Javascript-Skript, das für alle von ihm kontrollierten Geräte bei jedem Ereignis ausgeführt wird. Sie sind sehr nützlich, weil man so anpassen kann, wie ein Gerät auf eine Datenänderung reagiert und wie diese in der Benutzeroberfläche oder der 3D-Karte dargestellt wird.
Alle Controller ohne Präfix werden als Geräteskripte interpretiert.
Um ein Verhaltensskript mit einem Gerät zu verknüpfen, gibt es mehrere Regeln, die in der Skriptimportregel konfiguriert werden können.
Fügen Sie ein Skript einer Gerätefamilie zu:
Der einfachste Weg, ein Skript mit allen Geräten einer Familie zu verknüpfen, ist einfach, den Familiennamen in die Importregel einzugeben.
Im folgenden Beispiel erstellen wir ein Skript, um das Verhalten aller Geräte aus der "Straßenlaternen"-Familie anzupassen.

Verknüpfen Sie ein Skript mit mehreren Gerätefamilien:
Wenn das Skript auf mehrere Gerätefamilien angewendet werden soll, ist es möglich, die verschiedenen Familiennamen mit dem Zeichen "|" zu trennen.
Im folgenden Beispiel erstellen wir ein Skript, um das Verhalten aller Geräte aus der Familie "Straßenlaterne" oder "Temperatursensor" anzupassen.

Verknüpfe ein Skript mit der gesamten Ausrüstung:
In manchen Fällen möchtest du ein Skript für alle Ausrüstungen ausführen, gib einfach als Importregel ein: ".*"

Verknüpfe ein Skript mit Geräten mit einer gegebenen Variable:
Sehr nützlich für generisches Scripting, es ist möglich, dass ein Skript nur für Geräte läuft, die eine Variable haben. Dazu umgeben Sie einfach den Namen einer Variablen mit "$( )".
Im folgenden Beispiel wird das Dokumentationsskript nur für Geräte ausgeführt, die eine Variable namens "Documentation Url" besitzen. Daher könnte das Skript einen Button hinzufügen, um die Dokumentation zu öffnen, und den Wert der Variablen "Documentation Url" verwenden, um die korrekte Dokumentation zu öffnen.

Für weitere Informationen zum Schreiben des Inhalts eines Verhaltensskripts siehe die "Scripting"-Tutorials; hier ist vorerst ein Beispiel für ein Skript, das eine Nachricht anzeigt, wenn ein Gerät ausgewählt wird.
function OnSelectionChanged(equipement, isSelected)
{
if(isSelected)
Immersive.App.ShowPopup(«Message», « Hello World ! ») ;
}