NEWS
Heizungssteuerung zeitabhängig
-
Möchte in einem Skript abfragen ob eine Variable einen Wert 1 hat und dies dem angegebenen Zeitfenster entspricht.
Leider funktioniert es nicht, denke mal getState(Ka).val === 1 passt nicht aber komm nicht weiter. Hat einer ne Idee?
//schreibe den Wert in die variable Ka var Ka = getState("javascript.1.Heizung.Temperaturkategorie").val; log("---> Temperaturkategorie " + Ka,"info"); //frage ab ob der Wert Ka dem Wert 1 entspricht und im Zeitfenster liegt if (getState(Ka).val === 1 && isTimeInRange('21:00:00', '24:00:00')) setState('javascript.1.Heizung.Willy_Soll"/*Heizung.Willy_Soll*/', willye); log("---> Willy Soll gesetzt (21-24 Uhr) auf " + willyg + " ° Grad","info"); -
//schreibe den Wert in die variable Ka var Ka = getState("javascript.1.Heizung.Temperaturkategorie").val; log("---> Temperaturkategorie " + Ka); //frage ab ob der Wert Ka dem Wert 1 entspricht und im Zeitfenster liegt if (Ka == 1 && isTimeInRange('21:00:00', '24:00:00')) setState('javascript.1.Heizung.Willy_Soll'/*Heizung.Willy_Soll*/, willye); log("---> Willy Soll gesetzt (21-24 Uhr) auf " + willyg + " ° Grad","info"); ...–----------------
Fehler:
getState(Ka).val === 1
Muss
Ka == 1
Mann kann auch Ka === 1 lassen, wenn du sicher bist, dass Ka den Typ "number" hat.
–---------------
Fehler:
setState('javascript.1.Heizung.Willy_Soll"/Heizung.Willy_Soll/', willye);
Muss
setState('javascript.1.Heizung.Willy_Soll'/Heizung.Willy_Soll/, willye);
Es wird versucht die Variable 'javascript.1.Heizung.Willy_Soll"/Heizung.Willy_Soll/' zu setzen, du willst aber vermutlich 'javascript.1.Heizung.Willy_Soll'
-
Dem kann ich nur zu stimmen.
Eine Anfänger Frage… Macht es einen unterschied, ob man' oder " benutzt? Ich denke nicht. Oder?
-
Dem kann ich nur zu stimmen.
Eine Anfänger Frage… Macht es einen unterschied, ob man' oder " benutzt? Ich denke nicht. Oder? `
Kein Unterschied. -
Danke für die Infos.
hab nun folgende Problem:
Mein Skript sieht so aus
if (isTimeInRange('21:00:00', '24:00:00')); setState('javascript.1.Heizung.Willy_Soll', willyg); log("---> Willy Soll gesetzt (21-24 Uhr) auf " + willyg + " ° Grad","info");Ich erhalte aber im Log den folgenden Fehler. IsTime gane sei nicht definiert, Was mach ich da falsch?
javascript.1 2015-10-16 23:01:00 error uncaught exception: isTimeInRange is not definedNehme ich die If Bedinung raus dann gehts.
setState('javascript.1.Heizung.Willy_Soll', willyg); log("---> Willy Soll gesetzt (21-24 Uhr) auf " + willyg + " ° Grad","info");Sprich so wie ich es verstehe kann er die Zeitraumsangabe von bis nicht lesen - zuordnen.
-
Ich denke du hast isTimeInRange nicht als variable bzw Funktion deklarierte.
Schau dir das an…http://forum.iobroker.de/viewtopic.php? ... imeinrange
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