Zum Hauptinhalt springen

Skript Blöcke (Mediensteuerung)

Mediensteuerung - Logik-Editor

Anmerkung: Es gab zuletzt größere Erweiterungen im Modul Skript Blöcke. Diese sind noch nicht in dieser Version der Dokumentation berücksichtigt.

Jedes Gebäude ist anders und jede Medientechnik wird individuell genutzt. Hierfür bietet das Modul Skript Blöcke (vergleichbar mit einer Mediensteuerung anderer Hersteller) alle Möglichkeiten sehr einfach Abläufe (Aktionen) festzulegen, die auf bestimmte Ereignisse ausgeführt werden sollen. Ereignisse können z. B. eine Uhrzeit, das Drücken eines Buttons auf dem Tablett oder das Überschreiten eines Schwellwertes sein. So kann zum Beispiel sehr einfach jeden Tag um eine bestimme Uhrzeit eine Durchsage gestartet werden oder auf einen Button-Klick eine Lichtstimmung aufgerufen werden und/oder ein Umschalten von Medienquellen vorgenommen werden. Dadurch ergeben sich unzählige Möglichkeiten, ohne eine Programmiersprache lernen zu müssen oder sich in die Protokolle der Endgeräte einzuarbeiten.

Skripte, Böcke, Ereignisse und Aktionen

Wenn man damit umgehen kann, kann man eigentlich schon alles steuern, was man will.

Aber erst mal im Einzelnen:

Was sind Skripte?

Skripte sind nur eine Aufteilung. Beispielsweise kann ich, sofern mir das sinnvoll erscheint, alle Geräte eines Typs in einem separaten Skript steuern, oder alles was einen Raum betrifft, oder eine spezielle Funktionalität oder, oder, oder.

Skripte kann man sich also wie einzelne Seiten vorstellen, auf denen man beliebige, vermeintlich zusammenhängende Dinge aufschreiben kann. Die Reihenfolge von Skripten ist nicht entscheidend, alle werden gleich behandelt. Skripte können 'Aktiv' sein, sprich alles was im Skript steht, wird auch gemacht. Oder sie sind 'Inaktiv', dann werden alle Blöcke, Ereignisse und Aktionen im Skript nicht ausgeführt.

Screenshot Blöcke

Was sind Blöcke?

Ein Skript kann beliebig viele Blöcke enthalten. Blöcke wiederum beinhalten Ereignisse und Aktionen. Ereignisse und Aktionen können nur in Blöcken existieren also nicht alleine stehen. Auf der linken Seite eines Blocks stehen immer die Ereignisse und auf der rechten Seite die Aktionen. Ohne mindestens ein Ereignis und eine Aktion macht ein Block nicht wirklich Sinn. Befinden sich mehrere Ereignisse in einem Block, sind diese 'oder' verknüpft. Es ist also egal, welches Ereignis eintritt, es werden immer alle Aktionen auf der rechten Seite abgearbeitet. Die Aktionen auf der rechten Seite werden allerdings immer von oben nach unten abgearbeitet. Blöcke können wie Skripte auch 'Aktiv' oder 'Inaktiv' sein.

Was sind Ereignisse?

Die Darsteller für Ereignisse in einem Skript bzw. einem Block repräsentieren Ereignisse / Meldungen / Aufrufe, die im System gemeldet werden. Dies kann eine Komponente sein, die meldet, dass ein Eingangskontakt geschlossen wurde, ein Dashboard auf dem ein Button gedrückt wurde, ein Datum - eine Zeit, die eingetreten ist oder vieles mehr. Jede Komponente bringt schon eine Vielzahl von Ereignissen mit.

Was sind Aktionen?

Mittels einer Aktion kann etwas ausgeführt werden. Jede Komponente bringt beispielsweise eigene Aktionen mit, je nach Komponente unterschiedlich viele. Aktionen können aber auch das Verändern einer Variable sein oder das Starten eines Timers.

Skripte anlegen

Screenshot: Neues Skript anlegen

Neue Skripte können entweder hochgeladen werden 1 oder neu angelegt 2 werden. Nach Klicken auf 2 und 3 kann mittels dem +-Symbol neben "Block" ein neuer Block hinzugefügt werden. Wenn der Block angeklickt und dunkelgrau hinterlegt ist, lässt sich ein Name für den Block 4 vergeben und eine Beschreibung eintragen 5. Die im Skript verwendeten Blockvariablen erscheinen später im Feld [All Block Vars] 6.

Screenshot Auslöser hinzufügen

Ist der Block ausgewählt, lässt sich in diesem Block mit dem Plus-Button bei 1 ein neues Ereignis erzeugen.

Mit 3 wird ein Auswahlfeld mit den folgenden Auslösern eingeblendet:

  • Component or Group Trigger 4 - Anklicken öffnet die Hierarchieansicht. Nachdem eine Komponente oder Gruppe markiert wurde, kann in der rechten Spalte ein Komponentenereignis ausgewählt werden.
  • Dashboard 5 (Beschreibung folgt)
  • Custom Trigger 6 - Anklicken öffnet ein Menü in dem benutzerdefinierte Ereignisse gespeichert werden können.
  • Variable Trigger 7 - Anklicken öffnet ein Menü in dem Variablen definiert werden können, die Ereignisse auslösen.

Screenshot einem Ereignis eine Variable zuweisen

Wurde ein Ereignis 1 ausgewählt, kann für dieses Ereignis eine Variable 2 vergeben werden.

Sreenshot Aktion hinzufügen

Nach Klicken auf den Block ist es möglich, eine Aktion hinzuzufügen 1. Wenn der Platzhalter 2 für die neue Aktion angewählt und grau hinterlegt ist, wird unter 3 ein Drop-down-Menü mit den folgenden Aktionen eingeblendet:

  • Component or Group Action 4 - Anklicken öffnet die Hierarchieansicht. Nachdem eine Komponente oder Gruppe markiert wurde, kann in der rechten Spalte ein Komponentenaktion ausgewählt werden.

  • Custom Action 5 - Anklicken öffnet ein Menü, in dem benutzerdefinierte Aktionen gespeichert werden können.

  • Variable Action 6 - Anklicken öffnet ein Menü, in dem die Variable definiert wird, die sich ändert. Nachdem die Variable ausgewählt wurde kann der Wert der Variablen eingegeben werden.

  • Script Action 7 - Folgende Script Aktionen stehen zur Verfügung:

    • Delay in Millisekunden
    • Sprungmarke GOTO zu einer mit LABEL gekennzeichneten Stelle
    • GraphQl Client/Server Abfragen
    • IF Anweisungen
    • Suche aller in einer Gruppe enthaltenen Komponenten
    • Suche der Gruppen in denen eine Komponente vorkommt

Screenshot Skript Aktionen

Skript Eigenschaften, speichern und Live schalten

Screenshot Script-Eigenschaften und Live-Schaltung

Indem der Regler Active 1 deaktiviert wird, kann ein Skript vom Live Server genommen werden ohne es zu löschen. Das gelbe bzw. grüne Aufnahme-Symbol 7 wird dann nicht mehr angezeigt.

Hier kann das Skript heruntergeladen 2 oder gelöscht 3 werden. Unter 4 wird ein aussagekräftiger Name und unter 10 eine Beschreibung für das Skript eingetragen.

Ist der Regler 5 eingeschaltet, werden Änderungen am Skript automatisch auf dem Live Server übernommen und das Aufnahme Symbol 7 erscheint grün.

6 zeigt die aktuelle Live Version des Skriptes an.

Wenn Änderungen nicht automatisch übernommen werden (Regler 5 ist ausgeschaltet), können sie mit 8 manuell für die Live Version übernommen werden.

Revert changes 9 nimmt die letzten Änderungen zur Live Version wieder zurück.