Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Rolladen Script für Javascript Adapter

    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

    Rolladen Script für Javascript Adapter

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

      Bei mir sieht die Rolladengeschichte folgendermassen aus:

      1. Hilfsscript:

      rechnet alle 2 Miunten die Sonnenposition

      2. Hilfsscript:

      rechnet über den Sonnenwinkel von Hilfsscript 1 ob beim jeweiligen Rolladen Beschattet werden muss oder nicht

      3. Hilfsscript:

      rechnet alle 2 Minuten die Zeit vor Sonneuntergang und Sonnenaufgang

      Für jeden Rolladen gibt es folgende Scripte

      1. Rolladen Ab, wenn Beschattung true und kein Feueralarm und Raumtemp über soll

      2. Rolladen Auf, wenn Beschattung false (nur wenn bei Regen Fenster zu ist)

      3. Rolladen Auf, wenn Fenster auf gemacht wird

      4. Rolladen au, wenn Feueralarm ausgelöst ist

      5. Rolladen ab, wenn Regen und Fenster ist offen

      6. Rolladen ab, wenn gewünschte Minuten vor Sonnenuntergang erreicht

      7. Rolladen auf, wenn gewünschte Minuten vor Sonnenaufgang erreicht

      8. Rolladen ab, wenn niemand Zuhause ist und Fenster offen ist (kann eigentlich nicht vorkommen)

      9. Rolladen ab bei Morgendämmerung (wenn m Schlafzimmer das Fenster auf ist)

      Das wäre es glaub ich

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

                var lZeitfensterMorgen = false;
                var lZeitfensterAbend = false;
                if (nowIsBetween(gMorgenDaemmBegin.val, gMorgenDaemmEnde.val)) {
                    var lZeitfensterMorgen = true;
                }
                if (nowIsBetween(gAbendDaemmBeginn.val, gAbendDaemmEnde.val)) {
                    var lZeitfensterAbend = true;
                }
        
        

        die Sonnenzeiten werden aus Datenpunkten geholt die einmal täglich ermittelt werden. Für solche DInge läuft bei mir ein eigener Adapter "MyGenerals".

            gMorgenDaemmBegin        = getState("mygenerals.0.1_SonnenaufgangStart");
            gMorgenDaemmEnde         = getState("mygenerals.0.3_SonnenaufgangEnde");
            gAbendDaemmBeginn        = getState("mygenerals.0.4_SonnenuntergangStart");
            gAbendDaemmEnde          = getState("mygenerals.0.6_SonnenuntergangEnde");
        
        

        Ich muss jetzt leider für 2 Tage auf Geschäftsreise, aber gerne mehr wenn ich zurück bin.

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

          Ja Prima,

          ich stricke mal fleißig weiter…

          Mich würde noch interessieren mit was ihr die Routine einleitet, bzw. was ihr alsTriggersignal verwendet um die ganzen if Bedingungen einzusammeln und den Rolladen zu steuern..... ( on({id: )

          Aktuell ist der stand siehe unten... damit triggere ich auf die Helligkeit, was das Script natürlich bei jeder Aktualisierung loslaufen lässt..Und das passiert alle 4x6min(Setup vom Sensor)

          Besser wäre natürlich, wenn das nur während isTimeInRange stattfinden würde, wie von euch bereits angemerkt.... Dazu fehllt mir gerade die Fantasie...

          //Automatik Block für Rolladen Gaeste WC runter
          on({id: 'hm-rpc.0.PEQ0XXXX.1.BRIGHTNESS', change: "ne"}, function (obj) {
             	var Helligkeit = obj.state.val;
          	var BehanghoeheGaesteWC = getState('hm-rpc.0.OEQXXXXXX.1.LEVEL').val;
          	var AutomatikGesamt = getState('javascript.0.Rolladen.Gesamt.Automatik').val;
          	var AutomatikGaesteWC = getState('javascript.0.Rolladen.GaesteWC.Automatik').val;
          	var Brand = getState ('javascript.0.Status.Brandmelder.Anzahl_melden_Brand').val;
          	var Alarm = getState('javascript.0.alarm.out.alarm_intern').val;
          		if (Helligkeit <=40 && BehanghoeheGaesteWC >= 1 && AutomatikGesamt === true && AutomatikGaesteWC === true && Brand === 0 && Alarm === false && isTimeInRange('18:30:00', '23:00:00')) {
                      setStateDelayed('hm-rpc.0.OEQ13xxxxx.1.LEVEL', 0, 1000);
                      if('hm-rpc.0.OEQ1xxxxx.1.LEVEL', 0);
                      console.log('Rolladen Gaeste WC geschlossen'); 
          	}
          });
          
          1 Reply Last reply Reply Quote 0
          • smartboart
            smartboart last edited by

            Wenn ich nur morgens und abends ein shedule laufen lassen möchte, z.B für dieses Rolladen Programm kann man das dann so machen? siehe Script unten…

            Liber würde ich anstatt TimeInRange ein Zeitfenster anhand von astro definieren, wie oben von htrecksler geschrieben...Z.B

            1h vor sunrise - 1h nach sunriseEnd

            1h vor sunsetStart - 1h nach sunset

            Habe hier im Forum unter

            viewtopic.php?f=21&t=4053&p=161095#p161095

            dieses Script von Paul53 gefunden und entsprechend abgeändert.

            Frage ist nun ob es denn so Lauffähig wäre? oder besser wie man

            1h vor sunrise - 1h nach sunriseEnd

            1h vor sunsetStart - 1h nach sunset

            integriert...

            var timer = null;
            
            function myFunction() {
                      // Mein eigentliches Programm
            }
            
            schedule({isTimeInRange('18:30:00', '23:00:00'))}, function () {
              if(timer) clearSchedule(timer);
              timer = schedule("*/1 * * * *", myFunction);
            });
            
            schedule({isTimeInRange('06:30:00', '10:00:00'))}, function () {
              if(timer) clearSchedule(timer);
              timer = schedule("*/1 * * * *", myFunction);
            });
            
            // Script start
            if(isTimeInRange('10:00:00', '18:30:00')) timer = null
            else timer = schedule("*/1 * * * *", myFunction);
            
            1 Reply Last reply Reply Quote 0
            • smartboart
              smartboart last edited by

              So teile mal mein Script wie ich es nun mit einem Rolladen im Gäste WV verproben werde.

              1 Block für Automatik auf Gäste WC

              1Block für Automatik zu Gaeste WC

              1 Block für zu bei hohen Temperaturen Gaeste WC

              1 Block für alle Rolläden zu bei Sturm

              1 Block für alle Rolläden hoch bei Feuer

              1 Block für Rolladen Kellertreppe hoch bei Feuer

              Alle Rolläden hoch bei Alarm habe ich in der Alarmanlage integriert…

              Das geht bestimmt alles schöner und Resourcenschonender, aber fürs erste Selbstgebaute .... Vorhanden Scripte umstricken ist kein Problem. Habe aber nix gefunden , deshalb hier meine Gehversuche....

              //Rolladen Script
              
              //States für Manuell und Automatik Vorwahl in Vis
              createState('javascript.0.Rolladen.Gesamt.Automatik', '');
              createState('javascript.0.Rolladen.GaesteWC.Automatik', '');
              createState('javascript.0.Rolladen.Kueche.Automatik', '');
              createState('javascript.0.Rolladen.Speisekammer.Automatik', '');
              createState('javascript.0.Rolladen.Esstisch.Automatik', '');
              createState('javascript.0.Rolladen.CouchLinks.Automatik', '');
              createState('javascript.0.Rolladen.CouchMitte.Automatik', '');
              createState('javascript.0.Rolladen.CouchRechts.Automatik', '');
              createState('javascript.0.Rolladen.Terassentuer.Automatik', '');
              createState('javascript.0.Rolladen.Schlafzimmer.Automatik', '');
              createState('javascript.0.Rolladen.Bad.Automatik', '');
              createState('javascript.0.Rolladen.Buero.Automatik', '');
              createState('javascript.0.Rolladen.Ankleidezimmer.Automatik', '');
              
              //Automatik Block für Rolladen Gaeste WC runter
              on({id: 'jhm-rpc.0.PEQXXXX.1.BRIGHTNESS'} , function(obj){
                     var ZeitfensterAbend = obj.state.val;
              	var Helligkeit = getState ('hm-rpc.0.PEQXXXX.1.BRIGHTNESS').val;
              	var BehanghoeheGaesteWC = getState('hm-rpc.0.OEQXXXX.1.LEVEL').val;
              	var AutomatikGesamt = getState('javascript.0.Rolladen.Gesamt.Automatik').val;
              	var AutomatikGaesteWC = getState('javascript.0.Rolladen.GaesteWC.Automatik').val;
              	var Brand = getState ('javascript.0.Status.Brandmelder.Anzahl_melden_Brand').val;
              	var Alarm = getState('javascript.0.alarm.out.alarm_intern').val;
              		if (ZeitfensterAbend === true && Helligkeit <=40 && BehanghoeheGaesteWC >= 1 && AutomatikGesamt === true && AutomatikGaesteWC === true && Brand === 0 && Alarm === false) {
                          setStateDelayed('hm-rpc.0.OEQXXXX.1.LEVEL', 0, 1000);
                          if('hm-rpc.0.OEQXXXX.1.LEVEL', 0);
                          console.log('Rolladen Gaeste WC geschlossen'); 
              	}
              });
              
              //Automatik Block für Rolladen Gaeste WC hoch	
              on({id: 'hm-rpc.0.PEQXXXX.1.BRIGHTNESS' }, function(obj){
              	var ZeitfensterMorgen = obj.state.val;
                      var Helligkeit = getState ('hm-rpc.0.PEQXXXX.1.BRIGHTNESS').val;
              	var BehanghoeheGaesteWC = getState('hm-rpc.0.OEQXXXX.1.LEVEL').val;
              	var AutomatikGesamt = getState('javascript.0.Rolladen.Gesamt.Automatik').val;
              	var AutomatikGaesteWC = getState('javascript.0.Rolladen.GaesteWC.Automatik').val;
              		if (ZeitfensterMorgen === true && Helligkeit >60 && BehanghoeheGaesteWC <= 95 && AutomatikGesamt === true && AutomatikGaesteWC === true )) {
              	setStateDelayed('hm-rpc.0.OEQXXXX.1.LEVEL', 100, 1000);
                          if('hm-rpc.0.OEQXXXX.1.LEVEL', 100);
                          console.log('Rolladen Gaeste WC geöffnet');
                  }	
              });
              
              //Automatik Block für Rolladen Gaeste WC runter bei hohen Temperaturen
              on({id: 'Temp aussen eintragen' }, function(obj){
              	var ZeitfensterMittag = obj.state.val;
              	var Helligkeit = getState ('hm-rpc.0.PEQXXXX.1.BRIGHTNESS').val;
              	var RaumTemp = getState ('ID Raum Tempsensor eintragen').val; 
              	var TempAussen = getState ('ID  Tempsensor Aussen eintragen').val; 
              	var BehanghoeheGaesteWC = getState('hm-rpc.0.OEQXXXX.1.LEVEL').val;
              	var AutomatikGesamt = getState('javascript.0.Rolladen.Gesamt.Automatik').val;
              	var AutomatikGaesteWC = getState('javascript.0.Rolladen.GaesteWC.Automatik').val;
              	var Brand = getState ('javascript.0.Status.Brandmelder.Anzahl_melden_Brand').val;
              	var Alarm = getState('javascript.0.alarm.out.alarm_intern').val;
              		if (ZeitfensterAMittag === true && RaumTemp >= 25 && TempAussen >= 28 && Helligkeit >=100 && BehanghoeheGaesteWC >= 40 && AutomatikGesamt === true && AutomatikGaesteWC === true && Brand === 0 && Alarm === false) {
                          setStateDelayed('hm-rpc.0.OEXXXX.1.LEVEL', 35, 1000);
                          if('hm-rpc.0.OEQXXXX.1.LEVEL', 35);
                          console.log('Rolladen Gaeste WC wegen hohen Temperaturen geschlossen'); 
                  }	
              });
              
              // Alle Rollos bei Sturm runter
              on({id: 'Sturm ID eintragen', change: "ne"}, function (obj) {
              	var Sturm = obj.state.val;
              	var Alarm = getState('javascript.0.alarm.out.alarm_intern').val;
              	var RollosOffen = getState ('javascript.0.Status.Rolladen.Anzahl_offen')
              	var Brand = getState ('javascript.0.Status.Brandmelder.Anzahl_melden_Brand').val;
              		if (Sturm >=100 && Alarm === false && RollosOffen >=1 && Brand === 0 ) {
                          setState('scene.Alarm_alle_Rollos_hoch',0);
                          if('scene.Alarm_alle_Rollos_hoch',0);
                          console.log('Rolläden geschlossen wegen Sturm');
              		}
              });    
              
              // Alle Rollos bei Feuer hoch
              on({id: 'javascript.0.Status.Brandmelder.Anzahl_melden_Brand' }, function (obj) {
              	var Brand = obj.state.val;
              		if (Brand >= 1) {
                          setState('scene.Alarm_alle_Rollos_hoch',100);
                          if('scene.Alarm_alle_Rollos_hoch',100);
                          console.log('Rollaeden geöffnet wegen Brand');
                  }
              });  
              // Rolladen Kellertreppe bei Feuer hoch
              on({id: 'javascript.0.Status.Brandmelder.Anzahl_melden_Brand' }, function (obj) {
              	var Brand = obj.state.val;
              	var BehanghoeheKellertreppe = getState('hm-rpc.0.OEQXXXX.1.LEVEL').val;
              		if (Brand >= 1 && BehanghoeheKellertreppe <= 99 ) {
                          setState('hm-rpc.0.OEQXXXX.1.LEVEL',100);
                          if('hm-rpc.0.OEQXXXX.1.LEVEL',100);
                          console.log('Rollaeden Kellertreppe geöffnet wegen Brand');
                  }
              });  
              
              
              1 Reply Last reply Reply Quote 0
              • smartboart
                smartboart last edited by

                Hallo Leute, also nach ein paar Tagen im Betrieb, kann ich sagen, dass das Script macht was es soll…

                Mir ist nur aufgefallen, dass wenn ich mein System / Tinkerboard reboote, meine Rolläden nach unten fahren...

                Kann man das irgendwie umgehen? Objekt IDs mit nem true oder false vorbelegen, bis der State durch erneutes senden überschrieben wird oder ander Lösungsansaätze?

                1 Reply Last reply Reply Quote 0
                • F
                  fraeggle last edited by

                  @smartboart:

                  Hallo Leute, also nach ein paar Tagen im Betrieb, kann ich sagen, dass das Script macht was es soll…

                  Mir ist nur aufgefallen, dass wenn ich mein System / Tinkerboard reboote, meine Rolläden nach unten fahren...

                  Kann man das irgendwie umgehen? Objekt IDs mit nem true oder false vorbelegen, bis der State durch erneutes senden überschrieben wird oder ander Lösungsansaätze? `

                  De hast ja auch log in der Console drin.. Steht da warum die Runterfahren? Weil Normalerweise werden durch den Neustart nicht unbedingt der Status von variablen geändert. Wenn ich mein System neu starte sind die Werte die gleichen wie vor dem Neustart.

                  Ansonsten Scripte deaktivieren und der Reihe nach aktivieren um rauszufinden woher das kommt. (dürfte hier auch nicht so viel sein, weil die Rolladen ja "nur" bei bestimmten Aktionen runterfahren)

                  Gruß Peter

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

                    Danke für die Idee, das habe ich ausprobiert, ein neu Starten der Scripte verursacht das nicht. Auch ein neu Starten des HM Adapters oder javascript adapter nicht….IAls letztes habe ich die Homematic PivCCU...über die webUI neu gestartet, auch nicht...

                    Passiert wirklich nur bei einem kompletten reboot oder neu Starten des Systems... Hm sollte ja nicht so oft vorkommen...Aber würde mich doch interessieren wie das sein kann...

                    Die Logs schaue ich mir beim nächsten reboot mal an, keine ahnung wieviel uhr das war...Finden den Zeitpunkt nicht...Hoffe das gibt mehr aufschluss..

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

                      Also das log sagt mir, dass das Script für das Herunterfahren der Rolläden nach einem Reboot des Tinkerboard verantwortlich ist.

                      Verstehe das nicht.

                      Einige Bedingungen sind im besagten Fall immer gegeben, ich könnte das reduzieren auf den Trigger Helligkeit selbst, welcher ja immer wieder seinen Status sendet.

                      Der Wert ist allerdings so niedrig, dass er nicht zum tragen kommen dürfte…immmerhin waren die Werte ja so hoch das der Rolladen noch oben war.

                      Ich vermute, dass der HM Bewegungsmelder seine Helligkeitswerte nach dem Reboot falsch liefert.

                      Jemand eine Idee wie ich das verhindern kann?

                      Ansonsten werde ich den Trigger auf die Wetterstation / Weatherman legen und damit ausprobieren.

                      //Automatik Block für Rolladen Gaeste WC runter
                      on({id: 'hm-rpc.0.PEQxxxxxx.1.BRIGHTNESS'}, function(obj){
                          var ZeitfensterAbend = getState('javascript.0.Rolladen.ZeitfensterAbend').val;
                      	var Helligkeit = getState ('hm-rpc.0.PEQ0xxxxxx.1.BRIGHTNESS').val;
                      	var BehanghoeheGaesteWC = getState('hm-rpc.0.OEQ1xxxxxx.1.LEVEL').val;
                      	var AutomatikGesamt = getState('javascript.0.Rolladen.Gesamt.Automatik').val;
                      	var AutomatikGaesteWC = getState('javascript.0.Rolladen.GaesteWC.Automatik').val;
                      	var Brand = getState ('javascript.0.Status.Brandmelder.Anzahl_melden_Brand').val;
                      	var Alarm = getState('javascript.0.alarm.out.alarm_intern').val;
                      		if (ZeitfensterAbend === true && Helligkeit <=55 && BehanghoeheGaesteWC >= 1 && AutomatikGesamt === true && AutomatikGaesteWC === true && Brand === 0 && Alarm === false) {
                                  setStateDelayed('hm-rpc.0.OEQ13xxxxxx.1.LEVEL', 0, 1000);
                                  if('hm-rpc.0.OEQ1xxxxxx.1.LEVEL', 0);
                                  console.log('Rolladen Gaeste WC geschlossen'); 
                      	}
                      });
                      
                      1 Reply Last reply Reply Quote 0
                      • smartboart
                        smartboart last edited by

                        so hier nun das fertige Script mit allen Schnick Schnack und den verschiedensten Fahrprogrammen und Bedingungen..

                        Etwas aufgeräumt und optimiert..

                        //Rolladen Script
                        
                        //States für Manuell und Automatik Vorwahl in Vis
                        createState('javascript.0.Rolladen.Gesamt.EGAutomatik', {def: 'false', type: 'boolean', name: 'Rolladen Gesamt EG Automatik aktivieren'});
                        createState('javascript.0.Rolladen.Couch.Automatik', {def: 'false', type: 'boolean', name: 'Rolladen Couch Automatik aktivieren'});
                        
                        const id1 = 'wiffi-wz.0.root.192_168_xx_XX.w_windstaerke'; //Sturm
                        const id2 = 'hm-rpc.0.PEQ03xxxxxx.1.BRIGHTNESS'; //Helligkeit
                        const id3 = 'wiffi-wz.0.root.192_168_xx_xx.w_sonne_scheint'; //Sonne
                        const id4 = 'javascript.0.Status.Brandmelder.Anzahl_melden_Brand'; //Brand
                        const id5 = 'javascript.0.alarm.out.alarm_intern'; //Alarmanlage
                        const id6 = 'wiffi-wz.0.root.192_168_xx_xx.w_rain_status'; //Regen
                        const id7 = 'javascript.0.Anwesenheitssteuerung.BewohnerAnwesend'; //Anwesend
                        
                        const idRolloCouch = 'hm-rpc.0.OEQ12xxxxxx.1.LEVEL'; //Rolladen Couch
                        
                        function Rolladen() { 
                            console.log('Rolladen Couch trigger aktiv '); 
                        	var Sturm = getState ('wiffi-wz.0.root.192_168_xx_xxx.w_windstaerke').val;
                         	var Alarm = getState('javascript.0.alarm.out.alarm_intern').val;
                        	var Brand = getState ('javascript.0.Status.Brandmelder.Anzahl_melden_Brand').val;
                        	var ZeitfensterMorgen = getState ('javascript.0.Rolladen.ZeitfensterMorgen').val;
                        	var ZeitfensterAbend = getState ('javascript.0.Rolladen.ZeitfensterAbend').val;
                        	var Helligkeit = getState ('hm-rpc.0.PEQ039xxxxx.1.BRIGHTNESS').val;
                        	var AussenTemp = getState ('wiffi-wz.0.root.192_168_xx_xx.w_temperature').val;
                        	var Regen = getState ('wiffi-wz.0.root.192_168_xx_xx.w_rain_status').val;
                        	var BehanghoeheCouch = getState('hm-rpc.0.OEQ129xxxxx.1.LEVEL').val;
                        	var AutomatikEG = getState('javascript.0.Rolladen.Gesamt.EGAutomatik').val;
                        	var AutomatikCouch = getState('javascript.0.Rolladen.Couch.Automatik').val;
                        	var Sonne = getState('wiffi-wz.0.root.192_168_xxx_xx.w_sonne_scheint').val;
                        	var FensterCouchRechts = getState('hm-rpc.0.OEQ1434xxxx.1.STATE').val;
                            var FensterCouchMitte = getState('hm-rpc.0.OEQ143xxxx.1.STATE').val;
                            var FensterCouchLinks = getState('hm-rpc.0.OEQ1197xxxx.1.STATE').val;
                            var Anwesend = getState('javascript.0.Anwesenheitssteuerung.BewohnerAnwesend').val;
                             // Rollos hoch
                                if (( Brand >= 1 || Alarm === true) || (ZeitfensterMorgen === true && Helligkeit >= 40 && BehanghoeheCouch <= 95 && AutomatikEG === true && AutomatikCouch === true)) {
                        			setStateDelayed(idRolloCouch, 100, 1800);//zeitverzögerung Addition pro Rolladen um 600ms
                                    if(idRolloCouch, 100);
                                    console.log('Rolladen Couch offen');
                                }else{ 
                            //Rollo runter        
                                    if ((ZeitfensterAbend === true && FensterCouchRechts === false && FensterCouchMitte === false && FensterCouchLinks === false && Helligkeit <= 10 && BehanghoeheCouch >= 20 && AutomatikEG === true && AutomatikCouch === true && Brand === 0 && Alarm === false) || ( Sturm >= 6 && BehanghoeheCouch >=0 && Brand === 0 && Alarm === false) || ((Regen === true || Anwesend ===false ) && (FensterCouchRechts === true || FensterCouchLinks === true || FensterCouchMitte === true ) && BehanghoeheCouch >= 0 && Brand === 0 && Alarm === false ))  {
                        			setStateDelayed(idRolloCouch, 0, 1800);
                                    if(idRolloCouch, 0);
                                    console.log('Rolladen Couch geschlossen');
                                     }else{ 
                            // Rollor runter auf 50 % Sicht wegen Sonne und Temp            
                                        if (isTimeInRange('13:00:00', '19:30:00') && Sonne === true && BehanghoeheCouch >= 55 && AutomatikEG === true && AutomatikCouch === true && Brand === 0 && Alarm === false && Aussentemp >= 26)  {
                                          setStateDelayed(idRolloCouch, 50, 1800);
                                          if(idRolloCouch, 50);
                                          console.log('Rolladen Couch wegen Sonne und hoher Temp. auf 50% Sicht gefahren ');  
                                                }
                                            }
                                        } 
                                    }
                        Rolladen(); // Skriptstart
                        
                        on(id1, function(dp) {
                           Sturm = dp.state.val;
                           Rolladen();
                        });      
                        on(id2, function(dp) {
                           Helligkeit = dp.state.val;
                           Rolladen();
                        });  
                        on(id3, function(dp) {
                           Sonne = dp.state.val;
                           Rolladen();
                        });  
                        on(id4, function(dp) {
                           Brand = dp.state.val;
                           Rolladen();
                        });  
                        on(id5, function(dp) {
                           Alarm = dp.state.val;
                           Rolladen();
                        });  
                        on(id6, function(dp) {
                           Regen = dp.state.val;
                           Rolladen();
                        }); 
                        on(id7, function(dp) {
                           Anwesend = dp.state.val;
                           Rolladen();
                        });
                        
                        1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Support us

                        ioBroker
                        Community Adapters
                        Donate

                        652
                        Online

                        31.7k
                        Users

                        79.9k
                        Topics

                        1.3m
                        Posts

                        5
                        17
                        3085
                        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