NEWS
Skript läuft aber ändert keine Werte
-
Hallo, hat einer eine Idee warum mein Skript nicht so läuft, wie es sollte?
Im Debug gibt es mir die Werte aus und sagt "SetState" macht er nicht weil er sich im debug befindet.
Aber normal sollte doch

so das Skript laufen und auf die Änderung des Datenpunktes (Passiert jede Minute) warten und dann loslaufen oder?Danke für Tipps!
on({id: "mqtt.0.alphaess..AE3100520060079", change: "any"}, function (obj) { ParseCommand(obj); }); function ParseCommand(obj) { let value = obj.state.val; let ErzeugungStrang1 = 0; let ErzeugungStrang2 = 0; let AkkuStand = 0; let AkkuLeistung = 0; let Phase1 = 0; let Phase2 = 0; let Phase3 = 0; let Phase1Last = 0; let Phase2Last = 0; let Phase3Last = 0; try { obj = JSON.parse(value); ErzeugungStrang1 = obj.ppv1; ErzeugungStrang2 = obj.ppv2; AkkuStand = obj.soc; AkkuLeistung = obj.pbat; Phase1 = obj.pmeter_l1; Phase2 = obj.pmeter_l2; Phase3 = obj.pmeter_l3; Phase1Last = obj.preal_l1; Phase2Last = obj.preal_l2; Phase3Last = obj.preal_l3; setState('0_userdata.0.Hass-PV.ErzeugungStrang1', ErzeugungStrang1); setState('0_userdata.0.Hass-PV.ErzeugungStrang2', ErzeugungStrang2); setState('0_userdata.0.Hass-PV.AkkuStand', AkkuStand); setState('0_userdata.0.Hass-PV.AkkuLeistung', AkkuLeistung); setState('0_userdata.0.Hass-PV.Phase1', Phase1); setState('0_userdata.0.Hass-PV.Phase2', Phase2); setState('0_userdata.0.Hass-PV.Phase3', Phase3); setState('0_userdata.0.Hass-PV.Phase1Last', Phase1Last); setState('0_userdata.0.Hass-PV.Phase2Last', Phase2Last); setState('0_userdata.0.Hass-PV.Phase3Last', Phase3Last); console.debug("ErzeugungStrang1: " + ErzeugungStrang1); console.debug("ErzeugungStrang2: " + ErzeugungStrang2); console.debug("AkkuStand: " + AkkuStand); console.debug("AkkuLeistung: " + AkkuLeistung); console.debug("Phase1: " + Phase1); console.debug("Phase2: " + Phase2); console.debug("Phase3: " + Phase3); console.debug("Phase1Last: " + Phase1Last); console.debug("Phase2Last: " + Phase2Last); console.debug("Phase3Last: " + Phase3Last); } catch (e) { return; } } -
Hallo, hat einer eine Idee warum mein Skript nicht so läuft, wie es sollte?
Im Debug gibt es mir die Werte aus und sagt "SetState" macht er nicht weil er sich im debug befindet.
Aber normal sollte doch

so das Skript laufen und auf die Änderung des Datenpunktes (Passiert jede Minute) warten und dann loslaufen oder?Danke für Tipps!
on({id: "mqtt.0.alphaess..AE3100520060079", change: "any"}, function (obj) { ParseCommand(obj); }); function ParseCommand(obj) { let value = obj.state.val; let ErzeugungStrang1 = 0; let ErzeugungStrang2 = 0; let AkkuStand = 0; let AkkuLeistung = 0; let Phase1 = 0; let Phase2 = 0; let Phase3 = 0; let Phase1Last = 0; let Phase2Last = 0; let Phase3Last = 0; try { obj = JSON.parse(value); ErzeugungStrang1 = obj.ppv1; ErzeugungStrang2 = obj.ppv2; AkkuStand = obj.soc; AkkuLeistung = obj.pbat; Phase1 = obj.pmeter_l1; Phase2 = obj.pmeter_l2; Phase3 = obj.pmeter_l3; Phase1Last = obj.preal_l1; Phase2Last = obj.preal_l2; Phase3Last = obj.preal_l3; setState('0_userdata.0.Hass-PV.ErzeugungStrang1', ErzeugungStrang1); setState('0_userdata.0.Hass-PV.ErzeugungStrang2', ErzeugungStrang2); setState('0_userdata.0.Hass-PV.AkkuStand', AkkuStand); setState('0_userdata.0.Hass-PV.AkkuLeistung', AkkuLeistung); setState('0_userdata.0.Hass-PV.Phase1', Phase1); setState('0_userdata.0.Hass-PV.Phase2', Phase2); setState('0_userdata.0.Hass-PV.Phase3', Phase3); setState('0_userdata.0.Hass-PV.Phase1Last', Phase1Last); setState('0_userdata.0.Hass-PV.Phase2Last', Phase2Last); setState('0_userdata.0.Hass-PV.Phase3Last', Phase3Last); console.debug("ErzeugungStrang1: " + ErzeugungStrang1); console.debug("ErzeugungStrang2: " + ErzeugungStrang2); console.debug("AkkuStand: " + AkkuStand); console.debug("AkkuLeistung: " + AkkuLeistung); console.debug("Phase1: " + Phase1); console.debug("Phase2: " + Phase2); console.debug("Phase3: " + Phase3); console.debug("Phase1Last: " + Phase1Last); console.debug("Phase2Last: " + Phase2Last); console.debug("Phase3Last: " + Phase3Last); } catch (e) { return; } } -
@terades sagte: sagt "SetState" macht er nicht weil er sich im debug befindet.
Debug-Modus rechts oben deaktivieren!
Hey! Du scheinst an dieser Unterhaltung interessiert zu sein, hast aber noch kein Konto.
Hast du es satt, bei jedem Besuch durch die gleichen Beiträge zu scrollen? Wenn du dich für ein Konto anmeldest, kommst du immer genau dorthin zurück, wo du zuvor warst, und kannst dich über neue Antworten benachrichtigen lassen (entweder per E-Mail oder Push-Benachrichtigung). Du kannst auch Lesezeichen speichern und Beiträge positiv bewerten, um anderen Community-Mitgliedern deine Wertschätzung zu zeigen.
Mit deinem Input könnte dieser Beitrag noch besser werden 💗
Registrieren Anmelden