NEWS
HM Thermostat Modi abfragen
-
Hi,
ich sehe meinen Fehler nicht. Ich mochte abfragen ob alle meine Thermostate im Auto Modus sind, leider klappt die IF Abfrage nicht.
//*****************KONTROLLE MODUS****************************************** function modi() { if(eins&&zwei&&drei&&vier&&fuenf=="0") { setState("javascript.0.thermostate.auto", true); } else { setState("javascript.0.thermostate.auto", false); toLog('xxxxxxxxxxxxxx') } } //**************CONTROL MODE************** //Bad oben on({id: "hm-rpc.0.MEQ0447885.4.CONTROL_MODE"}, function() { eins = getState("hm-rpc.0.MEQ0447885.4.CONTROL_MODE").val; modi(); }); //Küche on({id: "hm-rpc.0.MEQ0447885.4.CONTROL_MODE"}, function() { zwei = getState("hm-rpc.0.MEQ0447885.4.CONTROL_MODE").val; modi(); }); //Lina on({id: "hm-rpc.0.MEQ0447699.4.CONTROL_MODE"}, function() { drei = getState("hm-rpc.0.MEQ0447699.4.CONTROL_MODE").val; modi(); }); //Stube on({id: "hm-rpc.0.MEQ0480054.2.CONTROL_MODE"}, function() { vier = getState("hm-rpc.0.MEQ0480054.2.CONTROL_MODE").val; modi(); }); //Vorbau on({id: "hm-rpc.0.MEQ0447728.4.CONTROL_MODE"}, function() { fuenf = getState("hm-rpc.0.MEQ0447728.4.CONTROL_MODE").val; modi(); });
Was auch festzustellen ist, die funktion wird rlativ häufig aufgerufen obwohl ich am Thermostat den Modus nicht ändere.
-
Die if-Konstruktion funktioniert nicht. Vesuche es mal so:
if(Math.max(eins, zwei, drei, vier, fuenf) == 0)
Anmerkung: Wenn der Wert des auslösenden Datenpunktes abgefragt werden soll, dann besser so:
on({id: "hm-rpc.0.MEQ0447885.4.CONTROL_MODE"}, function(dp) { eins = dp.newState.val; modi(); });
-
Anmerkung: Wenn der Wert des auslösenden Datenpunktes abgefragt werden soll, dann besser so:
on({id: "hm-rpc.0.MEQ0447885.4.CONTROL_MODE"}, function(dp) { eins = dp.newState.val; modi(); }); ```` `
Sorry,
das habe ich beim letzten mal schon gelernt. :roll: Habe hier noch den "alten" Müll rein kopiert.
Denn Rest werde ich morgen ausprobieren…
-
Die if-Konstruktion funktioniert nicht. Vesuche es mal so:
if(Math.max(eins, zwei, drei, vier, fuenf) == 0) ```` `
Doch noch schnell probiert, und mir die Math.max Methode? angeschaut. Klappt nicht so wirklich. Aus meiner Sicht gibt control.mode auch einen String zurück.?? :oops:
-
Aus meiner Sicht gibt control.mode auch einen String zurück.?? `
Nein, das ist eine Werteliste:var id = "hm-rpc.0.KEQ0909458.4.CONTROL_MODE"; var x = getState(id).val; log("CONTROL_MODE: " + x + " Typ: " + typeof x);
> javascript-0 2015-10-29 22:40:21 info script.js._Multistate-Test: CONTROL_MODE: 1 Typ: number
-
Okay. Vielen Dank.
Ich werde die nächsten Tage ausgiebig testen…