NEWS
variable auslesen und in eine andere variable schreiben
-
Hallo,
ich habe das Problem, das ich von meiner Solaranlage einen Wert in einer Variable
"variable1" wert: "1500W" bekomme und nun möchte ich dies gerne auf Veränderung prüfen und wenn dieser sich ändert diesen in eine neue Variable "variable2" wert z.B.:"1502W ändern"
Also eigentlich den Variablen Inhalt von einer in eine andere schreiben.
Vielleicht kann mir ja jemand ein Beispiel zeigen...? -
@feuer001-0 sagte: einen Wert in einer Variable "variable1"
Du meinst in einem Datenpunkt?
@feuer001-0 sagte in variable auslesen und in eine andere variable schreiben:
auf Veränderung prüfen und wenn dieser sich ändert diesen in eine neue Variable "variable2"
const id1 = 'adapter.0.variable1'; const id2 = '0_userdata.0.variable2'; on(id1, function(dp) { // triggert bei Wertänderung setState(id2, dp.state.val, true); });
-
leider funktioniert das nicht so wie es soll, der neue Datenpunkt bekommt die neuen werte nicht.
Hab aber auch eine Warnung unter den Scripts die ich aber nicht verstehe:16:59:16.801 warn javascript.0 (1877) at Object.<anonymous> (script.js.common.Mappe_1.Solar:5:4)
Mein Code sieht so aus...
const id1 = 'modbus.0.inputRegisters.30775_Wirkleistung_Gesamt'; const id2 = 'mqtt.0.ESP8266.Solar'; on(id1, function(dp) { // triggert bei Wertänderung setState(id2, dp.state.val, true); });
-
@feuer001-0 sagte in variable auslesen und in eine andere variable schreiben:
die ich aber nicht verstehe:
ich auch nicht, da eine Zeile vorher fehlt
Da muss der Fehler beschrieben sein, hier steht nur wo man suchen mussExistiert dp2? gleiche Schreibweise?
-
@feuer001-0 sagte:
16:59:16.801 warn javascript.0 (1877) at Object.<anonymous> (script.js.common.Mappe_1.Solar:5:4)
Ist der Datenpunkt neu erstellt und noch nicht im Javascript-Puffer? Dann starte mal die Javascript-Instanz neu.
const id2 = 'mqtt.0.ESP8266.Solar';
Soll der Wert and den ESP gesendet werden? Dann muss das true für Ack weggelassen werden:
setState(id2, dp.state.val);
-
@paul53
Javascript habe ich neu gestartet, auch wenn der Datenpunkt nicht neu ist.
Der ESP hat ein Display und ruft diesen Datenpunkt ab, was auch funktioniert wenn ich manuell etwas in den Datenpunkt eintrage.
Das ist alles was mir angezeigt wird.!?17:23:03.489 info javascript.0 (2948) Start javascript script.js.common.Mappe_1.Solar 17:23:03.554 info javascript.0 (2948) script.js.common.Mappe_1.Solar: registered 1 subscription and 0 schedules 17:23:08.115 warn javascript.0 (2948) at Object.<anonymous> (script.js.common.Mappe_1.Solar:5:4) 17:23:16.932 warn javascript.0 (2948) at Object.<anonymous> (script.js.common.Mappe_1.Solar:5:4) 17:23:18.079 info javascript.0 (2948) Stop script script.js.common.Mappe_1.Solar
Komisch ist auch das es vorher einmal lief und habe ich versucht in einen anderen Datenpunkt zu schreiben und das ging nicht und seitdem geht nix mehr. Hab auch schonmal den ganzen ioBroker neu gestartet, was aber auch nix gebracht hat.
-
@paul53
Es läuft wieder....
habe den Datenpunkt mal gelöscht und neu erstellt und siehe da es geht wieder!!
SUPER, nochmals vielen lieben dank!