Moin,
nach meiner Rückkehr von einem Kurztrip habe ich mich wieder der hier genannten Fragestellung angenommen und das Skript fertiggestellt. Dabei wurde die Oberfläche nochmals optimiert und sieht jetzt so aus.
Von der Idee, Ereignisse zu erzeugen habe ich mich schnell verabschiedet, da die Implementierung zu viele Fragen und Probleme hinsichtlich der Reorganisation der erzeugten Ereignisse aufwirft. Stattdessen bin ich auf die Idee verfallen, die Verwaltung in Form einer Warteschlange zu realisieren wie es die Betriebssysteme selbst auch tun. Dies bedeutet, dass die auszuführenden Befehle in einem Array gespeichert und per Serialisierung in einem String in IPS gespeichert werden. Das Skript selbst wird jede Minute aufgerufen und prüft, ob ein Befehl ausgeführt werden muss. Dabei werden folgende Funktionen unterstützt:
• Das Schalten von Geräte Instanzen die über STATE oder LEVEL Datenpunkte verfügen, um Aktoren oder Dimmer ein- bzw. auszuschalten.
• Das Setzen von Booleschen Variablen auf TRUE bzw. FALSE.
• Die Ausführung von Skripten, womit sich letztendlich jede Art von Gerät steuern lässt.
• Die Deaktivierung und Aktivierung von Ereignissen.
• Die Steuerung der genannten Funktionen auch über Links.
Der Datumsbereich und die Anzahl der Befehle für die Ausführung können letztendlich durch die entsprechende Visualisierung selbst bestimmt werden. Hierzu müssen lediglich die entsprechenden Assoziationen in den Association Images bzw. Association Button angelegt werden.
Um den Bedienungskomfort zu erhöhen und eine schnelle Eingabe der Daten zu ermöglichen, wurde die Möglichkeit der Befehlswiederholung geschaffen (Stichwort Wochenplan) und die Eingabe eines Ein- und Ausschaltzeitpunktes mit einer Datensatzspeicherung.
Das Bild zeigt die Gesamtübersicht der View auf einem iPad mit einigen Beispieldaten. Um die Oberfläche WAF-freundlich zu gestalten habe ich im unteren Bereich eine Auftrennung nach Räumen vorgenommen, so dass auch bei einer Vielzahl von Geräten die Übersicht nicht verlorengeht. Hier kann sich jedoch jeder konstruieren was immer er mag, da dies keinerlei Einfluss auf das Skript hat – es dient lediglich der Ordnung und der Sicherheit.
Sicherheit deshalb, da ein Benutzer nur das auswählen kann, was vom Ersteller vorgegeben worden ist.
Momentan bin ich dabei das Skript selbst zu dokumentieren. Um unnötige Hürden zu vermeiden ist dieses in Deutsch gehalten und mit längeren selbsterklärenden Variablennamen erstellt worden
Wenn Interesse besteht so kann ich vorab eine noch unvollständige Version der Dokumentation hochladen, die die Details für IPSView aufzeigt
Gruß
Hans