NEWS
Fensterüberwachung mit Blockly Liste
-
Ich würde gerne eine LED aufleuchten lassen, wenn eines der Fenster im Haus geöffnet ist. Meine Idee ist, die Zustände der Fensterkontakte einer Liste hinzuzufügen. Die Zustände können den Wert "offen" oder "geschlossen" haben.
Sobald sich ein Wert in der List auf "offen" befindet, soll die LED leuchten.
Ich habe die Liste in Blockly wie folgt definiert:
Mir ist jetzt jedoch nicht klar, welchen Trigger ich nutzen kann, der auf die Änderung eines Wertes in der Liste reagiert und auch prüft, ob ein Wert in der Liste auf "offen" steht.
-
@kraxelhuber
Sind die DP alle gleich in der Objektstruktur?
Wenn ja könnte man das einfach per Schleife lösen. -
@kraxelhuber sagte: welchen Trigger ich nutzen kann, der auf die Änderung eines Wertes in der Liste reagiert
Auf eine Liste mit Werten kann nur ein zyklischer Zeitplan angewendet werden.
An Datenpunkt-Trigger übergibt man ein Liste der Datenpunkt-IDs. Prinzip: -
@djmarc75 Ja, alle Datenpunkte sind gleich. Es handelt sich um Alias-Datenpunkte.
-
@kraxelhuber sagte in Fensterüberwachung mit Blockly Liste:
Es handelt sich um Alias-Datenpunkte.
na dann zeig mal einen DP (Pfad) bitte, da machen wir was draus
Paul53 hilft schon - bin dann raus -
@paul53 said in Fensterüberwachung mit Blockly Liste:
@kraxelhuber sagte: welchen Trigger ich nutzen kann, der auf die Änderung eines Wertes in der Liste reagiert
Auf eine Liste mit Werten kann nur ein zyklischer Zeitplan angewendet werden.
OK, verstanden.An Datenpunkt-Trigger übergibt man ein Liste der Datenpunkt-IDs.
Kannst du das etwas ausführen? Habe ich die Liste falsch definiert? -
@kraxelhuber sagte: Habe ich die Liste falsch definiert?
Du hast der Liste die Werte der Datenpunkte zugewiesen - nicht die IDs.
-
@paul53 Ist der Trigger wirklich korrekt? Bleiben die IDs in der Liste nicht immer gleich? Die ändern sich doch nicht, oder liege ich hier falsch? Es geht doch eher um die Änderung der Zustände der IDs.
-
@kraxelhuber sagte: Ist der Trigger wirklich korrekt?
Ja, nachdem die 10 Fenster-IDs zugewiesen wurden.
@kraxelhuber sagte in Fensterüberwachung mit Blockly Liste:
Bleiben die IDs in der Liste nicht immer gleich?
Ja, deshalb muss sie auch nur einmal bei Skriptstart erstellt werden.
@kraxelhuber sagte in Fensterüberwachung mit Blockly Liste:
Es geht doch eher um die Änderung der Zustände der IDs.
Dafür sorgt der Trigger, der bei Wertänderung eines der 10 Datenpunkte auslöst.
-
@paul53
Danke für deine Anregung. Ich habe jetzt ein lauffähiges Script:Ich verstehe allerdings nicht, wieso der Trigger überhaupt auslöst. Die Liste der IDs ändert sich doch nie, nachdem sie initial definiert wurde.
Die beiden Debugs, die ich eingebaut habe, bestätigen das eigentlich. Sie liefern exakt dieselben Inhalte.
Wieso funktioniert der Trigger trotzdem?
-
@kraxelhuber sagte in Fensterüberwachung mit Blockly Liste:
Ich verstehe allerdings nicht, wieso der Trigger überhaupt auslöst. Die Liste der IDs ändert sich doch nie, nachdem sie initial definiert wurde.
...
Wieso funktioniert der Trigger trotzdem?Du übergibst dem Trigger eine Liste zu überwachender Objekte.
Wenn eines davon sich ändert, feuert der Trigger.Wie das funktioniert, sagt Dir eigentlich auch schon der Trigger selbst.
Dort steht ja "if object" und nicht "if value".Was @DJMarc75 vermutlich im Sinn hatte:
Wenn die Struktur der DP gleich ist, könnte man auch mit einem Selektor arbeiten.