NEWS
getState - außerhalb einer Funktion
-
Hallo,
nachdem einige Shellys laufen, will ich mich doch mit der Gesamtsteuerung auseinandersetzen.
Programmierung ist für mich kein Fremdwort.
Bei Anderen Abgucken und dann Anpassen/Modifizieren ist also möglich ( Phyton Tcl/Tk )Der IoBroker (Ver v6.13.16) ist auf einem Raspberry installiert, Shelly als Adapter läuft.
Ich will aus einem Shelly EM3 die Werte für Phase 1 2 und 3 auslesen und weiterverarbeiten.
Aber ich scheitere anscheinend schon an den grundlegenden Sachen:Ich habe zur Weiterverarbeitung einen eigenen Datenpunkt 0_userdata.0.EM3.Phase1 erzeugt,
kann ihn auch mit setState beschreiben, komme aber nicht wieder an die Werte.
Lese ich die Werte mit der 1. Abfrage aus, bekomme ich auch die Inhalte.
Aber ich kann die Werte nicht außerhalb der Funktion verwenden.
Versuche ich dagegen getState direkt aufzurufen, blinken mich Errors an.Wer kann mir mal die Tür öffnen?????
sei x = 321;
sei y = 567
// Abfrage mit getState funktioniert hier
getState('0_userdata.0.EM3.Phase1', async (err, state) => {
//let x = state.val;
//console.log ({'Wert in der Schleife : ' : x});
sei x = Staat;
console.log({'Wert in der Schleife : ' : x});
});
console.log({"Wert von " :x});// so geht es nicht
y = getState('0_userdata.0.EM3.Phase1').val;
//y = $(('0_userdata.0.EM3.Phase1').val);console.log({"Wert ausserhalb Schleife " : y});
// set state funktioniert
setState('0_userdata.0.EM3.Phase1', 400);console.log("Ende");
Schon mal DANKE
-
@nachtfuchs-0
Nimm in der Konfiguration der JS-Instanz den Haken raus bei "Nicht alle Zustände bei Start abonnieren".Künftig bitte Javascript-Code und Log-Ausgaben in Code tags posten (copy & paste).
-
@paul53
DANKE, für diesen schei... Haken habe ich einen Tag am Kopf gekratzt.Danke für den Hinweis, dass bei späteren Problemen eher der Text als Bilder helfen.