Skip to content
  • Home
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Gelöst] [Blockly] Rollladen mit Lux wert fahren

NEWS

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    17
    1
    2.4k

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    13
    1
    966

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

[Gelöst] [Blockly] Rollladen mit Lux wert fahren

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
48 Beiträge 5 Kommentatoren 5.1k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • Homer.J.H Offline
    Homer.J.H Offline
    Homer.J.
    schrieb am zuletzt editiert von
    #13
    // -----------------------------------------------
    // 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"/*Sonnenstand.Helligkeitssensor*/,
        change: "ne",
        valLe: 4,
        oldValGt: 4,
        logic: "and"
    }, function (obj) {
        log("Sonnenstand unter 4 Lux: Fahre Jalousien runter.");
        Jalousie_runter();
    });
    
    // -----------------------------------------------
    // 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);
    
    }
    
    1 Antwort Letzte Antwort
    0
    • paul53P Offline
      paul53P Offline
      paul53
      schrieb am zuletzt editiert von
      #14

      @cvidal:

      ich möchte meine Rollos nur runterfahren und das ganze darf nur einmalig getriggert werden damit wenn ich nochmal hochfahre die Rollos dann nicht wieder runterfahren.

      Ich verstehe auch nicht warum ich mit der Variable "Jalousie runter" wenn sie wahr ist nicht den Trigger starten kann. `
      Man kann nicht auf eine Skriptvariable triggern, sondern nur auf einen Datenpunkt.
      @cvidal:

      Dieses Skript funktioniert leider überhaupt nicht, wüsste gerne warum das so ist. `
      Weil der Datenpunkt, der im 2. Teil als Trigger dient, nicht aktualisiert wird.

      Anstelle der Skriptvariablen Jalousie_runter verwende im 1. Teil den Datenpunkt "Rolladen_Hoch/Runter" mit dem der 2. Teil getriggert wird.

      on({id: 'hm-rpc.0.OEQ0228737.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.0.OEQ0228737.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.0.OEQ0228737.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
         }
      });
      

      Im 2. Teil muss auf Änderung getriggert werden, um wiederholtes Senden zu verhindern (duty cycle) und dann auf wahr geprüft werden.

      Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
      Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

      1 Antwort Letzte Antwort
      0
      • Homer.J.H Offline
        Homer.J.H Offline
        Homer.J.
        schrieb am zuletzt editiert von
        #15

        Hallo Paul,

        hab es auch so probiert wie du es beschrieben hast das script wird auch ausgelöst nur leider fahren die Jalousien nicht.

        Muss ich noch etwas anderes ändern. ?

        Grüße Steffen

        1 Antwort Letzte Antwort
        0
        • paul53P Offline
          paul53P Offline
          paul53
          schrieb am zuletzt editiert von
          #16

          @Homer1976:

          Muss ich noch etwas anderes ändern. ? `
          Poste bitte Dein Blockly und/oder den erzeugten Javascript (in Code tags ohne die letzte Zeile). Andernfalls kann ich nur Vermutungen anstellen.

          Auch einen Export immer in Spoiler <u>und</u> Code tags posten !

          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

          1 Antwort Letzte Antwort
          0
          • Homer.J.H Offline
            Homer.J.H Offline
            Homer.J.
            schrieb am zuletzt editiert von
            #17
            // -----------------------------------------------
            // 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);
            
            }
            
            1 Antwort Letzte Antwort
            0
            • Homer.J.H Offline
              Homer.J.H Offline
              Homer.J.
              schrieb am zuletzt editiert von
              #18

              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)

              1 Antwort Letzte Antwort
              0
              • paul53P Offline
                paul53P Offline
                paul53
                schrieb am zuletzt editiert von
                #19

                Die Funktion Jalousie_runter() wird nirgends aufgerufen. Es fehlt der Trigger mit dem Funktionsaufruf (als letztes im Skript):

                on('javascript.0.Rollladen_Hoch/Runter', function(dp) {
                   if(dp.state.val) Jalousie_runter();
                });
                

                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                1 Antwort Letzte Antwort
                0
                • paul53P Offline
                  paul53P Offline
                  paul53
                  schrieb am zuletzt editiert von
                  #20

                  @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.

                  Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                  Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                  1 Antwort Letzte Antwort
                  0
                  • Homer.J.H Offline
                    Homer.J.H Offline
                    Homer.J.
                    schrieb am zuletzt editiert von
                    #21
                    // 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();
                    });
                    
                       }
                    });
                    
                    
                    1 Antwort Letzte Antwort
                    0
                    • Homer.J.H Offline
                      Homer.J.H Offline
                      Homer.J.
                      schrieb am zuletzt editiert von
                      #22

                      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)

                      1 Antwort Letzte Antwort
                      0
                      • paul53P Offline
                        paul53P Offline
                        paul53
                        schrieb am zuletzt editiert von
                        #23

                        @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.

                        Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                        Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                        1 Antwort Letzte Antwort
                        0
                        • paul53P Offline
                          paul53P Offline
                          paul53
                          schrieb am zuletzt editiert von
                          #24

                          @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 !

                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                          1 Antwort Letzte Antwort
                          0
                          • Homer.J.H Offline
                            Homer.J.H Offline
                            Homer.J.
                            schrieb am zuletzt editiert von
                            #25

                            Für mich ist das alles absolutes Neuland nutze es erst 1 Monat.

                            Hab es jetzt mal so angepasst wie ich es jetzt verstanden habe.

                            Wenn es nicht passt nimm es mir nicht übel. :shock:

                            1 Antwort Letzte Antwort
                            0
                            • Homer.J.H Offline
                              Homer.J.H Offline
                              Homer.J.
                              schrieb am zuletzt editiert von
                              #26
                              // 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();
                              });
                              }
                              
                              1 Antwort Letzte Antwort
                              0
                              • paul53P Offline
                                paul53P Offline
                                paul53
                                schrieb am zuletzt editiert von
                                #27

                                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;
                                   }
                                });
                                
                                

                                Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                1 Antwort Letzte Antwort
                                0
                                • Homer.J.H Offline
                                  Homer.J.H Offline
                                  Homer.J.
                                  schrieb am zuletzt editiert von
                                  #28

                                  Hallo Paul,

                                  so wie als letztes beschrieben funktioniert es Klasse.

                                  Ich Danke Dir ein weiteres mal, auf dich ist wie immer Verlass.

                                  Wünsche Dir noch einen schönen Sonntag

                                  Grüße Steffen

                                  1 Antwort Letzte Antwort
                                  0
                                  • paul53P Offline
                                    paul53P Offline
                                    paul53
                                    schrieb am zuletzt editiert von
                                    #29

                                    @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();
                                    });
                                    
                                    

                                    Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                    Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                    1 Antwort Letzte Antwort
                                    0
                                    • Homer.J.H Offline
                                      Homer.J.H Offline
                                      Homer.J.
                                      schrieb am zuletzt editiert von
                                      #30

                                      Hab meine Velux Rollladen über einen HM-LC-Sw4-WM am laufen.

                                      Kann ich den als Schalter so stehen lassen. ?

                                      1 Antwort Letzte Antwort
                                      0
                                      • Homer.J.H Offline
                                        Homer.J.H Offline
                                        Homer.J.
                                        schrieb am zuletzt editiert von
                                        #31

                                        Hallo Paul,

                                        das Script löst jetzt bei jeder Aktualisierung des Helligkeitsensor immer wieder aus und die Aktoren schalten dann jedes mal.

                                        Gruß Steffen

                                        1 Antwort Letzte Antwort
                                        0
                                        • paul53P Offline
                                          paul53P Offline
                                          paul53
                                          schrieb am zuletzt editiert von
                                          #32

                                          @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.

                                          Bitte verzichtet auf Chat-Nachrichten, denn die Handhabung ist grauenhaft !
                                          Produktiv: RPi 2 mit S.USV, HM-MOD-RPI und SLC-USB-Stick mit root fs

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          752

                                          Online

                                          32.6k

                                          Benutzer

                                          82.2k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Home
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe