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

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

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [gelöst] [Blockly]Lampen aus, wenn 15 Minuten keine Bewegung

NEWS

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    17
    1
    437

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

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

[gelöst] [Blockly]Lampen aus, wenn 15 Minuten keine Bewegung

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
24 Beiträge 4 Kommentatoren 4.3k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • M Offline
    M Offline
    Modjo
    schrieb am zuletzt editiert von
    #14

    Hallo zusammen,

    eine Frage habe ich noch.

    Wie baue ich es ein, dass der 15 Minuten Timeout nicht zwischen Golden-Hour Anfang & 23:00 Uhr läuft?

    Hintergrund ist der: Wir liegen abends teilweise auf der Couch und da erkennt der Hue Motion Sensor minimalste Bewegungen nicht, sodass er meist nach 15 Minuten ausgeht, trotz dass wir auf der Couch sitzen.

    Danke & Gruß

    1 Antwort Letzte Antwort
    0
    • M Offline
      M Offline
      Modjo
      schrieb am zuletzt editiert von
      #15

      Ich hab es nun einen anderen Ansatz. Ich möchte, dass bei Bewegung der "Timer" von 15 Minuten herunterzählt und bei erneutem Trigger dann aus geht. Das funktioniert ja schon mit dem oberen Blockly. Nun möchte ich zusätzlich einbauen, dass wenn der Receiver ("Power") an ist, dass er aus dem 15 Minuten Timer heraus geht und die Lampen an bleiben. Wenn der Reveiver wieder aus ist, dann halt wieder in den 15 Minuten Timer.

      Der Grund hierfür ist der Selbe, wie im vorherigen Post: Wenn ich TV & Reveiver an habe, liege ich auf der Couch und bewege mich wenig, sodass der Motion Sensor nicht auslöst. Licht soll aber dann dennoch anbleiben.

      Ich habe es nun folgendermaßen probiert, was aber nicht funktioniert. Selbst wenn ich den Receiver anhabe, geht er nach 15 Minuten aus (1.jpg).

      on({id: "hue.0.Anwesenheit_WZ_BM"/*Anwesenheit_WZ_BM*/, val: true}, function (obj) {
        var value = obj.state.val;
        var oldValue = obj.oldState.val;
        if (getState("javascript.0.Astro_Nacht").val == true) {
          setState("broadlink.0.learnedSignals.CODE_b20734000c23230c230c230c0c23230c0c23230c0c23230c240c230c0d23230c0c230c230c230c230c230c23230c230c0c230c230c00016400000000"/*Wohnzimmer Kugel ein*/, true);
          setState("hue.0.Bridge.Wohnzimmer.on"/*Bridge.Wohnzimmer.on*/, true);
          setState("hue.0.Bridge.Küche.on"/*Bridge.Küche.on*/, true);
          if (getState("yamaha.0.power").val == true) {
            setState("broadlink.0.learnedSignals.CODE_b20734000c23230c230c230c0c23230c0c23230c0c23230c240c230c0d23230c0c230c230c230c230c230c23230c230c0c230c230c00016400000000"/*Wohnzimmer Kugel ein*/, true);
            setState("hue.0.Bridge.Wohnzimmer.on"/*Bridge.Wohnzimmer.on*/, true);
            setState("hue.0.Bridge.Küche.on"/*Bridge.Küche.on*/, true);
          }
          setStateDelayed("broadlink.0.learnedSignals.CODE_b2001e01220c0b220c220c220c220c220c220b220c22230b230b0c0001630c22220c220b230b0c22230b0c22230b0b23220c220c220b0c22230b0c220c220b230b220c220c220c220c22220c220c0b0001630c22230b220c220c0b23220b0c22230b0c22230b220c220c0b23220b0c220c220c220c220b220c220c220c22230b220c0b0001630c22230b230b220b0c22230b0c22230b0c22220c220c220c0b22230b0c220c220b230b230b220c220c220b23220c220b0c0001630b23220c220b230b0c22230b0b23220b0c22230b230b230b0c22220c0b220c220c220c220b230b230b220c22230b230b0b0001630c22220c220c220c0b22230b0c22230b0b22230b0b22220c0b22230b0c210c220b220c220b220c220b220c220b220c220b0005dc00000000000000000000"/*Wohnzimmer Kugel aus*/, true, 900000, true);
          setStateDelayed("hue.0.Bridge.Wohnzimmer.on"/*Bridge.Wohnzimmer.on*/, false, 900000, true);
          setStateDelayed("hue.0.Bridge.Küche.on"/*Bridge.Küche.on*/, false, 900000, true);
        }
      });
      

      Vielleicht könnt ihr mir hier meinen Fehler aufzeigen!?

      Vielen Dank & Gruß
      4811_1.jpg

      1 Antwort Letzte Antwort
      0
      • M Offline
        M Offline
        Modjo
        schrieb am zuletzt editiert von
        #16

        Oder ist das richtiger?
        4811_2.jpg

        1 Antwort Letzte Antwort
        0
        • AlCalzoneA Offline
          AlCalzoneA Offline
          AlCalzone
          Developer
          schrieb am zuletzt editiert von
          #17

          So ist es richtiger, aber noch nicht komplett. Die ersten 3 Befehle oberhalb des markierten Blocks sind jetzt redundant und können entfallen.

          Das Entfernen des Timers beim Fernsehen wirst du so leider nicht hinbekommen, jedenfalls ist mir kein Weg bekannt.

          Stattdessen wirst du dich selbst um das Starten und Löschen des Timers kümmern müssen. Ich kann dir jetzt leider kein Beispiel geben, vielleicht kommt ja wer anders dazu.

          Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

          1 Antwort Letzte Antwort
          0
          • M Offline
            M Offline
            Modjo
            schrieb am zuletzt editiert von
            #18

            @AlCalzone:

            So ist es richtiger, aber noch nicht komplett. Die ersten 3 Befehle oberhalb des markierten Blocks sind jetzt redundant und können entfallen.

            Das Entfernen des Timers beim Fernsehen wirst du so leider nicht hinbekommen, jedenfalls ist mir kein Weg bekannt.

            Stattdessen wirst du dich selbst um das Starten und Löschen des Timers kümmern müssen. Ich kann dir jetzt leider kein Beispiel geben, vielleicht kommt ja wer anders dazu. `

            Danke für deine Antwort.

            Ich vermute, dass diese nicht "redundant" sind, da die Lampen ja auch angehen sollen, wenn ich kein TV schaue und der Receiver Power = false hat.

            VG

            1 Antwort Letzte Antwort
            0
            • AlCalzoneA Offline
              AlCalzoneA Offline
              AlCalzone
              Developer
              schrieb am zuletzt editiert von
              #19

              Dann ist der erste Abschnitt deiner Falls-Bedingung redundant.

              ... drei An-Befehle ...
              Falls Power ist unwahr
              | ...drei verzögerte Aus-Befehle
              |__
              
              

              Aber wie gesagt behebt das dein Problem nicht, dass ein bereits laufender Timer am besten gestoppt werden sollte, wenn der Fernseher läuft.

              Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

              1 Antwort Letzte Antwort
              0
              • M Offline
                M Offline
                Modjo
                schrieb am zuletzt editiert von
                #20

                @AlCalzone:

                Dann ist der erste Abschnitt deiner Falls-Bedingung redundant.

                ... drei An-Befehle ...
                Falls Power ist unwahr
                | ...drei verzögerte Aus-Befehle
                |__
                
                

                Aber wie gesagt behebt das dein Problem nicht, dass ein bereits laufender Timer am besten gestoppt werden sollte, wenn der Fernseher läuft. `

                Da hast du Recht. Dafür fällt mir derzeit auch keine Lösung ein.

                Hat noch Jemand eine Idee?

                Derzeitiger Stand:

                on({id: "hue.0.Anwesenheit_WZ_BM"/*Anwesenheit_WZ_BM*/, val: true}, function (obj) {
                  var value = obj.state.val;
                  var oldValue = obj.oldState.val;
                  if (getState("javascript.0.Astro_Nacht").val == true) {
                    setState("broadlink.0.learnedSignals.CODE_b20734000c23230c230c230c0c23230c0c23230c0c23230c240c230c0d23230c0c230c230c230c230c230c23230c230c0c230c230c00016400000000"/*Wohnzimmer Kugel ein*/, true);
                    setState("hue.0.Bridge.Wohnzimmer.on"/*Bridge.Wohnzimmer.on*/, true);
                    setState("hue.0.Bridge.Küche.on"/*Bridge.Küche.on*/, true);
                    if (getState("yamaha.0.power").val == false) {
                      setStateDelayed("broadlink.0.learnedSignals.CODE_b2001e01220c0b220c220c220c220c220c220b220c22230b230b0c0001630c22220c220b230b0c22230b0c22230b0b23220c220c220b0c22230b0c220c220b230b220c220c220c220c22220c220c0b0001630c22230b220c220c0b23220b0c22230b0c22230b220c220c0b23220b0c220c220c220c220b220c220c220c22230b220c0b0001630c22230b230b220b0c22230b0c22230b0c22220c220c220c0b22230b0c220c220b230b230b220c220c220b23220c220b0c0001630b23220c220b230b0c22230b0b23220b0c22230b230b230b0c22220c0b220c220c220c220b230b230b220c22230b230b0b0001630c22220c220c220c0b22230b0c22230b0b22230b0b22220c0b22230b0c210c220b220c220b220c220b220c220b220c220b0005dc00000000000000000000"/*Wohnzimmer Kugel aus*/, true, 900000, true);
                      setStateDelayed("hue.0.Bridge.Wohnzimmer.on"/*Bridge.Wohnzimmer.on*/, false, 900000, true);
                      setStateDelayed("hue.0.Bridge.Küche.on"/*Bridge.Küche.on*/, false, 900000, true);
                    }
                  }
                });
                

                4811_3.jpg

                1 Antwort Letzte Antwort
                0
                • M Offline
                  M Offline
                  Modjo
                  schrieb am zuletzt editiert von
                  #21

                  Vielleicht ist das eine Lösung?

                  var timeout;
                  
                  on({id: "hue.0.Anwesenheit_WZ_BM"/*Anwesenheit_WZ_BM*/, val: true}, function (obj) {
                    var value = obj.state.val;
                    var oldValue = obj.oldState.val;
                    (function () {if (timeout) {clearTimeout(timeout); timeout = null;}})();
                    if (getState("javascript.0.Astro_Nacht").val == true) {
                      setState("broadlink.0.learnedSignals.CODE_b20734000c23230c230c230c0c23230c0c23230c0c23230c240c230c0d23230c0c230c230c230c230c230c23230c230c0c230c230c00016400000000"/*Wohnzimmer Kugel ein*/, true);
                      setState("hue.0.Bridge.Wohnzimmer.on"/*Bridge.Wohnzimmer.on*/, true);
                      setState("hue.0.Bridge.Küche.on"/*Bridge.Küche.on*/, true);
                      if (getState("yamaha.0.power").val == false) {
                        timeout = setTimeout(function () {
                          setState("broadlink.0.learnedSignals.CODE_b2001e01220c0b220c220c220c220c220c220b220c22230b230b0c0001630c22220c220b230b0c22230b0c22230b0b23220c220c220b0c22230b0c220c220b230b220c220c220c220c22220c220c0b0001630c22230b220c220c0b23220b0c22230b0c22230b220c220c0b23220b0c220c220c220c220b220c220c220c22230b220c0b0001630c22230b230b220b0c22230b0c22230b0c22220c220c220c0b22230b0c220c220b230b230b220c220c220b23220c220b0c0001630b23220c220b230b0c22230b0b23220b0c22230b230b230b0c22220c0b220c220c220c220b230b230b220c22230b230b0b0001630c22220c220c220c0b22230b0c22230b0b22230b0b22220c0b22230b0c210c220b220c220b220c220b220c220b220c220b0005dc00000000000000000000"/*Wohnzimmer Kugel aus*/, true);
                          setState("hue.0.Bridge.Wohnzimmer.on"/*Bridge.Wohnzimmer.on*/, false);
                          setState("hue.0.Bridge.Küche.on"/*Bridge.Küche.on*/, false);
                        }, 900000);
                      }
                    }
                  });
                  

                  Müsste ich später mal Zuhause testen.

                  VG
                  4811_4.jpg

                  1 Antwort Letzte Antwort
                  0
                  • AlCalzoneA Offline
                    AlCalzoneA Offline
                    AlCalzone
                    Developer
                    schrieb am zuletzt editiert von
                    #22

                    Denke dir die Logik mal ganz genau durch:

                    Unter welcher Bedingung muss ein 15-Minuten Timer gesetzt werden?

                    Unter welcher Bedingung muss er erneuert werden? D.h. löschen und wieder setzen.

                    Unter welcher Bedingung muss er einfach nur gelöscht werden?

                    Dann kannst du dir einen groben Ablauf erstellen wie der Code im Trigger strukturiert werden muss.

                    Hier findest du ein Beispiel wie man Timer setzt und löscht: https://github.com/ioBroker/ioBroker.ja … -execution

                    Der verzögert auszuführende Code (d.h. ausschalten) muss in dem Timer-Block gepackt werden.


                    Edit: Hier wurde was ähnliches gemacht: viewtopic.php?p=168045#p168045

                    Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

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

                      Hi,

                      der letzte von mir gepostete Ansatz funktioniert.

                      VG

                      1 Antwort Letzte Antwort
                      0
                      • AlCalzoneA Offline
                        AlCalzoneA Offline
                        AlCalzone
                        Developer
                        schrieb am zuletzt editiert von
                        #24

                        Prima, dann markiere das Thema im Titel des 1. Beitrags bitte als gelöst.

                        Warum `sudo` böse ist: https://forum.iobroker.net/post/17109

                        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

                        655

                        Online

                        32.7k

                        Benutzer

                        82.5k

                        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