NEWS
State mit Zeitstempel setzen
-
Hallo,
gibt es eine Möglichkeit einen eigenen State unter 0_userdata zu setzen (Scripting / Webservice) und dabei auch den Zeitstempel selber zu setzen?
Ich hätte folgenden Use Case:
Für meine Wärmepumpe bekomme ich einige Daten nicht über die Hersteller API geliefert, aber kann sie über die App des Herstellers sehen. Die Daten übernehme ich derzeit sporadisch von Hand in eine eigene Datenbank und würde diese nun auch gerne im ioBroker mit dem richtigen Zeitstempel haben.
Beispiel:
Ich haben einen Wert für die KW52, den ich erst heute aus der App auslese. Wenn ich den Datenpunkt im ioBroker ändere, dann ist der Zeitstempel 3.1.24 18:18. Die KW52 endete aber am 31.12.23 23:59 und dies wäre der Wert den ich gerne in dem State als Zeitstempel hätte.Gibt es hierzu eine Möglichkeit?
Danke,
Christian -
@tomracoon sagte: Gibt es hierzu eine Möglichkeit?
Datumsformat beachten!
const value = 7; const time = new Date('2023-12-31 23:59').getTime(); setState('0_userdata.0.Test.Zahl', {val: value, ts: time, ack: true});
-
@paul53 Danke, daran dass man die Variablen als benannte Werte übergeben kann hatte ich nicht gedacht.
Bestan Dank,
Christian -
@paul53 sagte in State mit Zeitstempel setzen:
const value = 7;
const time = new Date('2023-12-31 23:59').getTime();
setState('0_userdata.0.Test.Zahl', {val: value, ts: time, ack: true});Gibt es diese Möglichkeit auch für die Simple API? Mit einem zusätzlichen &ts bin ich gerade nicht weitergekommen...
-
@tomracoon
Du schreibst per simpleApi in einen DP.
Und auf diesen reagierst du dann per Script. -
@bahnuhr Das würde ich gerne vermeiden, weil ich dann mindestens einen Zwischenschritt und einen zusätzlichen Datenpunkt hätte.
-
@tomracoon sagte in State mit Zeitstempel setzen:
@bahnuhr Das würde ich gerne vermeiden, weil ich dann mindestens einen Zwischenschritt und einen zusätzlichen Datenpunkt hätte.
Ja, das wäre dann so.
Aber es funktioniert.