Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Gelöst] [Blockly] Rollladen mit Lux wert fahren

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

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

    This topic has been deleted. Only users with topic management privileges can see it.
    • Homer.J.
      Homer.J. last edited by

      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 Reply Last reply Reply Quote 0
      • paul53
        paul53 last edited by

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

        1 Reply Last reply Reply Quote 0
        • Homer.J.
          Homer.J. last edited by

          // 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);
          
          }
          
          1 Reply Last reply Reply Quote 0
          • Homer.J.
            Homer.J. last edited by

            So ist es jetzt.

            1 Reply Last reply Reply Quote 0
            • paul53
              paul53 last edited by

              Da warst Du zu schnell: Ich hatte einen Fehler gepostet, den ich vielleicht 1 Minute später korrigiert habe: Zeile 11

                    Rollos_runter = true;
              

              ändern in

                    Rollos_unten = true;
              
              
              1 Reply Last reply Reply Quote 0
              • Homer.J.
                Homer.J. last edited by

                [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;

                }

                });

                ]

                1 Reply Last reply Reply Quote 0
                • Homer.J.
                  Homer.J. last edited by

                  Schaltet trotzdem. ?

                  1 Reply Last reply Reply Quote 0
                  • Homer.J.
                    Homer.J. last edited by

                    // 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;
                       }
                    });
                    
                    
                    1 Reply Last reply Reply Quote 0
                    • cvidal
                      cvidal Forum Testing last edited by

                      Ui jetzt habt ihr soviel in geschrieben leider kein Blockly Skript 😉 dann muss ich mal die Tage etwas Zeit investieren um es zu verstehen.

                      Gruß Christian

                      1 Reply Last reply Reply Quote 0
                      • paul53
                        paul53 last edited by

                        @Homer1976:

                        Schaltet trotzdem. ? `
                        Wirklich ? Dann logge mal die Skriptvariable mit:

                        // 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 ' + Rollos_unten);  // und Anzeige Variable
                           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;
                           }
                        });
                        
                        1 Reply Last reply Reply Quote 0
                        • Homer.J.
                          Homer.J. last edited by

                          Kommando zurück hab es nochmal neu gestartet mal die nächsten 2 Aktualisierungen abgewartet jetzt läuft es sauber durch fragt ab aber schaltet nicht. 😄

                          1 Reply Last reply Reply Quote 0
                          • paul53
                            paul53 last edited by

                            @Homer1976:

                            fragt ab aber schaltet nicht. `
                            Dann kannst Du noch überflüssige Sachen (die nur die CPU unnötig belasten) rauswerfen.

                            // Bei Sonnenuntergang (kleiner 4 Lux)
                            
                            var Rollos_unten = false;
                            
                            on({id: 'hm-rpc.1.NEQ0322210.1.LUX', change: "ne"}, function (obj) {
                            //   console.log('*** Lux hat sich aktualisiert ' + Rollos_unten);  // und Anzeige Variable
                               if (obj.state.val < 3 ) {
                            //      console.log('*** Jalousie runter auf wahr setzen');
                                  if(!Rollos_unten) Jalousie_runter();  // Funktionsaufruf zum Runterfahren der Rollos
                                  Rollos_unten = true;
                               } else if (obj.state.val > 100) {
                            //      console.log('*** Jalousie runter auf unwahr setzen');
                                  Rollos_unten = false;
                               }
                            });
                            
                            1 Reply Last reply Reply Quote 0
                            • Homer.J.
                              Homer.J. last edited by

                              Nun nochmal als ganzes so wie es dann auch super funktioniert.

                              Danke nochmal an Paul.

                              Ist echt ne super Sache mit ioBroker.

                              1 Reply Last reply Reply Quote 0
                              • Homer.J.
                                Homer.J. last edited by

                                // -----------------------------------------------
                                // 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: 9, minute: 0}, 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)
                                
                                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;
                                    }
                                });
                                
                                // -----------------------------------------------
                                // 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 = 100;
                                
                                    // 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.MEQ0735462.1.LEVEL"/*Rollladen Fenster Bad oben .Level*/, 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 = 0;
                                
                                    // 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.MEQ0735462.1.LEVEL"/*Rollladen Fenster Bad oben .Level*/, lvJalBadoben);
                                
                                }
                                
                                1 Reply Last reply Reply Quote 0
                                • G
                                  Gerni last edited by

                                  Und das jetzt noch als Blockly wäre geil! Hast Du das bei Dir als Blockly und kannst es zur Verfügung stellen?

                                  1 Reply Last reply Reply Quote 0
                                  • Homer.J.
                                    Homer.J. last edited by

                                    Nein nur als JavaScript.

                                    Komme mit Blockly irgendwie garnicht klar.

                                    Probier es einfach mal aus und pass es auf dich an.

                                    Grüße Steffen

                                    1 Reply Last reply Reply Quote 0
                                    • cvidal
                                      cvidal Forum Testing last edited by

                                      @Gerni:

                                      Und das jetzt noch als Blockly wäre geil! Hast Du das bei Dir als Blockly und kannst es zur Verfügung stellen? `

                                      Ich habe es jetzt am laufen,

                                      versuche es heute Abend hier zu posten.

                                      Gruß Christian

                                      1 Reply Last reply Reply Quote 0
                                      • cvidal
                                        cvidal Forum Testing last edited by

                                        So habe ich es jetzt mit Blockly,

                                        dazu habe ich einen Datenpunkt mit Javaskripte erstellt in dem ich <15lux runter und >100lux hoch schreibe.

                                        Versucht hatte ich mit dem "zustand erzeugen" Block diesen Datenpunkt zu erstellen aber das hat nicht funktioniert, leider weiß ich nicht warum.

                                        Hier das Javaskripte für den Datenpunkt:

                                        createState('javascript.0.MyStates.Jalousie_Status', '', {
                                            name: 'Jalousie hoch oder runter',
                                            type: 'string',
                                            unit: ''
                                        });
                                        
                                        //setState("javascript.0.MyStates.Jalousie_Status"/*Jalousie hoch oder runter*/;
                                        

                                        Nun das Blockly-skript:
                                        2113_unbenannt.png

                                        Der Export:

                                        ! <xml 1999/xmlns="<URL url=" http:/www.w3.org/xhtml"="">http://www.w3.org/1999/xhtml">
                                        ! <block type="on_ext" id="Qy)NGDj;^0l|=n9pQtz" x="-12901" y="-5946"><mutation items="1"></mutation>
                                        ! <field name="CONDITION">ne</field>
                                        ! <value name="OID0"><shadow type="field_oid" id="XX]zW,XnCfMsR@1e-]QT"><field name="oid">hm-rpc.0.OEQ0228737.1.LUX</field></shadow></value>
                                        ! <statement name="STATEMENT"><block type="controls_if" id="1#;l+h3bMm5r;~v2Hg{"><mutation elseif="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="ExR4=(g#kz(mefuPR9;L"><field name="OP">LT</field> ! <value name="A"><block type="get_value" id="0j7|SjOb[fPk9:g)!Z_e"><field name="ATTR">val</field> ! <field name="OID">hm-rpc.0.OEQ0228737.1.LUX</field></block></value> ! <value name="B"><block type="math_number" id="oXDnpKJS07R](Ht6K^-_"><field name="NUM">15</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="!TI0r^RJo[r*cP:VD:*w"><mutation delay_input="false"></mutation> ! <field name="OID">javascript.0.MyStates.Jalousie_Status</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="text" id="DQ%s6Gaz:%Y@H]puiF-K"><field name="TEXT">runter</field></block></value></block></statement> ! <value name="IF1"><block type="logic_compare" id="ACZ^rJN{kif/%*B5l@3Y"><field name="OP">GT</field> ! <value name="A"><block type="get_value" id="|+woi|3zU;Fd?Bb])At"><field name="ATTR">val</field>
                                        ! <field name="OID">hm-rpc.0.OEQ0228737.1.LUX</field></block></value>
                                        ! <value name="B"><block type="math_number" id="w/IFv8m%O?Nh}IbxPNsN"><field name="NUM">100</field></block></value></block></value>
                                        ! <statement name="DO1"><block type="control" id="DQX::X|fHEb={i
                                        14K^p"><mutation delay_input="false"></mutation>
                                        ! <field name="OID">javascript.0.MyStates.Jalousie_Status</field>
                                        ! <field name="WITH_DELAY">FALSE</field>
                                        ! <value name="VALUE"><block type="text" id="1-SmOP87*+!tlvrc*_tF"><field name="TEXT">hoch</field></block></value></block></statement></block></statement>
                                        ! <next><block type="on_ext" id="8O%AMJW8E#{uXTF_w86}"><mutation items="1"></mutation>
                                        ! <field name="CONDITION">ne</field>
                                        ! <value name="OID0"><shadow type="field_oid" id="HWM,#FD.z0b{|@COyKjg"><field name="oid">javascript.0.MyStates.Jalousie_Status</field></shadow></value>
                                        ! <statement name="STATEMENT"><block type="controls_if" id="=0bv?,bnXv41KN{-;Zm8"><value name="IF0"><block type="logic_compare" id="K;n*.?Sa|T?T*a8(KHr"><field name="OP">EQ</field>
                                        ! <value name="A"><block type="get_value" id="yw;jyN-6p|o@rH+2Jm^"><field name="ATTR">val</field> ! <field name="OID">javascript.0.MyStates.Jalousie_Status</field></block></value> ! <value name="B"><block type="text" id="7Y2D8]C0wP4Q9[U_I)mE"><field name="TEXT">runter</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="jui!FF];6UHJ8a:+OXwm"><mutation delay_input="false"></mutation> ! <field name="OID">knx.0.Beschattung_OG.Fahren.Eltern</field> ! <field name="WITH_DELAY">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="ewmyF|}A-q}%iOJe2Zbs"><field name="BOOL">TRUE</field></block></value> ! <next><block type="control" id="m+3u?zl2!x}zK~Q;TWQk"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_OG.Fahren.Kind_1</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">5000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="i8l6B%h![Mgnug(1QSS"><field name="BOOL">TRUE</field></block></value>
                                        ! <next><block type="control" id="2_d_cg~-S?L3|BS!P5"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_OG.Fahren.Kind_2</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">10000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="2F]owzO1Jc?_s%d!PG.I"><field name="BOOL">TRUE</field></block></value> ! <next><block type="control" id="mK,Hv~:d-vf_!L]d.wdd"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_OG.Fahren.Bad</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">15000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="L|ael2~.S/iz94i0BicW"><field name="BOOL">TRUE</field></block></value> ! <next><block type="control" id="ia=Pck@Q@z7c.I)Y]ZpM"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_OG.Fahren.Ankleide</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">20000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="hdTAG2t6%|yi!x?-MG#?"><field name="BOOL">TRUE</field></block></value> ! <next><block type="control" id="Zb:79y,H1*xA@NFZFj"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_EG.Fahren.Gäste_WC</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">25000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="?!@Ot6?.BGT#;jMS.|or"><field name="BOOL">TRUE</field></block></value> ! <next><block type="control" id="_5z0qL:LtZ}M{5DK(FfJ"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_EG.Fahren.Küche_2</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">30000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id=":0M(r#I6;iFzmB-XM#~;"><field name="BOOL">TRUE</field></block></value> ! <next><block type="control" id="I1A+4S5je]R[?ie0a*8G"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_EG.Fahren.Esszimmer</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">40000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="U@QVbC~xGj;zQ8/5^h]"><field name="BOOL">TRUE</field></block></value>
                                        ! <next><block type="control" id="1#u-5PpIlksaJi#.5(c"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_EG.Fahren.Wohnzimmer_1</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">45000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="2OM[W!=QgW|];%)TDc|P"><field name="BOOL">TRUE</field></block></value> ! <next><block type="controls_if" id="qSkhJm!w{pKeYe!t+XVP"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="3fJ5nPi8+9@,OvjI!K]m"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="?ALnR0yk}Jo@r1J-;{l"><field name="ATTR">val</field>
                                        ! <field name="OID">hm-rpc.0.NEQ1157343.1.STATE</field></block></value>
                                        ! <value name="B"><block type="logic_boolean" id="[hz3Be3t
                                        ~.D{bZAbJ.@"><field name="BOOL">FALSE</field></block></value></block></value>
                                        ! <statement name="DO0"><block type="control" id=",TS1])j/1%=}1x*:dlw"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_EG.Fahren.HWR</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">55000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="E!S?z%fT9UR{@6ONBNBO"><field name="BOOL">TRUE</field></block></value></block></statement> ! <statement name="ELSE"><block type="control" id="1aBFrX/ce}pd6Ggb6NSN"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_EG.Position_Anfahren.HWR</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">55000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="math_number" id="LiH]U*=v[L7gI5DGq6g~"><field name="NUM">50</field></block></value></block></statement> ! <next><block type="controls_if" id=")EkSA1:qL6(Jlx,hN9(3"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="++Z[W?qc][#(zkyR=1A_"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id="F*ZtU|U-OS%K8n7xnpeQ"><field name="ATTR">val</field> ! <field name="OID">hm-rpc.0.OEQ0226002.1.STATE</field></block></value> ! <value name="B"><block type="logic_boolean" id="7z#-|=mEf~%ig;s^zZF9"><field name="BOOL">FALSE</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="G%K3qBRXJ5|Wz7L8DO!Q"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_EG.Fahren.Wohnzimmer_2</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">50000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="logic_boolean" id="e|.fcmrvNL;[FM8jjN{0"><field name="BOOL">TRUE</field></block></value></block></statement> ! <statement name="ELSE"><block type="control" id="Z[^k%KwS{F]6#VpDKFLS"><mutation delay_input="true"></mutation> ! <field name="OID">knx.0.Beschattung_EG.Position_Anfahren.Wohnzimmer_2</field> ! <field name="WITH_DELAY">TRUE</field> ! <field name="DELAY_MS">50000</field> ! <field name="UNIT">ms</field> ! <field name="CLEAR_RUNNING">FALSE</field> ! <value name="VALUE"><block type="math_number" id="|I[/ln,BpZciU*[|YNjV"><field name="NUM">50</field></block></value></block></statement> ! <next><block type="controls_if" id="Fi~vZ;V;FgcKhcCh#KDN"><mutation else="1"></mutation> ! <value name="IF0"><block type="logic_compare" id="/2dxC=ZE@;*I=F9_2C58"><field name="OP">EQ</field> ! <value name="A"><block type="get_value" id=";++-VZ;WQ;x2.({x/3I."><field name="ATTR">val</field> ! <field name="OID">hm-rpc.0.OEQ0420807.1.STATE</field></block></value> ! <value name="B"><block type="logic_boolean" id="R%~P4*^9u2e|FCM@QES."><field name="BOOL">FALSE</field></block></value></block></value> ! <statement name="DO0"><block type="control" id="=xU2S{VmQ[#tFQ!;C9-"><mutation delay_input="true"></mutation>
                                        ! <field name="OID">knx.0.Beschattung_EG.Fahren.Küche_1</field>
                                        ! <field name="WITH_DELAY">TRUE</field>
                                        ! <field name="DELAY_MS">35000</field>
                                        ! <field name="UNIT">ms</field>
                                        ! <field name="CLEAR_RUNNING">FALSE</field>
                                        ! <value name="VALUE"><block type="logic_boolean" id="oHDzGa)khN?GZU7-5R/"><field name="BOOL">TRUE</field></block></value></block></statement> ! <statement name="ELSE"><block type="control" id="1{qV!z=XH@4
                                        .4wKj5M"><mutation delay_input="true"></mutation>
                                        ! <field name="OID">knx.0.Beschattung_EG.Position_Anfahren.Küche_1</field>
                                        ! <field name="WITH_DELAY">TRUE</field>
                                        ! <field name="DELAY_MS">35000</field>
                                        ! <field name="UNIT">ms</field>
                                        ! <field name="CLEAR_RUNNING">FALSE</field>
                                        ! <value name="VALUE"><block type="math_number" id="zI)T0c~zV1L%SpgTZ93?"><field name="NUM">50</field></block></value></block></statement></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></statement></block></next></block></xml>

                                        Der Code:

                                        ! on({id: 'hm-rpc.0.OEQ0228737.1.LUX', change: "ne"}, function (obj) {
                                        ! var value = obj.state.val;
                                        ! var oldValue = obj.oldState.val;
                                        ! if (getState("hm-rpc.0.OEQ0228737.1.LUX").val < 15) {
                                        ! setState("javascript.0.MyStates.Jalousie_Status"/Jalousie hoch oder runter/, 'runter');
                                        ! } else if (getState("hm-rpc.0.OEQ0228737.1.LUX").val > 100) {
                                        ! setState("javascript.0.MyStates.Jalousie_Status"/Jalousie hoch oder runter/, 'hoch');
                                        ! }
                                        ! });
                                        ! on({id: 'javascript.0.MyStates.Jalousie_Status', change: "ne"}, function (obj) {
                                        ! var value = obj.state.val;
                                        ! var oldValue = obj.oldState.val;
                                        ! if (getState("javascript.0.MyStates.Jalousie_Status").val == 'runter') {
                                        ! setState("knx.0.Beschattung_OG.Fahren.Eltern"/Eltern/, true);
                                        ! setStateDelayed("knx.0.Beschattung_OG.Fahren.Kind_1"/Kind 1/, true, 5000, false);
                                        ! setStateDelayed("knx.0.Beschattung_OG.Fahren.Kind_2"/Kind 2/, true, 10000, false);
                                        ! setStateDelayed("knx.0.Beschattung_OG.Fahren.Bad"/Bad/, true, 15000, false);
                                        ! setStateDelayed("knx.0.Beschattung_OG.Fahren.Ankleide"/Ankleide/, true, 20000, false);
                                        ! setStateDelayed("knx.0.Beschattung_EG.Fahren.Gäste_WC"/Gäste WC/, true, 25000, false);
                                        ! setStateDelayed("knx.0.Beschattung_EG.Fahren.Küche_2"/Küche 2/, true, 30000, false);
                                        ! setStateDelayed("knx.0.Beschattung_EG.Fahren.Esszimmer"/Esszimmer/, true, 40000, false);
                                        ! setStateDelayed("knx.0.Beschattung_EG.Fahren.Wohnzimmer_1"/Wohnzimmer 1/, true, 45000, false);
                                        ! if (getState("hm-rpc.0.NEQ1157343.1.STATE").val == false) {
                                        ! setStateDelayed("knx.0.Beschattung_EG.Fahren.HWR"/HWR/, true, 55000, false);
                                        ! } else {
                                        ! setStateDelayed("knx.0.Beschattung_EG.Position_Anfahren.HWR"/HWR/, 50, 55000, false);
                                        ! }
                                        ! if (getState("hm-rpc.0.OEQ0226002.1.STATE").val == false) {
                                        ! setStateDelayed("knx.0.Beschattung_EG.Fahren.Wohnzimmer_2"/Wohnzimmer 2/, true, 50000, false);
                                        ! } else {
                                        ! setStateDelayed("knx.0.Beschattung_EG.Position_Anfahren.Wohnzimmer_2"/Wohnzimmer 2/, 50, 50000, false);
                                        ! }
                                        ! if (getState("hm-rpc.0.OEQ0420807.1.STATE").val == false) {
                                        ! setStateDelayed("knx.0.Beschattung_EG.Fahren.Küche_1"/Küche 1/, true, 35000, false);
                                        ! } else {
                                        ! setStateDelayed("knx.0.Beschattung_EG.Position_Anfahren.Küche_1"/Küche 1/, 50, 35000, false);
                                        ! }
                                        ! }
                                        ! });

                                        Gruß Christian

                                        1 Reply Last reply Reply Quote 0
                                        • First post
                                          Last post

                                        Support us

                                        ioBroker
                                        Community Adapters
                                        Donate

                                        411
                                        Online

                                        31.9k
                                        Users

                                        80.2k
                                        Topics

                                        1.3m
                                        Posts

                                        5
                                        48
                                        3826
                                        Loading More Posts
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        Community
                                        Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                        The ioBroker Community 2014-2023
                                        logo