NEWS
Zeitrechnen
-
Hy Leute
Ich habe eine Klimaanlage im Einsatz. Jetzt würde ich gerne die Betriebsdauer ermitteln. Es kann sein dass die Klimaanlge heute zb gegen 23:00 angeht und erst morgen wieder gegen 06:00 ausgeht.
Wie erstelle ich die Zeitberechnung im Blocklyscript.
Ich habe da mal was mit einem Testschalter versucht, klappt aber nicht.
Das Log berechnet mir 022:20:42.927 error javascript.0 (21060) script.js.common.Test.Zeitberechnung: 1602706842927 22:22:06.698 info javascript.0 (21060) script.js.common.Test.Zeitberechnung: 1602706926698 22:22:06.698 warn javascript.0 (21060) script.js.common.Test.Zeitberechnung: 0
was muss ich ändern damit das klappt?
-
@albi_63 sagte:
was muss ich ändern damit das klappt?
Nur beim Ausschalten triggern und die Zeiten der Wertänderung des Trigger-Datenpunktes verwenden. Dabei beachten, dass die Zeit-Formatierung die Zeitzone berücksichtigt:
-
@albi_63
Du musst die Variablen in Zahlen konvertieren. "Aktuelle Zeit als Datums-Objekt" ist ein String! -
@MCU sagte:
"Aktuelle Zeit als Datums-Objekt" ist ein String!
Nein, das sind die ms seit 1.1.1970 00:00 Uhr UTC.
-
-
@MCU
Was ist nun der Unterschied zu ?ZEIT_2 - ZEIT_1
-
-
@MCU sagte:
er bekam immer 0 als Ergebnis, weil er die String-Werte subtrahiert hat.
Nein, er bekam 0, weil er "ZeitpunktStart" bei jedem Trigger gesetzt hat.
-
@paul53 Ist doch nicht das Problem. ZeitpunktStart wird bei true gesetzt, ZeitpunktStop bei false.
Korrektur. Hast recht. -
@MCU sagte:
ZeitpunktStart wird bei true gesetzt,
So sollte es sein, wird aber leider auch bei false gesetzt.
-
@paul53
Hy Paul
Besten Dank für dein Tip. Habe ich die Zeitrechnung richtig im Script involviert?
Script:
-
@paul53
Hy Paul
Ich habe einen Wassertank von 1000 lt. Mittels Wemos D1 ermittle ich die Distanz der Wasseroberfläche zum Sensor SR04 und ermittle so den aktuellen Füllstand. das funktioniert soweit ohne Probleme.
jetzt möchte ich wieder die Anzahl Tage ermitteln zwischen voll und leer, damit ich abschätzen kann wie lange der Tank reicht.
Jetzt kann ich ja die Zeitberechnung nicht mittels Trigger "Ist kleiner als letztes" starten, da mir ja der Sensor dauernd andere Werte liefert. Wie ist das umzusetzen?
Danke dir......