NEWS
If changed then if true…
-
Hallo,
ich erstelle gerade einige Skripte, in denen ich auf bestimmte States reagieren will. Dabei habe ich jedesmal diese Logik als Trigger (Pseudocode):
if (state) changed then if (state == TRUE) then doSomething
In Blockly sind das zwei seperate Triggerblöcke nacheinander. Ziel ist, das ganze Skript erst auszuführen, wenn sich der State ändert, und die Aktion nur dann, wenn der State nach TRUE geändert wurde.
Ist das so richtig? Muß diese zweistufige Prüfung sein, oder genügt es, das "if changed" wegzulassen und nur auf "==TRUE" zu prüfen? Das Skript soll "on event" ausgeführt werden, nicht als Cron-Job.
MfG
-
on({id: "custom.0.objekt", val:true}, function (obj) { });
Reagiert nur bei Aktualisierung auf true.
-
Bestens, danke.
MfG
-
Reagiert nur bei Änderung auf true. `
Wenn nur bei <u>Änderung</u> auf true getriggert werden soll, muss es so aussehen:on({id: "custom.0.objekt", change: 'ne', val: true}, function (obj) { ... });
oder so:
on("custom.0.objekt", function (obj) { // triggert bei Wertänderung if(obj.state.val) { ... } });
-
Reagiert nur bei Änderung auf true. `
Wenn nur bei <u>Änderung</u> auf true getriggert werden soll, muss es so aussehen:on({id: "custom.0.objekt", change: 'ne', val: true}, function (obj) { ... });
oder so:
on("custom.0.objekt", function (obj) { // triggert bei Wertänderung if(obj.state.val) { ... } }); ```` `
Mea culpa. Habs auf Aktualisierung geändert.
-
Wenn nur bei <u>Änderung</u> auf true getriggert werden soll, muss es so aussehen: `
Schade, genau das war ja die Frage: Das heißt, es muß immer1. auf Änderung getriggert
und dann erst
2. auf State geprüft
werden? Es braucht immer beide Abfragen, mit einer ist es mit Blockly (den Trigger-Block "changed-to-X" scheint es dort nicht zu geben) nicht zu machen?
MfG
-
Es braucht immer beide Abfragen, mit einer ist es mit Blockly (den Trigger-Block "changed-to-X" scheint es dort nicht zu geben) nicht zu machen? `
Blockly ist bei der Anzahl der Trigger-Bedingungen eingeschränkt. Mit der Tigger-Bedingung ist größer als letztes sollte es auch funktionieren. -
Ok, danke!
MfG