NEWS
[Gelöst] [Blockly] Rollladen mit Lux wert fahren
-
// ----------------------------------------------- // Trigger // ----------------------------------------------- schedule({hour: 6, minute: 30}, function () { // werktags, kein Feiertag -> unten hoch if(!isWeekend() || getState("hm-rega.0.54978"/*Feiertag_heute*/).val === false) { log("Werktag, Kein Feiertag: Fahre Jalousie hoch"); Jalousie_unten_hoch(); } }); schedule({hour: 8, minute: 0}, function () { // wochenende oder Feiertag -> unten hoch if(isWeekend() || getState("hm-rega.0.54978"/*Feiertag_heute*/).val === true) { log("Wochende bzw. Feiertag: Fahre Jalousie hoch"); Jalousie_unten_hoch(); } }); schedule({hour: 6, minute: 30}, function () { // werktags, kein Urlaub, kein Feiertag, -> oben hoch if (!isWeekend() && getState("hm-rega.0.55182"/*Urlaub*/).val === false && getState("hm-rega.0.54978"/*Feiertag_heute*/).val === false) { log("Werktag, kein Urlaub, kein Feiertag: Fahre Jalousie hoch"); Jalousie_oben_hoch(); } }); schedule({hour: 8, minute: 0}, function () { // wochenende -> oben hoch if (isWeekend()) { log("Wochenende: Fahre Jalousie hoch"); Jalousie_oben_hoch(); } // Feiertag, werktags -> oben hoch if (!isWeekend() && getState("hm-rega.0.54978"/*Feiertag_heute*/).val === true) { log("Werktag, Feiertag: Fahre Jalousie hoch"); Jalousie_oben_hoch(); } // Urlaub, werktags -> oben hoch if (!isWeekend() && getState("hm-rega.0.55182"/*Urlaub*/).val === true) { log("Werktag, Urlaub: Fahre Jalousie hoch"); Jalousie_oben_hoch(); } }); // Bei Sonnenuntergang (kleiner 4 Lux) on({id: 'hm-rpc.1.NEQ0322210.1.LUX', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('*** Lux hat sich aktualisiert'); if (getState("hm-rpc.1.NEQ0322210.1.LUX").val < 4 ) { console.log('*** Jalousie runter auf wahr setzen'); setState('javascript.0.Rollladen_Hoch/Runter', true, true); // aktualisiere Rolladen_Hoch/Runter mit wahr } else if (getState("hm-rpc.1.NEQ0322210.1.LUX").val > 100) { console.log('*** Jalousie runter auf unwahr setzen'); setState('javascript.0.Rollladen_Hoch/Runter', false, true); // aktualisiere Rolladen_Hoch/Runter mit unwahr } }); // ----------------------------------------------- // Aktionen // ----------------------------------------------- function Jalousie_oben_hoch() { // Abbruch bei deaktivierter Automatik if (getState("hm-rega.0.55181"/*Jalousie Automatik*/).val === false) { return; } log("Jalousie oben hoch"); // Status setzen (Standard) lvJalBad = 100; lvJalFlur = 100; lvJalWohnrechts = 100; lvJalWohnlinks = 100; lvJalKueche = 100; // Status setzen (Ausnahmen) if (getState("javascript.0.Jalousie.Sonnenschutz"/*Jalousie.Sonnenschutz*/).val === true) { lvJalWohnrechts = 0; lvJalWohnlinks = 0; } // Ausführen setState("hm-rpc.1.MEQ0735410.1.LEVEL"/*Rollladen Badezimmer.LEVEL*/, lvJalBad); setState("hm-rpc.1.MEQ0735420.1.LEVEL"/*Rollladen Flur .LEVEL*/, lvJalFlur); setState("hm-rpc.1.MEQ0735434.1.LEVEL"/*Rollladen Wohnzimmer rechts .LEVEL*/, lvJalWohnrechts); setState("hm-rpc.1.MEQ0735459.1.LEVEL"/*Rollladen Wohnzimmer links .LEVEL*/, lvJalWohnlinks); setState("hm-rpc.1.MEQ0735469.1.LEVEL"/*Rollladen Fenster Küche .LEVEL*/, lvJalKueche); } function Jalousie_unten_hoch() { // Abbruch bei deaktivierter Automatik if (getState("hm-rega.0.55181"/*Jalousie Automatik*/).val === false) { return; } log("Jalousie unten hoch"); // Status setzen (Standard) lvJalKZ = 100; lvJalHWR = 100; lvJalBad = 100; lvJalFlur = 100; lvJalWohnrechts = 100; lvJalWohnlinks = 100; lvJalBalkontuer = 100; lvJalSZ = 100; lvJalKueche = 100; lvJalBadoben = 1; // Status setzen (Ausnahmen) if (getState("javascript.0.Jalousie.Sonnenschutz"/*Jalousie.Sonnenschutz*/).val === true) { lvJalWohnrechts = 40; lvJalWohnlinks = 40; if(getState("hm-rpc.2.0007D7099CF99C.1.STATE"/*Tür Flur.STATE*/).val == 2) { lvJalFlur = 60; } else { lvJalWohnrechts = 40; } lvJalWohnlinks = 40; } // Ausführen setState("hm-rpc.1.MEQ0735305.1.LEVEL"/*Rollladen Kinderzimmer .LEVEL*/, lvJalKZ); setState("hm-rpc.1.MEQ0735367.1.LEVEL"/*Rollladen Abstellraum .LEVEL*/, lvJalHWR); setState("hm-rpc.1.MEQ0735410.1.LEVEL"/*Rollladen Badezimmer.LEVEL*/, lvJalBad); setState("hm-rpc.1.MEQ0735420.1.LEVEL"/*Rollladen Flur .LEVEL*/, lvJalFlur); setState("hm-rpc.1.MEQ0735434.1.LEVEL"/*Rollladen Wohnzimmer rechts .LEVEL*/, lvJalWohnrechts); setState("hm-rpc.1.MEQ0735459.1.LEVEL"/*Rollladen Wohnzimmer links .LEVEL*/, lvJalWohnlinks); setState("hm-rpc.1.MEQ0735466.1.LEVEL"/*Rollladen Balkontür Küche .LEVEL*/, lvJalBalkontuer); setState("hm-rpc.1.MEQ0735467.1.LEVEL"/*Rollladen Schlafzimmer .LEVEL*/, lvJalSZ); setState("hm-rpc.1.MEQ0735469.1.LEVEL"/*Rollladen Fenster Küche .LEVEL*/, lvJalKueche); setState("hm-rpc.1.LEQ1211399.3.STATE"/*Rollladen Fenster Bad oben .STATE*/, lvJalBadoben); } function Jalousie_runter () { // Abbruch bei deaktivierter Automatik if (getState("hm-rega.0.55181"/*Jalousie Automatik*/).val === false) { return; } log("Jalousie runter"); // Status setzen (Standard) lvJalKZ = 0; lvJalHWR = 0; lvJalBad = 0; lvJalFlur = 0; lvJalWohnrechts = 0; lvJalWohnlinks = 0; lvJalBalkontuer = 0; lvJalSZ = 0; lvJalKueche = 0; lvJalBadoben = 1; // Status setzen (Ausnahmen) // Tür Flur Sperre (0 = geschlossen, 1 = gekippt, 2 = offen) if(getState("hm-rpc.2.0007D7099CF99C.1.STATE"/*Tür Flur.STATE*/).val == 2) { lvJalFlur = 100; } // Ausführen setState("hm-rpc.1.MEQ0735305.1.LEVEL"/*Rollladen Kinderzimmer .LEVEL*/, lvJalKZ); setState("hm-rpc.1.MEQ0735367.1.LEVEL"/*Rollladen Abstellraum .LEVEL*/, lvJalHWR); setState("hm-rpc.1.MEQ0735410.1.LEVEL"/*Rollladen Badezimmer .LEVEL*/, lvJalBad); setState("hm-rpc.1.MEQ0735420.1.LEVEL"/*Rollladen Flur .LEVEL*/, lvJalFlur); setState("hm-rpc.1.MEQ0735434.1.LEVEL"/*Rollladen Wohnzimmer rechts .LEVEL*/, lvJalWohnrechts); setState("hm-rpc.1.MEQ0735459.1.LEVEL"/*Rollladen Wohnzimmer links .LEVEL*/, lvJalWohnlinks); setState("hm-rpc.1.MEQ0735466.1.LEVEL"/*Rollladen Balkontür Küche .LEVEL*/, lvJalBalkontuer); setState("hm-rpc.1.MEQ0735467.1.LEVEL"/*Rollladen Schlafzimmer .LEVEL*/, lvJalSZ); setState("hm-rpc.1.MEQ0735469.1.LEVEL"/*Rollladen Fenster Küche .LEVEL*/, lvJalKueche); setState("hm-rpc.1.LEQ1211399.2.STATE"/*Rollladen Fenster Bad oben .STATE*/, lvJalBadoben); } -
Das ist dann die Ausgabe.
15:44:00.415
[info]
javascript.0 Stop script script.js.Rollladen_.Jalousien_ändern_script_Lux
15:44:00.442
[info]
javascript.0 Start javascript script.js.Rollladen_.Jalousien_ändern_script_Lux
15:44:00.443
[info]
javascript.0 script.js.Rollladen_.Jalousien_ändern_script_Lux: registered 1 subscription and 4 schedules
15:46:17.837
[info]
javascript.0 script.js.Rollladen_.Jalousien_ändern_script_Lux: *** Lux hat sich aktualisiert
15:48:51.619
[info]
javascript.0 script.js.Rollladen_.Jalousien_ändern_script_Lux: *** Lux hat sich aktualisiert
15:48:51.620
[info]
javascript.0 script.js.Rollladen_.Jalousien_ändern_script_Lux: *** Jalousie runter auf wahr setzen
15:48:51.621
[warn]
javascript.0 at Object. (script.js.Rollladen_.Jalousien_ändern_script_Lux:52:7)
-
@Homer1976:[warn]
javascript.0 at Object. (script.js.Rollladen_.Jalousien_ändern_script_Lux:52:7) `
Es wird das setState() in Zeile 52 angemeckert. Gibt es denn den Datenpunkt 'javascript.0.Rollladen_Hoch/Runter' vom Typ Logikwert (boolean) ?Es kann auch sein, dass der Schrägstrich in der ID stört.
-
// Bei Sonnenuntergang (kleiner 4 Lux) on({id: 'hm-rpc.1.NEQ0322210.1.LUX', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('*** Lux hat sich aktualisiert'); if (getState("hm-rpc.1.NEQ0322210.1.LUX").val < 4 ) { console.log('*** Jalousie runter auf wahr setzen'); setState('javascript.0.Rollladen_Hoch/Runter', true, true); // aktualisiere Rolladen_Hoch/Runter mit wahr } else if (getState("hm-rpc.1.NEQ0322210.1.LUX").val > 100) { console.log('*** Jalousie runter auf unwahr setzen'); setState('javascript.0.Rollladen_Hoch/Runter', false, true); // aktualisiere Rolladen_Hoch/Runter mit unwahr on('javascript.0.Rollladen_Hoch/Runter', function(dp) { if(dp.state.val) Jalousie_runter(); }); } }); -
Hab es jetzt so weiß nicht ob es jetzt so richtig ist.
Funktioniert noch nicht und das kommt in der Ausgabe.
16:03:27.379
[info]
javascript.0 script.js.Rollladen_.Jalousien_ändern_script_Lux: *** Lux hat sich aktualisiert
16:03:27.380
[info]
javascript.0 script.js.Rollladen_.Jalousien_ändern_script_Lux: *** Jalousie runter auf wahr setzen
16:03:27.380
[warn]
javascript.0 at Object. (script.js.Rollladen_.Jalousien_ändern_script_Lux:52:7)
-
@Homer1976:// Status setzen (Standard) lvJalBad = 100; lvJalFlur = 100; lvJalWohnrechts = 100; lvJalWohnlinks = 100; lvJalKueche = 100; ```` `Man sollte keine Variablen ohne das Schlüsselwort var deklarieren. Richtig:
// Status setzen (Standard) var lvJalBad = 100, lvJalFlur = 100, lvJalWohnrechts = 100, lvJalWohnlinks = 100, lvJalKueche = 100;Das gilt auch für die anderen Funktionen.
-
@Homer1976:setState('javascript.0.Rollladen_Hoch/Runter', false, true); // aktualisiere Rolladen_Hoch/Runter mit unwahr on('javascript.0.Rollladen_Hoch/Runter', function(dp) { if(dp.state.val) Jalousie_runter(); }); } }); ```` `Nein, den Trigger mit dem Funktionsaufruf ganz an das Ende des Skripts setzen !
-
// Bei Sonnenuntergang (kleiner 4 Lux) on({id: 'hm-rpc.1.NEQ0322210.1.LUX', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('*** Lux hat sich aktualisiert'); if (getState("hm-rpc.1.NEQ0322210.1.LUX").val < 4 ) { console.log('*** Jalousie runter auf wahr setzen'); setState('javascript.0.Rollladen_Hoch/Runter', true, true); // aktualisiere Rolladen_Hoch/Runter mit wahr } else if (getState("hm-rpc.1.NEQ0322210.1.LUX").val > 100) { console.log('*** Jalousie runter auf unwahr setzen'); setState('javascript.0.Rollladen_Hoch/Runter', false, true); // aktualisiere Rolladen_Hoch/Runter mit unwahr } }); // ----------------------------------------------- // Aktionen // ----------------------------------------------- function Jalousie_oben_hoch() { // Abbruch bei deaktivierter Automatik if (getState("hm-rega.0.55181"/*Jalousie Automatik*/).val === false) { return; } log("Jalousie oben hoch"); // Status setzen (Standard) var lvJalBad = 100; var lvJalFlur = 100; var lvJalWohnrechts = 100; var lvJalWohnlinks = 100; var lvJalKueche = 100; // Status setzen (Ausnahmen) if (getState("javascript.0.Jalousie.Sonnenschutz"/*Jalousie.Sonnenschutz*/).val === true) { lvJalWohnrechts = 0; lvJalWohnlinks = 0; } // Ausführen setState("hm-rpc.1.MEQ0735410.1.LEVEL"/*Rollladen Badezimmer.LEVEL*/, lvJalBad); setState("hm-rpc.1.MEQ0735420.1.LEVEL"/*Rollladen Flur .LEVEL*/, lvJalFlur); setState("hm-rpc.1.MEQ0735434.1.LEVEL"/*Rollladen Wohnzimmer rechts .LEVEL*/, lvJalWohnrechts); setState("hm-rpc.1.MEQ0735459.1.LEVEL"/*Rollladen Wohnzimmer links .LEVEL*/, lvJalWohnlinks); setState("hm-rpc.1.MEQ0735469.1.LEVEL"/*Rollladen Fenster Küche .LEVEL*/, lvJalKueche); } function Jalousie_unten_hoch() { // Abbruch bei deaktivierter Automatik if (getState("hm-rega.0.55181"/*Jalousie Automatik*/).val === false) { return; } log("Jalousie unten hoch"); // Status setzen (Standard) var lvJalKZ = 100; var lvJalHWR = 100; var lvJalBad = 100; var lvJalFlur = 100; var lvJalWohnrechts = 100; var lvJalWohnlinks = 100; var lvJalBalkontuer = 100; var lvJalSZ = 100; var lvJalKueche = 100; var lvJalBadoben = 1; // Status setzen (Ausnahmen) if (getState("javascript.0.Jalousie.Sonnenschutz"/*Jalousie.Sonnenschutz*/).val === true) { lvJalWohnrechts = 40; lvJalWohnlinks = 40; if(getState("hm-rpc.2.0007D7099CF99C.1.STATE"/*Tür Flur.STATE*/).val == 2) { lvJalFlur = 60; } else { lvJalWohnrechts = 40; } lvJalWohnlinks = 40; } // Ausführen setState("hm-rpc.1.MEQ0735305.1.LEVEL"/*Rollladen Kinderzimmer .LEVEL*/, lvJalKZ); setState("hm-rpc.1.MEQ0735367.1.LEVEL"/*Rollladen Abstellraum .LEVEL*/, lvJalHWR); setState("hm-rpc.1.MEQ0735410.1.LEVEL"/*Rollladen Badezimmer.LEVEL*/, lvJalBad); setState("hm-rpc.1.MEQ0735420.1.LEVEL"/*Rollladen Flur .LEVEL*/, lvJalFlur); setState("hm-rpc.1.MEQ0735434.1.LEVEL"/*Rollladen Wohnzimmer rechts .LEVEL*/, lvJalWohnrechts); setState("hm-rpc.1.MEQ0735459.1.LEVEL"/*Rollladen Wohnzimmer links .LEVEL*/, lvJalWohnlinks); setState("hm-rpc.1.MEQ0735466.1.LEVEL"/*Rollladen Balkontür Küche .LEVEL*/, lvJalBalkontuer); setState("hm-rpc.1.MEQ0735467.1.LEVEL"/*Rollladen Schlafzimmer .LEVEL*/, lvJalSZ); setState("hm-rpc.1.MEQ0735469.1.LEVEL"/*Rollladen Fenster Küche .LEVEL*/, lvJalKueche); setState("hm-rpc.1.LEQ1211399.3.STATE"/*Rollladen Fenster Bad oben .STATE*/, lvJalBadoben); } function Jalousie_runter () { // Abbruch bei deaktivierter Automatik if (getState("hm-rega.0.55181"/*Jalousie Automatik*/).val === false) { return; } log("Jalousie runter"); // Status setzen (Standard) var lvJalKZ = 0; var lvJalHWR = 0; var lvJalBad = 0; var lvJalFlur = 0; var lvJalWohnrechts = 0; var lvJalWohnlinks = 0; var lvJalBalkontuer = 0; var lvJalSZ = 0; var lvJalKueche = 0; var lvJalBadoben = 1; // Status setzen (Ausnahmen) // Tür Flur Sperre (0 = geschlossen, 1 = gekippt, 2 = offen) if(getState("hm-rpc.2.0007D7099CF99C.1.STATE"/*Tür Flur.STATE*/).val == 2) { lvJalFlur = 100; } // Ausführen setState("hm-rpc.1.MEQ0735305.1.LEVEL"/*Rollladen Kinderzimmer .LEVEL*/, lvJalKZ); setState("hm-rpc.1.MEQ0735367.1.LEVEL"/*Rollladen Abstellraum .LEVEL*/, lvJalHWR); setState("hm-rpc.1.MEQ0735410.1.LEVEL"/*Rollladen Badezimmer .LEVEL*/, lvJalBad); setState("hm-rpc.1.MEQ0735420.1.LEVEL"/*Rollladen Flur .LEVEL*/, lvJalFlur); setState("hm-rpc.1.MEQ0735434.1.LEVEL"/*Rollladen Wohnzimmer rechts .LEVEL*/, lvJalWohnrechts); setState("hm-rpc.1.MEQ0735459.1.LEVEL"/*Rollladen Wohnzimmer links .LEVEL*/, lvJalWohnlinks); setState("hm-rpc.1.MEQ0735466.1.LEVEL"/*Rollladen Balkontür Küche .LEVEL*/, lvJalBalkontuer); setState("hm-rpc.1.MEQ0735467.1.LEVEL"/*Rollladen Schlafzimmer .LEVEL*/, lvJalSZ); setState("hm-rpc.1.MEQ0735469.1.LEVEL"/*Rollladen Fenster Küche .LEVEL*/, lvJalKueche); setState("hm-rpc.1.LEQ1211399.2.STATE"/*Rollladen Fenster Bad oben .STATE*/, lvJalBadoben); on('javascript.0.Rollladen_Hoch/Runter', function(dp) { if(dp.state.val) Jalousie_runter(); }); } -
Oder mache es ohne den Datenpunkt 'javascript.0.Rollladen_Hoch/Runter', sondern mit einer Skriptvariablen Rollos_unten
// Bei Sonnenuntergang (kleiner 4 Lux) var Rollos_unten = false; on({id: 'hm-rpc.1.NEQ0322210.1.LUX', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('*** Lux hat sich aktualisiert'); if (getState("hm-rpc.1.NEQ0322210.1.LUX").val < 4 ) { console.log('*** Jalousie runter auf wahr setzen'); if(!Rollos_unten) Jalousie_runter(); // Funktionsaufruf zum Runterfahren der Rollos Rollos_unten = true; } else if (getState("hm-rpc.1.NEQ0322210.1.LUX").val > 100) { console.log('*** Jalousie runter auf unwahr setzen'); Rollos_unten = false; } }); -
@Homer1976:so wie als letztes beschrieben funktioniert es Klasse. `
Das freut mich für Dich.
@Homer1976:Wenn es nicht passt nimm es mir nicht übel. `
Warum sollte ich ? Jeder hat mal angefangen.
@Homer1976:setState("hm-rpc.1.LEQ1211399.2.STATE"/*Rollladen Fenster Bad oben .STATE*/, lvJalBadoben); on('javascript.0.Rollladen_Hoch/Runter', function(dp) { if(dp.state.val) Jalousie_runter(); }); } ```` `Für den Fall, dass es woanders gebraucht wird: Der Trigger muss außerhalb der Funktion, die aufgerufen wird, deklariert werden.
setState("hm-rpc.1.LEQ1211399.2.STATE"/*Rollladen Fenster Bad oben .STATE*/, lvJalBadoben); } // Ende der Funktion on('javascript.0.Rollladen_Hoch/Runter', function(dp) { if(dp.state.val) Jalousie_runter(); }); -
@Homer1976:das Script löst jetzt bei jeder Aktualisierung des Helligkeitsensor immer wieder aus und die Aktoren schalten dann jedes mal. `
Ganau das soll durch die Skriptvariable Rollos_unten verhindert werden, solange die Helligkeit nicht wieder über 100 steigt.if(!Rollos_unten) Jalousie_runter(); // Funktionsaufruf zum Runterfahren der Rollos Rollos_unten = true;Oder verwendest du die Variante mit dem Datenpunkt 'javascript.0.Rollladen_Hoch/Runter' ? Dann soll dies die Triggerung "bei Änderung" verhindern.
-
// Bei Sonnenuntergang (kleiner 4 Lux) var Rollos_unten = false; on({id: 'hm-rpc.1.NEQ0322210.1.LUX', change: "ne"}, function (obj) { var value = obj.state.val; var oldValue = obj.oldState.val; console.log('*** Lux hat sich aktualisiert'); if (getState("hm-rpc.1.NEQ0322210.1.LUX").val < 3 ) { console.log('*** Jalousie runter auf wahr setzen'); if(!Rollos_unten) Jalousie_runter(); // Funktionsaufruf zum Runterfahren der Rollos Rollos_runter = true; } else if (getState("hm-rpc.1.NEQ0322210.1.LUX").val > 100) { console.log('*** Jalousie runter auf unwahr setzen'); Rollos_unten = false; } }); // ----------------------------------------------- // Aktionen // ----------------------------------------------- function Jalousie_oben_hoch() { // Abbruch bei deaktivierter Automatik if (getState("hm-rega.0.55181"/*Jalousie Automatik*/).val === false) { return; } log("Jalousie oben hoch"); // Status setzen (Standard) var lvJalBad = 100; var lvJalFlur = 100; var lvJalWohnrechts = 100; var lvJalWohnlinks = 100; var lvJalKueche = 100; // Status setzen (Ausnahmen) if (getState("javascript.0.Jalousie.Sonnenschutz"/*Jalousie.Sonnenschutz*/).val === true) { lvJalWohnrechts = 0; lvJalWohnlinks = 0; } // Ausführen setState("hm-rpc.1.MEQ0735410.1.LEVEL"/*Rollladen Badezimmer.LEVEL*/, lvJalBad); setState("hm-rpc.1.MEQ0735420.1.LEVEL"/*Rollladen Flur .LEVEL*/, lvJalFlur); setState("hm-rpc.1.MEQ0735434.1.LEVEL"/*Rollladen Wohnzimmer rechts .LEVEL*/, lvJalWohnrechts); setState("hm-rpc.1.MEQ0735459.1.LEVEL"/*Rollladen Wohnzimmer links .LEVEL*/, lvJalWohnlinks); setState("hm-rpc.1.MEQ0735469.1.LEVEL"/*Rollladen Fenster Küche .LEVEL*/, lvJalKueche); } function Jalousie_unten_hoch() { // Abbruch bei deaktivierter Automatik if (getState("hm-rega.0.55181"/*Jalousie Automatik*/).val === false) { return; } log("Jalousie unten hoch"); // Status setzen (Standard) var lvJalKZ = 100; var lvJalHWR = 100; var lvJalBad = 100; var lvJalFlur = 100; var lvJalWohnrechts = 100; var lvJalWohnlinks = 100; var lvJalBalkontuer = 100; var lvJalSZ = 100; var lvJalKueche = 100; var lvJalBadoben = 1; // Status setzen (Ausnahmen) if (getState("javascript.0.Jalousie.Sonnenschutz"/*Jalousie.Sonnenschutz*/).val === true) { lvJalWohnrechts = 40; lvJalWohnlinks = 40; if(getState("hm-rpc.2.0007D7099CF99C.1.STATE"/*Tür Flur.STATE*/).val == 2) { lvJalFlur = 60; } else { lvJalWohnrechts = 40; } lvJalWohnlinks = 40; } // Ausführen setState("hm-rpc.1.MEQ0735305.1.LEVEL"/*Rollladen Kinderzimmer .LEVEL*/, lvJalKZ); setState("hm-rpc.1.MEQ0735367.1.LEVEL"/*Rollladen Abstellraum .LEVEL*/, lvJalHWR); setState("hm-rpc.1.MEQ0735410.1.LEVEL"/*Rollladen Badezimmer.LEVEL*/, lvJalBad); setState("hm-rpc.1.MEQ0735420.1.LEVEL"/*Rollladen Flur .LEVEL*/, lvJalFlur); setState("hm-rpc.1.MEQ0735434.1.LEVEL"/*Rollladen Wohnzimmer rechts .LEVEL*/, lvJalWohnrechts); setState("hm-rpc.1.MEQ0735459.1.LEVEL"/*Rollladen Wohnzimmer links .LEVEL*/, lvJalWohnlinks); setState("hm-rpc.1.MEQ0735466.1.LEVEL"/*Rollladen Balkontür Küche .LEVEL*/, lvJalBalkontuer); setState("hm-rpc.1.MEQ0735467.1.LEVEL"/*Rollladen Schlafzimmer .LEVEL*/, lvJalSZ); setState("hm-rpc.1.MEQ0735469.1.LEVEL"/*Rollladen Fenster Küche .LEVEL*/, lvJalKueche); setState("hm-rpc.1.LEQ1211399.3.STATE"/*Rollladen Fenster Bad oben .STATE*/, lvJalBadoben); } function Jalousie_runter () { // Abbruch bei deaktivierter Automatik if (getState("hm-rega.0.55181"/*Jalousie Automatik*/).val === false) { return; } log("Jalousie runter"); // Status setzen (Standard) var lvJalKZ = 0; var lvJalHWR = 0; var lvJalBad = 0; var lvJalFlur = 0; var lvJalWohnrechts = 0; var lvJalWohnlinks = 0; var lvJalBalkontuer = 0; var lvJalSZ = 0; var lvJalKueche = 0; var lvJalBadoben = 1; // Status setzen (Ausnahmen) // Tür Flur Sperre (0 = geschlossen, 1 = gekippt, 2 = offen) if(getState("hm-rpc.2.0007D7099CF99C.1.STATE"/*Tür Flur.STATE*/).val == 2) { lvJalFlur = 100; } // Ausführen setState("hm-rpc.1.MEQ0735305.1.LEVEL"/*Rollladen Kinderzimmer .LEVEL*/, lvJalKZ); setState("hm-rpc.1.MEQ0735367.1.LEVEL"/*Rollladen Abstellraum .LEVEL*/, lvJalHWR); setState("hm-rpc.1.MEQ0735410.1.LEVEL"/*Rollladen Badezimmer .LEVEL*/, lvJalBad); setState("hm-rpc.1.MEQ0735420.1.LEVEL"/*Rollladen Flur .LEVEL*/, lvJalFlur); setState("hm-rpc.1.MEQ0735434.1.LEVEL"/*Rollladen Wohnzimmer rechts .LEVEL*/, lvJalWohnrechts); setState("hm-rpc.1.MEQ0735459.1.LEVEL"/*Rollladen Wohnzimmer links .LEVEL*/, lvJalWohnlinks); setState("hm-rpc.1.MEQ0735466.1.LEVEL"/*Rollladen Balkontür Küche .LEVEL*/, lvJalBalkontuer); setState("hm-rpc.1.MEQ0735467.1.LEVEL"/*Rollladen Schlafzimmer .LEVEL*/, lvJalSZ); setState("hm-rpc.1.MEQ0735469.1.LEVEL"/*Rollladen Fenster Küche .LEVEL*/, lvJalKueche); setState("hm-rpc.1.LEQ1211399.2.STATE"/*Rollladen Fenster Bad oben .STATE*/, lvJalBadoben); } -
[code// Bei Sonnenuntergang (kleiner 4 Lux)
var Rollos_unten = false;
on({id: 'hm-rpc.1.NEQ0322210.1.LUX', change: "ne"}, function (obj) {
var value = obj.state.val;
var oldValue = obj.oldState.val;
console.log('*** Lux hat sich aktualisiert');
if (getState("hm-rpc.1.NEQ0322210.1.LUX").val < 3 ) {
console.log('*** Jalousie runter auf wahr setzen');
if(!Rollos_unten) Jalousie_runter(); // Funktionsaufruf zum Runterfahren der Rollos
Rollos_unten = true;
} else if (getState("hm-rpc.1.NEQ0322210.1.LUX").val > 100) {
console.log('*** Jalousie runter auf unwahr setzen');
Rollos_unten = false;
}
});
]
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