NEWS
Zeitdifferenz falsch berechnet
-
Hallo zusammen,
das angehängte Skript soll ein Zeitintervall berechnen zwischen den stop_date_time (16:00) und start_date_time (13:17). Als Ergebnis kommt da "1".var LadeStop, LadeStart, LadeDauer; createState('0_userdata.0.nLadeDauer', ((common) => typeof common !== 'object' ? JSON.parse(common) : common)('{"type":"number", "read":"true", "write":"true"}'), async () => { }); LadeStop = getState('vw-connect.0.wecharge.homecharging.records.latestItem.stop_date_time').ts; LadeStart = getState('vw-connect.0.wecharge.homecharging.records.latestItem.start_date_time').ts; LadeDauer = LadeStop - LadeStart; console.info(formatTimeDiff(LadeDauer, 'hh:mm:ss')); console.info(LadeStop); console.info(LadeStart); setState('0_userdata.0.nLadeDauer' /* 0_userdata.0.nLadeDauer */, LadeDauer, true);
Das Log- und Debug-Fenster unter dem Skript ist leider verschwunden und ich kann sie nicht wiederherstellen. Eine Lösung hierzu konnte ich nicht finden.
In der Log selbst gibt es eine Warnung:
"javascript.0 2024-05-30 10:14:31.681 warn Object 0_userdata.0.nLadeDauer is invalid: obj.common.read has an invalid type! Expected "boolean", received "string""
und diese 3 Infos:
javascript.0 info script.js.common.Ladedauer: 1717057573419
javascript.0 info script.js.common.Ladedauer: 1717057573419
javascript.0 info script.js.common.Ladedauer: 00:00:00
Habt Ihr eine Idee woran es liegen kann?
Danke im Voraus und Grüße -
Du gibst im Log Start und Stop aus. Beides ist
1717057573419
.1717057573419 - 1717057573419 = 0
Was genau ist jetzt falsch? Kann es sein, dass Du den Wert haben möchtest (und nicht den Zeitstempel der letzten Aktualisierung des Wertes)? Zeig mal den Inhalt der Datenpunkte.
-
@wibear sagte in Zeitdifferenz falsch berechnet:
"javascript.0 2024-05-30 10:14:31.681 warn Object 0_userdata.0.nLadeDauer is invalid: obj.common.read has an invalid type! Expected "boolean", received "string""
Da setzt Du
"read": "true"
(was ja ein String ist). Ersetzen durch"read": true
(ohne Anführungszeichen). Gleiches fürwrite
. Nimm doch am besten direkt den anderen Baustein - der kann diese Optionen auch alle: -
@haus-automatisierung Hallo Matthias, danke für Deine schnelle Antwort. Da sind die Zeitpunkte:
Start
Stop
-
@wibear Ja, Du brauchst den Wert. Nicht den Timestamp! Und diese dann jeweils konvertieren zu "Datums-Objekt"
-
@haus-automatisierung sagte in Zeitdifferenz falsch berechnet:
Du brauchst den Wert
Habe gerade geändert und bekomme als Ergebnis:
-
@haus-automatisierung sagte in Zeitdifferenz falsch berechnet:
Und diese dann jeweils konvertieren zu "Datums-Objekt"
Vielen Dank! jetzt sieht es gut aus:
Hast Du auch eine Idee zum verschwundenen Fenster unten in Blockly?
-
@wibear sagte in Zeitdifferenz falsch berechnet:
verschwundenen Fenster unten in Blockly?
schau mal rechts unten ob da ein "Auge" ist
-
@djmarc75 Hallo, DJMarc, vielen Dank, jetzt habe ich das Fenster wieder! Grüße