NEWS
Blockly - Wert bei Neustart "nullen"
-
Hallo,
ich habe seit einiger Zeit erfolgreich das Skript laufen, um die Zeit zwischen zwei Datenpunkten auszurechnen. Klappt wunderbar. Nur leider wenn ich das Skript oder Iobroker neu starte steht da leider 16 Mio immer drin und nicht Null wie ich es eigentlich gedacht hatte.
Wo ist der Knick im Hirn bei mir drin????
-
Du willst den Datenpunkt "Zeitdifferenz" bei System- bzw. Skriptstart auf Null bringen? Dann einfach ohne Trigger den Datenpunkt setzen. Das wird dann nur bei Skriptstart einmal ausgeführt. Also bei Systemstart, Skriptstart oder wenn der Javascript-Adapter neu gestartet wird.
-
Mhhh, ich dachte man soll gerade einen Trigger einsetzen um bei Neustart nicht Müll dadrin stehen zu haben sondern einen Null ?
Ja genau es geht um die Variable ZEITDIFFERENZ.Muss ich das jetzt hier entfernen ???
-
Verwechsle nicht Variable mit Datenpunkten! Variable werden bei Neustart gelöscht und sie enthalten keinen Wert -> 'NULL'. Wenn du hier einen Wert brauchst, dann kannst du es so machen wie in deinem Skript.
Datenpunkte (und 'Zeitdifferenz' sieht ganz danach aus), bleiben nach einem Neustart erhalten. Auch diese kannst du aber, genauso wie du es bei der Variable macht, bei Start löschen bzw. definieren.
Doch wenn ich mir dein Skript so ansehe, bringst du Datenpunkte und Variable an mehreren Stellen durcheinander. Zuerst definierst du Datenpunkte, dann verwendest du aber gleichlautende Variable.
Und ein Trigger "lauscht" auf ein bestimmtes Ereignis und führt erst dann die Befehlskette aus. Das soll aber bei Systemstart passieren und dafür braucht man keinen Trigger! "setze Voheriger auf 0" steht bei dir ja auch in keinem Trigger.
-
Jo okay, da sehe ich wieder, dass ich NULLKOMMANULL Ahnung von diesem Programmierzeugs habe
ich hab kein Wort verstanden - liest sich super aber wie und was das nun für mein Blockly heisst ??? Keene Ahnung
-
Ich weiß ja nicht was dein Skript wirklich machen soll, aber vielleicht hilft dir das:
Aber was ist mit den Datenpunkten 'Zeit_spuelen' und 'Vorh_Zeit_spuelen'? Die finden nirgends Verwendung! Mit 'Zeitstempel' meinst du vermutlich die aktuelle Linux-Time? Die bekommt man mit einem anderen Modul ('aktuelle Zeit als Datum-Objekt'). Die erneute Abfrage in der Abfrage macht keinen Sinn, daher habe ich sie weg gelassen.
Fang mal mit kleineren Skripten an und lerne die Funktionen kennen. Dann ist das alles bald kein Problem mehr...