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. JavaScript
  5. Skript zur Steuerung Aussenlicht mit Bewegungsmelder und Tastern

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.2k

Skript zur Steuerung Aussenlicht mit Bewegungsmelder und Tastern

Geplant Angeheftet Gesperrt Verschoben JavaScript
javascript
27 Beiträge 3 Kommentatoren 1.6k Aufrufe 1 Watching
  • Ä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.
  • M mguenther
    on(idLicht1) function(dp) {
       licht1 = dp.state.val;
    });
    

    das funktioniert nicht so ganz. ich würde es in Zeile 2 schreiben - probiere ich aber morgen aus.

    on({id: [idTaster1_1, idTaster1_2]}, function() {
    licht1 = getState....;
       if(timer1) { // Timer läuft --> Licht bleibt an
          clearTimeout(timer1);
          timer1 = null;
       } else setState(idLicht1, !licht1); // Toggle
    });
    

    Danke

    paul53P Offline
    paul53P Offline
    paul53
    schrieb am zuletzt editiert von
    #14

    @mguenther sagte

    das funktioniert nicht so ganz

    Sorry, Tippfehler. Die schließende Klammer hinter idLicht1 muss natürlich ein Komma sein.

    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
    • M Offline
      M Offline
      mguenther
      schrieb am zuletzt editiert von
      #15

      hatte ich schon geändert, ich probiere es morgen nochmal aus - eben hats nicht geklappt...

      1 Antwort Letzte Antwort
      0
      • M mguenther
        on(idLicht1) function(dp) {
           licht1 = dp.state.val;
        });
        

        das funktioniert nicht so ganz. ich würde es in Zeile 2 schreiben - probiere ich aber morgen aus.

        on({id: [idTaster1_1, idTaster1_2]}, function() {
        licht1 = getState....;
           if(timer1) { // Timer läuft --> Licht bleibt an
              clearTimeout(timer1);
              timer1 = null;
           } else setState(idLicht1, !licht1); // Toggle
        });
        

        Danke

        paul53P Offline
        paul53P Offline
        paul53
        schrieb am zuletzt editiert von
        #16

        @mguenther sagte in Skript zur Steuerung Aussenlicht mit Bewegungsmelder und Tastern:

        licht1 = getState....;

        Zeile 2 ist unnötig, da licht1 eine globale Variable ist, die durch den Trigger auf idLicht1 aktualisiert wird.

        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
        • M Offline
          M Offline
          mguenther
          schrieb am zuletzt editiert von
          #17

          bekomme es nicht hin

          //Lichtschaltung auf Westseite - Bedingung: Elevation <=Grenzwert oder Helligkeit <Grenzwert
          //Möglichkeit 1: Bewegungsmelder 1 und/oder 2 für die Dauer von 5min
          //Möglichkeit 2: virtueller Taster an/aus - hat Vorang gegenüber Bewegungsmelder
          //Möglichkeit 3: Wandtaster an/aus - hat Vorang gegenüber Bewegungsmelder und virtueller Taster
          const idBewegung1 = 'javascript.0.Bewegungsmelder.Bewegung_WestSued'/*Bewegung WestSued*/;
          const idBewegung2 = 'javascript.0.Bewegungsmelder.Bewegung_WestNord'/*Bewegung WestNord*/;
          const idLicht1 = 'hm-rpc.4.MEQ0064673.14.STATE'/*12 7 Rest:14 STATE*/;
          const idLicht2 = 'hm-rpc.4.MEQ0064673.13.STATE'/*12 7 Rest:13 STATE*/;
          const idTaster1_1 = 'hm-rpc.4.MEQ0064673.8.PRESS_LONG'/*12 7 Rest:08 PRESS LONG*/;
          const idTaster1_2 = 'hm-rpc.4.MEQ0064673.8.PRESS_SHORT'/*12 7 Rest:08 PRESS SHORT*/;
          const idTaster2_1 = 'hm-rpc.4.MEQ0064673.7.PRESS_LONG'/*12 7 Rest:07 PRESS LONG*/;
          const idTaster2_2 = 'hm-rpc.4.MEQ0064673.7.PRESS_SHORT'/*12 7 Rest:07 PRESS SHORT*/;
          const idTaster_virtu = 'javascript.0.Bewegungsmelder.Bewegung_West_virtu_Taster'/*Bewegung West virtu Taster*/;
          const idHelligkeit = 'hm-rpc.0.NEQ1544423.1.BRIGHTNESS'/*Aussenlicht BW Nord:1 BRIGHTNESS*/;
          const idElevation = 'javascript.0.Sonne.Elevation'/*Elevation*/;
          const idGrenzwertHelligkeit = 'javascript.0.Bewegungsmelder.Grenzwert_Helligkeit'/*Grenzwert Helligkeit*/;
          const idGrenzwertElevation = 'javascript.0.Bewegungsmelder.Grenzwert_Elevation'/*Grenzwert Elevation*/;
          const idTasterWestSued = 'javascript.0.Bewegungsmelder.Bewegung_WestSued_Taster'/*Bewegung WestSued Taster*/;
          const idTasterWestNord = 'javascript.0.Bewegungsmelder.Bewegung_WestNord_Taster'/*Bewegung WestNord Taster*/;
          
          var bewegung1 = getState(idBewegung1).val;
          var bewegung2 = getState(idBewegung2).val;
          var licht1 = getState(idLicht1).val;
          var licht2 = getState(idLicht2).val;
          var taster1_1 = getState(idTaster1_1).val;
          var taster1_2 = getState(idTaster1_2).val;
          var taster2_1 = getState(idTaster2_1).val;
          var taster2_2 = getState(idTaster2_2).val;
          var tasterWestSued= getState(idTasterWestSued).val;
          var tasterWestNord= getState(idTasterWestNord).val;
          var helligkeit = getState(idHelligkeit).val;
          var elevation = getState(idElevation).val;
          var timer1 = null;
          var timer2 = null;
          var dauer = 30; //5min in Sekunden
          
          var taster_virtu = getState(idTaster_virtu).val;
          var helligkeit_grenze= getState(idGrenzwertHelligkeit).val;
          var elevation_grenze = getState(idGrenzwertElevation).val;
          
          on(idLicht1, function(dp) {
             licht1 = dp.state.val;
          });
          on(idLicht2, function(dp) {
             licht2 = dp.state.val;
          });
          
          //Licht durch Bewegungsmelder
          on([idBewegung1, idBewegung2], function(dp) {
              if (!taster_virtu && dp.state.val) {
                  if(!licht1) setState(idLicht1, true);
                  if(!licht2) setState(idLicht2, true);
                  if (!tasterWestSued) {     //Wandtaster
                      if(timer1) clearTimeout(timer1);
                      timer1 = setTimeout(function() {
                          setState(idLicht1, false);
                          timer1 = null;
                      }, 1000 * dauer);
                  }
                  if (!tasterWestNord) {     //Wandtaster
                      if(timer2) clearTimeout(timer2);
                      timer2 = setTimeout(function() {
                          setState(idLicht2, false);
                          timer2 = null;
                      }, 1000 * dauer);
                  }
              }
          });
          
          //Virtueller Taster an/aus
          on(idTaster_virtu, function(dp) {
              taster_virtu = dp.state.val;
              if(timer1) {
                  clearTimeout(timer1);
                  timer1 = null;
              }
              if(timer2) {
                  clearTimeout(timer2);
                  timer2 = null;
              }
              if(!taster_virtu) {
                  if(licht1) setState(idLicht1, false);
                  if(licht2) setState(idLicht2, false);
              } else {
                  var helligkeit = getState(idHelligkeit).val;
                  var elevation = getState(idElevation).val;
                  if (helligkeit < helligkeit_grenze || elevation <= elevation_grenze) {
                      if(!licht1) setState(idLicht1, true);
                      if(!licht2) setState(idLicht2, true);
                  }
              }
          });
          
          //Wandtaster WestSued
          on({id: [idTaster1_1, idTaster1_2]}, function() {
              if (licht1) setState(idTasterWestSued, false);
              else setState(idTasterWestSued, true);
              if(timer1) { // Timer läuft --> Licht bleibt an
                  clearTimeout(timer1);
                  timer1 = null;
              } 
              else setState(idLicht1, !licht1); // Toggle
          });
          
          //Wandtaster WestNord
          on({id: [idTaster2_1, idTaster2_2]}, function() {
              if (licht2) setState(idTasterWestNord, false);
              else setState(idTasterWestNord, true);
              if(timer2) { // Timer läuft --> Licht bleibt an
                  clearTimeout(timer2);
                  timer2 = null;
              } 
              else setState(idLicht2, !licht2); // Toggle
          });
          

          irgendwo hab ich nen Denkfehler drin. Wenn Bewegungsmelder ausgelöst hat und ich dann einen Wandtaster drücke, dann soll das Licht anbleiben und auch nicht nach der abgelaufenen Zeit aus dem Bewegungsmelder ausgehen. Das 2. Licht, wo der Taster nicht zugehört, soll entsprechend ausgehen.
          2. Fall: wenn ein Licht über den Wandtaster an ist und der Bewegungsmelder löst aus, dann soll das eine Licht aber nicht ausgehen, wenn der Timer aus de Bewegungsmelder abläuft. macht er aber....

          AsgothianA 1 Antwort Letzte Antwort
          0
          • M mguenther

            bekomme es nicht hin

            //Lichtschaltung auf Westseite - Bedingung: Elevation <=Grenzwert oder Helligkeit <Grenzwert
            //Möglichkeit 1: Bewegungsmelder 1 und/oder 2 für die Dauer von 5min
            //Möglichkeit 2: virtueller Taster an/aus - hat Vorang gegenüber Bewegungsmelder
            //Möglichkeit 3: Wandtaster an/aus - hat Vorang gegenüber Bewegungsmelder und virtueller Taster
            const idBewegung1 = 'javascript.0.Bewegungsmelder.Bewegung_WestSued'/*Bewegung WestSued*/;
            const idBewegung2 = 'javascript.0.Bewegungsmelder.Bewegung_WestNord'/*Bewegung WestNord*/;
            const idLicht1 = 'hm-rpc.4.MEQ0064673.14.STATE'/*12 7 Rest:14 STATE*/;
            const idLicht2 = 'hm-rpc.4.MEQ0064673.13.STATE'/*12 7 Rest:13 STATE*/;
            const idTaster1_1 = 'hm-rpc.4.MEQ0064673.8.PRESS_LONG'/*12 7 Rest:08 PRESS LONG*/;
            const idTaster1_2 = 'hm-rpc.4.MEQ0064673.8.PRESS_SHORT'/*12 7 Rest:08 PRESS SHORT*/;
            const idTaster2_1 = 'hm-rpc.4.MEQ0064673.7.PRESS_LONG'/*12 7 Rest:07 PRESS LONG*/;
            const idTaster2_2 = 'hm-rpc.4.MEQ0064673.7.PRESS_SHORT'/*12 7 Rest:07 PRESS SHORT*/;
            const idTaster_virtu = 'javascript.0.Bewegungsmelder.Bewegung_West_virtu_Taster'/*Bewegung West virtu Taster*/;
            const idHelligkeit = 'hm-rpc.0.NEQ1544423.1.BRIGHTNESS'/*Aussenlicht BW Nord:1 BRIGHTNESS*/;
            const idElevation = 'javascript.0.Sonne.Elevation'/*Elevation*/;
            const idGrenzwertHelligkeit = 'javascript.0.Bewegungsmelder.Grenzwert_Helligkeit'/*Grenzwert Helligkeit*/;
            const idGrenzwertElevation = 'javascript.0.Bewegungsmelder.Grenzwert_Elevation'/*Grenzwert Elevation*/;
            const idTasterWestSued = 'javascript.0.Bewegungsmelder.Bewegung_WestSued_Taster'/*Bewegung WestSued Taster*/;
            const idTasterWestNord = 'javascript.0.Bewegungsmelder.Bewegung_WestNord_Taster'/*Bewegung WestNord Taster*/;
            
            var bewegung1 = getState(idBewegung1).val;
            var bewegung2 = getState(idBewegung2).val;
            var licht1 = getState(idLicht1).val;
            var licht2 = getState(idLicht2).val;
            var taster1_1 = getState(idTaster1_1).val;
            var taster1_2 = getState(idTaster1_2).val;
            var taster2_1 = getState(idTaster2_1).val;
            var taster2_2 = getState(idTaster2_2).val;
            var tasterWestSued= getState(idTasterWestSued).val;
            var tasterWestNord= getState(idTasterWestNord).val;
            var helligkeit = getState(idHelligkeit).val;
            var elevation = getState(idElevation).val;
            var timer1 = null;
            var timer2 = null;
            var dauer = 30; //5min in Sekunden
            
            var taster_virtu = getState(idTaster_virtu).val;
            var helligkeit_grenze= getState(idGrenzwertHelligkeit).val;
            var elevation_grenze = getState(idGrenzwertElevation).val;
            
            on(idLicht1, function(dp) {
               licht1 = dp.state.val;
            });
            on(idLicht2, function(dp) {
               licht2 = dp.state.val;
            });
            
            //Licht durch Bewegungsmelder
            on([idBewegung1, idBewegung2], function(dp) {
                if (!taster_virtu && dp.state.val) {
                    if(!licht1) setState(idLicht1, true);
                    if(!licht2) setState(idLicht2, true);
                    if (!tasterWestSued) {     //Wandtaster
                        if(timer1) clearTimeout(timer1);
                        timer1 = setTimeout(function() {
                            setState(idLicht1, false);
                            timer1 = null;
                        }, 1000 * dauer);
                    }
                    if (!tasterWestNord) {     //Wandtaster
                        if(timer2) clearTimeout(timer2);
                        timer2 = setTimeout(function() {
                            setState(idLicht2, false);
                            timer2 = null;
                        }, 1000 * dauer);
                    }
                }
            });
            
            //Virtueller Taster an/aus
            on(idTaster_virtu, function(dp) {
                taster_virtu = dp.state.val;
                if(timer1) {
                    clearTimeout(timer1);
                    timer1 = null;
                }
                if(timer2) {
                    clearTimeout(timer2);
                    timer2 = null;
                }
                if(!taster_virtu) {
                    if(licht1) setState(idLicht1, false);
                    if(licht2) setState(idLicht2, false);
                } else {
                    var helligkeit = getState(idHelligkeit).val;
                    var elevation = getState(idElevation).val;
                    if (helligkeit < helligkeit_grenze || elevation <= elevation_grenze) {
                        if(!licht1) setState(idLicht1, true);
                        if(!licht2) setState(idLicht2, true);
                    }
                }
            });
            
            //Wandtaster WestSued
            on({id: [idTaster1_1, idTaster1_2]}, function() {
                if (licht1) setState(idTasterWestSued, false);
                else setState(idTasterWestSued, true);
                if(timer1) { // Timer läuft --> Licht bleibt an
                    clearTimeout(timer1);
                    timer1 = null;
                } 
                else setState(idLicht1, !licht1); // Toggle
            });
            
            //Wandtaster WestNord
            on({id: [idTaster2_1, idTaster2_2]}, function() {
                if (licht2) setState(idTasterWestNord, false);
                else setState(idTasterWestNord, true);
                if(timer2) { // Timer läuft --> Licht bleibt an
                    clearTimeout(timer2);
                    timer2 = null;
                } 
                else setState(idLicht2, !licht2); // Toggle
            });
            

            irgendwo hab ich nen Denkfehler drin. Wenn Bewegungsmelder ausgelöst hat und ich dann einen Wandtaster drücke, dann soll das Licht anbleiben und auch nicht nach der abgelaufenen Zeit aus dem Bewegungsmelder ausgehen. Das 2. Licht, wo der Taster nicht zugehört, soll entsprechend ausgehen.
            2. Fall: wenn ein Licht über den Wandtaster an ist und der Bewegungsmelder löst aus, dann soll das eine Licht aber nicht ausgehen, wenn der Timer aus de Bewegungsmelder abläuft. macht er aber....

            AsgothianA Offline
            AsgothianA Offline
            Asgothian
            Developer
            schrieb am zuletzt editiert von Asgothian
            #18

            ... nix zu sehen - @paul53,s Feld

            ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
            "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

            M 1 Antwort Letzte Antwort
            0
            • AsgothianA Asgothian

              ... nix zu sehen - @paul53,s Feld

              M Offline
              M Offline
              mguenther
              schrieb am zuletzt editiert von
              #19

              @Asgothian sagte in Skript zur Steuerung Aussenlicht mit Bewegungsmelder und Tastern:

              @mguenther Dumme Frage: kannst du die Taster betätigen ohne den BM auszulösen ? Wenn nein, dann setzt der BM den timer wieder nachdem du den Taster gedrückt hast.

              wenn das so ist, brauchst du:
              Pro Taster eine Variable “licht_mit_diesem_taster_eingeschaltet”
              Die setzt du auf wahr wenn man mit dem Schalter das Licht an macht, und auf false wenn das Licht aus geht (entweder per Event am Licht oder im Schalter-Event.
              Und im timer, bevor du das Licht ausschaltest fragst du sie ab.. bei true - nix tun.

              A.
              Ich bin gerade unterwegs und kann dir das nicht sauber in js en - ich hoffe der Hinweis reicht aber.

              hab ich ja.

              const idTasterWestSued = 'javascript.0.Bewegungsmelder.Bewegung_WestSued_Taster'/*Bewegung WestSued Taster*/;
              const idTasterWestNord = 'javascript.0.Bewegungsmelder.Bewegung_WestNord_Taster'/*Bewegung WestNord Taster*/;
              

              werden entsprechend auf true/false gesetzt. Ich habe aber irgendwo oben nen Denkfehler drin bei dem Vorschlag von Paul

              AsgothianA 2 Antworten Letzte Antwort
              0
              • M mguenther

                @Asgothian sagte in Skript zur Steuerung Aussenlicht mit Bewegungsmelder und Tastern:

                @mguenther Dumme Frage: kannst du die Taster betätigen ohne den BM auszulösen ? Wenn nein, dann setzt der BM den timer wieder nachdem du den Taster gedrückt hast.

                wenn das so ist, brauchst du:
                Pro Taster eine Variable “licht_mit_diesem_taster_eingeschaltet”
                Die setzt du auf wahr wenn man mit dem Schalter das Licht an macht, und auf false wenn das Licht aus geht (entweder per Event am Licht oder im Schalter-Event.
                Und im timer, bevor du das Licht ausschaltest fragst du sie ab.. bei true - nix tun.

                A.
                Ich bin gerade unterwegs und kann dir das nicht sauber in js en - ich hoffe der Hinweis reicht aber.

                hab ich ja.

                const idTasterWestSued = 'javascript.0.Bewegungsmelder.Bewegung_WestSued_Taster'/*Bewegung WestSued Taster*/;
                const idTasterWestNord = 'javascript.0.Bewegungsmelder.Bewegung_WestNord_Taster'/*Bewegung WestNord Taster*/;
                

                werden entsprechend auf true/false gesetzt. Ich habe aber irgendwo oben nen Denkfehler drin bei dem Vorschlag von Paul

                AsgothianA Offline
                AsgothianA Offline
                Asgothian
                Developer
                schrieb am zuletzt editiert von Asgothian
                #20

                ... nix zu sehen - @paul53,s Feld

                ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                1 Antwort Letzte Antwort
                0
                • M mguenther

                  @Asgothian sagte in Skript zur Steuerung Aussenlicht mit Bewegungsmelder und Tastern:

                  @mguenther Dumme Frage: kannst du die Taster betätigen ohne den BM auszulösen ? Wenn nein, dann setzt der BM den timer wieder nachdem du den Taster gedrückt hast.

                  wenn das so ist, brauchst du:
                  Pro Taster eine Variable “licht_mit_diesem_taster_eingeschaltet”
                  Die setzt du auf wahr wenn man mit dem Schalter das Licht an macht, und auf false wenn das Licht aus geht (entweder per Event am Licht oder im Schalter-Event.
                  Und im timer, bevor du das Licht ausschaltest fragst du sie ab.. bei true - nix tun.

                  A.
                  Ich bin gerade unterwegs und kann dir das nicht sauber in js en - ich hoffe der Hinweis reicht aber.

                  hab ich ja.

                  const idTasterWestSued = 'javascript.0.Bewegungsmelder.Bewegung_WestSued_Taster'/*Bewegung WestSued Taster*/;
                  const idTasterWestNord = 'javascript.0.Bewegungsmelder.Bewegung_WestNord_Taster'/*Bewegung WestNord Taster*/;
                  

                  werden entsprechend auf true/false gesetzt. Ich habe aber irgendwo oben nen Denkfehler drin bei dem Vorschlag von Paul

                  AsgothianA Offline
                  AsgothianA Offline
                  Asgothian
                  Developer
                  schrieb am zuletzt editiert von Asgothian
                  #21

                  ... nix zu sehen...

                  ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                  "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

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

                    Bitte nicht wild rumprobieren !

                    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

                    M 1 Antwort Letzte Antwort
                    0
                    • M Offline
                      M Offline
                      mguenther
                      schrieb am zuletzt editiert von
                      #23

                      habs - danke an Asgothian

                      //Licht durch Bewegungsmelder
                      on([idBewegung1, idBewegung2], function(dp) {
                          tasterWestNord=getState(idTasterWestNord).val;
                          tasterWestSued=getState(idTasterWestSued).val;
                          if (!taster_virtu && dp.state.val) {
                              if(!licht1) setState(idLicht1, true);
                              if(!licht2) setState(idLicht2, true);
                              if(timer1) clearTimeout(timer1);
                              timer1 = setTimeout(function() {
                                  if (!tasterWestSued) setState(idLicht1, false);    //Wandtaster
                                  timer1 = null;
                              }, 1000 * dauer);
                              if(timer2) clearTimeout(timer2);
                              timer2 = setTimeout(function() {
                                  if (!tasterWestNord) setState(idLicht2, false);   //Wandtaster
                                  timer2 = null;
                              }, 1000 * dauer);
                          }
                      });
                      
                      AsgothianA 1 Antwort Letzte Antwort
                      0
                      • M mguenther

                        habs - danke an Asgothian

                        //Licht durch Bewegungsmelder
                        on([idBewegung1, idBewegung2], function(dp) {
                            tasterWestNord=getState(idTasterWestNord).val;
                            tasterWestSued=getState(idTasterWestSued).val;
                            if (!taster_virtu && dp.state.val) {
                                if(!licht1) setState(idLicht1, true);
                                if(!licht2) setState(idLicht2, true);
                                if(timer1) clearTimeout(timer1);
                                timer1 = setTimeout(function() {
                                    if (!tasterWestSued) setState(idLicht1, false);    //Wandtaster
                                    timer1 = null;
                                }, 1000 * dauer);
                                if(timer2) clearTimeout(timer2);
                                timer2 = setTimeout(function() {
                                    if (!tasterWestNord) setState(idLicht2, false);   //Wandtaster
                                    timer2 = null;
                                }, 1000 * dauer);
                            }
                        });
                        
                        AsgothianA Offline
                        AsgothianA Offline
                        Asgothian
                        Developer
                        schrieb am zuletzt editiert von
                        #24

                        @mguenther
                        Fein. Sorry für die gelöschten Posts, ich wollte Paul nicht auf ie Füße treten.

                        ioBroker auf RPi4 - Hardware soweit wie möglich via Zigbee.
                        "Shit don't work" ist keine Fehlermeldung, sondern ein Fluch.

                        1 Antwort Letzte Antwort
                        0
                        • paul53P paul53

                          Bitte nicht wild rumprobieren !

                          M Offline
                          M Offline
                          mguenther
                          schrieb am zuletzt editiert von
                          #25

                          @paul53 sagte in Skript zur Steuerung Aussenlicht mit Bewegungsmelder und Tastern:

                          Bitte nicht wild rumprobieren !

                          Paul, ich habe mir 2 Variablen gesetzt, um die Betätigung des Wandtasters abzufangen.
                          Hatte die beiden nur falsch eingesetzt.

                          Danke euch beiden an der Stelle!

                          1 Antwort Letzte Antwort
                          0
                          • paul53P Offline
                            paul53P Offline
                            paul53
                            schrieb am zuletzt editiert von paul53
                            #26
                            //Wandtaster WestNord
                                on({id: [idTaster2_1, idTaster2_2]}, function() {
                                    if (licht2) tasterWestNord = false;
                                    else tasterWestNord = true;
                                    if(timer2) { // Timer läuft --> Licht bleibt an
                                        tasterWestNord = true;
                                        clearTimeout(timer2);
                                        timer2 = null;
                                    } 
                                    else setState(idLicht2, !licht2); // Toggle
                                });
                            

                            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
                            • M Offline
                              M Offline
                              mguenther
                              schrieb am zuletzt editiert von mguenther
                              #27

                              @paul53, habe ich nochmal angepasst

                              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

                              507

                              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