NEWS
Werte in Datenpunkt ändern / Debug Log
-
Hallo,
ich versuche mich in die Geheimnisse vom ioBroker einzuarbeiten, aber aktuell versteh ich was ganz und gar nicht:
Wer kann mir die Ausgabe vom Log erklären:
auf dem Datenpunkt steht 17 wenn das Skript gestartet wird.
Ich hätte als Ausgabe
15
20
15
erwartet...Danke für Eure Hilfe...
Gruß
Klaus -
@kalle-r
Stichwort: "Asynchrone Abarbeitung" von "aktualisiere" (setState): "aktualisiere" ist noch nicht fertig ausgeführt, wenn die nächsten Befehle im Skript abgearbeitet werden. -
@paul53
Ok, da bin ich totaler Laie... danke für das Stichwort...
Und ich vermute mal es gibt auch keinen (einfachen) Weg ein synchrones Abarbeiten zu erzwingen
bzw. herauszufinden wann das setState fertig ausgeführt wurde?
Bekommt denn der Datenpunkt überhaupt jemals den Wert 15? -
@kalle-r sagte:
Bekommt denn der Datenpunkt überhaupt jemals den Wert 15?
Ja, aber nur für 1 s.
@kalle-r sagte in Werte in Datenpunkt ändern / Debug Log:
herauszufinden wann das setState fertig ausgeführt wurde?
In Javascript ja (callback), in Blockly nicht. Wenn man mit Variablen arbeitet, ist es auch nicht nötig: Man liest keinen Datenpunkt-Zustand ein, den man gerade geändert hat.
-
@paul53
Danke für Deine Erklärungen, dann werd ich mal versuchen mein Blockly umzubauen.
Ich werd dann alles auf Variablen ändern die ich einmalig mit den Datenpunktinhalten befülle
und erst ganz am Ende die neuen Werte wieder auf die Datenpunkte zurückschreiben...