NEWS
(gelöst) Schleife nur einmal ausführen
-
@codierknecht das Skript wird doch bei einer Änderung des Wertes über 50 neu gestartet, während die andere Schleife noch läuft. So klappt das doch nicht.
-
das Skript wird doch ... neu gestartet
Ein Script wird in der Regel 1x gestartet und läuft dann bis zum Sanktnimmerleinstag.
Es "reagiert" mit den Triggern auf Ereignisse. Da wird nix gestartet oder gestoppt.https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps
-
@kymchy sagte in Schleife nur einmal ausführen:
das Skript wird doch bei einer Änderung des Wertes über 50 neu gestartet
Das Script wird nicht neugestartet. Nur der Inhalt des Triggers wird erneut ausgeführt...
Schau am besten die Grundlagen des JavaScript-Adapters in Ruhe an.Sieh Lösung von @Codierknecht (danke fürs Beispiel zusammenklicken!)
-
@haus-automatisierung ich habe es jetzt so und es funktioniert nicht wie gewünscht.
-
@kymchy sagte in Schleife nur einmal ausführen:
es funktioniert nicht wie gewünscht.
sondern wie?
der block serze variable auf falsch muss ja auch über den Trigger
-
@kymchy Naja wenn Du bei jedem Trigger-Aufruf den Wert zurücksetzt, hast Du an der Logik ja auch nichts geändert. Außerhalb deklarieren, innerhalb nur entsprechend zurücksetzen.
@Codierknecht hat doch ein super Beispiel gebaut.
-
@kymchy
Nimm statt "Wert von Example.State" einfach den Baustein "Wert" (siehe Beispiel).
Den Wert des triggernden DP nochmal zu lesen ist ineffizient. -
@homoran habe meinen Fehler vermutlich gefunden, die Variable muss vor dem Trigger gesetzt werden.
-
@kymchy sagte in Schleife nur einmal ausführen:
@homoran habe meinen Fehler vermutlich gefunden, die Variable muss vor dem Trigger gesetzt werden.
ja
-
@homoran das vergesse ich jedesmal, bei mir hat sich fälschlicherweise eingebrannt, dass der Trigger immer das Erste ist...daher kam ich auch nicht weiter.
Herzlichen Dank. -
@kymchy sagte in Schleife nur einmal ausführen:
bei mir hat sich fälschlicherweise eingebrannt, dass der Trigger immer das Erste ist
Das gilt auch für den normalen Ablauf.
Was über dem Trigger steht wird nur einmalig bei Skriptstart ausgeführt.und wie bereits von anderen geschrieben ist Triggern nicht Skriptstart
-
@homoran yo, wieder einiges gelernt...
-
@kymchy
Lies Dir nochmal die Grundlagen durch.https://forum.iobroker.net/topic/70481/blockly-for-dummies-starthilfe-und-tipps
https://github.com/ioBroker/ioBroker.javascript/blob/master/docs/en/blockly.md