NEWS
else if Anweisung zur Steuerung einer Wallbox
-
Servus,
ich versuche mich gerade daran eine Überschussladung mit der PV und dem Go-e Charger zu programmieren. Wie ich beim Go-e die die Werte einstelle weiß ich inzwischen. Ich möchte jetzt aber gerne bei unterschiedlichen Werten unterschiedliche Werte an der Go-e übergeben. Ich hatte mir es so gedacht:
schedule("* * * * *", function () {
var pvleistung=getState("solarlog.0.status.pac").val;
if (pvleistung<1000) {
setState("mqtt.0.go-eCharger.000000.cmd.req", "amp=6");
} else if (pvleistung>1001) {
setState("mqtt.0.go-eCharger.000000.cmd.req", "amp=10")};
console.log(pvleistung);
});Jetzt soll noch ein 3 und 4. Wert einstellbar sein, also z.B.
schedule("* * * * *", function () {
var pvleistung=getState("solarlog.0.status.pac").val;
if (pvleistung<1000) {
setState("mqtt.0.go-eCharger.000000.cmd.req", "amp=6");
} else if (pvleistung>1001) {
setState("mqtt.0.go-eCharger.000000.cmd.req", "amp=10")};
} else if (pvleistung>2500) {
setState("mqtt.0.go-eCharger.000000.cmd.req", "amp=12")};
} else if (pvleistung>4000) {
setState("mqtt.0.go-eCharger.000000.cmd.req", "amp=16")};
});Leider funktioniert das so nicht, was mache ich falsch?
-
@funcarv3r sagte in else if Anweisung zur Steuerung einer Wallbox:
was mache ich falsch?
Wenn else if verwendet wird, hättest Du mit dem Vergleich ">" mit dem höchsten Wert anfangen müssen. Einfacher ist es mit Variable:
on("solarlog.0.status.pac", function (dp) { let pvleistung = dp.state.val; let amp = 6; if (pvleistung > 1000) amp = 10; if (pvleistung > 2500) amp = 12; if (pvleistung > 4000) amp = 16; setState("mqtt.0.go-eCharger.000000.cmd.req", "amp=" + amp); });
-
@paul53
und wie frage ich die Leistung minütlich ab? Die Änderungen erfolgen hier permanent und solle jede Minute abgefragt werden. -
@funcarv3r sagte:
wie frage ich die Leistung minütlich ab?
So wie Du es bereits gemacht hast.
schedule("* * * * *", function () { let pvleistung=getState("solarlog.0.status.pac").val;
-
@paul53
super, danke Dir... funktioniert ...