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] Hilfe bei Blockly-Skript Bewegungssensor

NEWS

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

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

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    25
    1
    2.1k

[Gelöst] Hilfe bei Blockly-Skript Bewegungssensor

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
14 Beiträge 3 Kommentatoren 4.3k 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.
  • Johan2009J Offline
    Johan2009J Offline
    Johan2009
    schrieb am zuletzt editiert von
    #1

    Hallo,

    bin ziemlich neu bei ioBroker und sehr begeistert. Seit kurzem beschäftige ich mich auch mit Blockly-Skripten und habe das Gefühl, dass ich es immer mehr im Griff bekomme. Nur mit einem Skript komme ich nicht weiter…

    Ich habe ich in der Küche jetzt einen Shelly und einen Aqara Bewegungssensor und will, dass bei Bewegung die Lampe eingeschaltet wird und ohne Bewegung nach 3 Minuten wieder ausgeschaltet wird. Wenn der Sensor aber Bewegung registriert, muss das Licht eingeschaltet bleiben. Und das letzte kriege ich nicht hin. Die Lampe wird eingeschaltet bei Bewegung und nach 3 Minuten ausgeschaltet. Wenn ich aber noch in der Küche bin und bewege, passiert nichts, es bleibt dunkel :(

    In Anlage 1 habe ich mein erstes Skript, dabei wird das Licht eingeschaltet und nach 3 Minuten ausgeschaltet (und bleibt aus)

    In Anlage 2 habe ich selber noch was an dem Skript gebastelt, aber auch ohne Erfolg, jetzt wird das Licht eingeschaltet, wird aber überhaupt nicht mehr ausgeschaltet.

    Ich hoffe, dass ihr mir helfen könnt und das ich meine Blockly-Kenntnisse wieder was erweitern kann!

    Grüße

    Johan
    10042_anlage_1.png
    10042_anlage_2.png

    1 Antwort Letzte Antwort
    0
    • dslraserD Offline
      dslraserD Offline
      dslraser
      Forum Testing Most Active
      schrieb am zuletzt editiert von
      #2

      Wie oft sendet Dein Bewegungsmekder ?

      (meiner ist so eingestellt:

      nach 15 Sekunden zurücksetzen und bei Bewegung auch innerhalb dieser 15 Sekunden)

      Ein stop timeout sehe ich zu viel bei Dir im ersten Bild.

      Edit: Du hast nur falls mache…

      Hier mal ein einfaches HUE Beispiel

      ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201901 ... dbbe5c.jpg">https://uploads.tapatalk-cdn.com/20190116/fbca2f7ec15545cb7bca0fc1dddbbe5c.jpg</link_text>" />

      1 Antwort Letzte Antwort
      0
      • J Offline
        J Offline
        J Riemann
        schrieb am zuletzt editiert von
        #3

        Ich habe es so gelöst: 6696_bildschirmfoto_2019-01-16_um_19.35.18.png

        Wichtig ist dabei das die Einschaltdauer der Lampe deutlich länger gewählt wird wie die Rückstellzeit des BWM.

        ****Viele Grüße!

        Jörg****

        1 Antwort Letzte Antwort
        0
        • Johan2009J Offline
          Johan2009J Offline
          Johan2009
          schrieb am zuletzt editiert von
          #4

          Erstens schon mal vielen Dank für euere Empfehlungen. Ich könnte natürlich so euere Einstellungen übernehmen, aber ich möchte es auch verstehen.

          Habe ich gut verstanden, dass euer Skript folgendes auslöst?

          @dslraser:

          Wenn Bewegung ist wahr, dann wird die Lampe gesteuert -> was bedeutet hier der 'Stop Timeout', ist das der Timout von 30 Sekunden der unten steht?

          Wenn Bewegung ist unwahr, dann Lampe aus -> ich verstehe aber nicht was die Funktion von 'Wert Lampe /= 0' ist.

          Übrigens @dslraser steht beim Bewegungsmelder in ioBroker - no motion - last motion - state - 1800 Sekunden, ist das was du meinst?

          @J Riemann

          Wenn Bewegung ist unwahr, dann folgt ein Timeout von 60 Sekunden und wenn das Licht dann schon eingeschaltet ist, geht sie nach 60 Sekunden aus.

          Dieser Timeout wird gestoppt, wenn es eine Bewegung gibt. Dann wird das Licht eingeschaltet, wenn es aus ist. Auch hier verstehe ich den Teil 'Wert Bad <70' nicht. Welche Funktion hat diesen Trigger?

          Schon im Voraus Dank fürs Mitdenken!

          Gruß

          Johan

          1 Antwort Letzte Antwort
          0
          • dslraserD Offline
            dslraserD Offline
            dslraser
            Forum Testing Most Active
            schrieb am zuletzt editiert von
            #5

            Die HUE Lampen kanst Du auf verschiedene Arten schalten. Level ist die Helligkeit, 0 ist aus. Es gibt auch on mit true und false. (den ich in diesem Fall nicht nutze)

            Du kannst auch Werte wie die Helligkeit mit einbeziehen. Z.B. nur wenn Helligkeit kleiner 70 dann schalte überhaupt irgendwas.(Habe ich draussen am Haus so)

            Zu den BWM Einstellungen meine ich das Gerät selbst. Bei mir Homematic IP.

            Ich habe beim posten auch gemerkt das ich mein Blockly schon längst verbessern wollte, und zwar beim einschalten noch zusätzlich zu prüfen ob das Licht schon an ist, oder noch aus. Sonst wird ein unnötiger einschalten Befehl gesendet.

            Das sind die Einstellungen meines BWM.

            ![](</s><URL url=)<link_text text="https://uploads.tapatalk-cdn.com/201901 ... 186471.jpg">https://uploads.tapatalk-cdn.com/20190116/d2fb9fd80ad1cb43c06eba21c8186471.jpg</link_text>" />

            1 Antwort Letzte Antwort
            0
            • J Offline
              J Offline
              J Riemann
              schrieb am zuletzt editiert von
              #6

              @Johan2009:

              @J Riemann

              Wenn Bewegung ist unwahr, dann folgt ein Timeout von 60 Sekunden und wenn das Licht dann schon eingeschaltet ist, geht sie nach 60 Sekunden aus.

              Dieser Timeout wird gestoppt, wenn es eine Bewegung gibt. Dann wird das Licht eingeschaltet, wenn es aus ist. Auch hier verstehe ich den Teil 'Wert Bad <70' nicht. Welche Funktion hat diesen Trigger? `

              In meinem Beispiel wird der Homematic Präsenzmelder und ein Homematic Schaltaktor gesteuert.

              Der Trigger ist nur der Datenpunkt „Presence“ (Motion/Bewegung) des Bewegungsmelder, also der rote Block. Wenn der Status von keine Bewegung auf Bewegung oder umgekehrt wechselt startet das Skript. Alle anderen Zeilen sind Bedingungen (falls) oder Aktionen (mache). „Bad < 70“ prüft ob der Lichtwert im Raum unter dem Wert 70 liegt.

              Szenario 1: Bewegung wird erkannt, Skript startet, das erste große „falls“ ist nicht erfüllt weil die Bedingung lautet „keine Bewegung erkannt“. „mache“ wird übersprungen, das 2. große „falls“ ist erfüllt und das dazugehörige „mache“ wird abgearbeitet. Hier wird als erstes ein evtl. bereits laufendes timeout (Ausschaltverzögerung) abgebrochen. Danach wird das Licht eingeschaltet wenn es aus ist. Allerdings nur wenn der Lichtwert unter 70 liegt.

              Szenario 2: Keine Bewegung wird gemeldet, das Skript startet, das 1. große „falls“ ist erfüllt. Nun wird das dazugehörige „mache“ abgearbeitet. Hier wird eine Verzögerung gestartet nach der das Licht ausgeschaltet wird falls es eingeschaltet ist. Das 2. große „falls“ ist nicht erfüllt, das dazugehörige „mache“ wird übersprungen und das Skript beendet.

              Szenario 3: Das Licht ist bereits durch Bewegung eingeschaltet, zwischenzeitlich wird „keine Bewegung“ gemeldet, timeout mit dem Ausschaltbefehl läuft an, vor Ende des Timers wird wieder Bewegung gemeldet, timeout wird abgebrochen, das Licht bleibt an.

              Du verwendest den Aqara BWM, der setzt meines Wissens den Status Bewegung IMMER nach 1 Minute zurück, auch wenn zwischenzeitlich Bewegung stattgefunden hat. Erst nach diesem zurücksetzen kann er erneut Bewegung erkennen und melden.

              Das bedeutet das Deine Einschaltdauer bzw. der Ausschalt-Timeout deutlich über 1 Minute liegen muss damit das Licht für die Dauer längerer Bewegung eingeschaltet bleibt. Die veranschlagten 3 Minuten sind ein guter Wert.

              ****Viele Grüße!

              Jörg****

              1 Antwort Letzte Antwort
              0
              • Johan2009J Offline
                Johan2009J Offline
                Johan2009
                schrieb am zuletzt editiert von
                #7

                @J Riemann und @dslraser vielen Dank für die ausführlichen Erläuterungen! Wenn man keinen technischen Hintergrund hat, sind die Blockly-Skripte am Anfang ganz schön schwierig.

                Anhand euerer Bemerkungen habe ich unterstehendes Skript (in der Anlage) zusammengebastelt. Die gute Nachricht ist, dass die Lampensteuerung in der Küche funktioniert!

                Die schlechte Nachricht ist aber, dass ich das Skript auch auf diese Weise für den Flur umgebaut habe und dort klappt es nicht :roll: Das Licht wird eingeschaltet, aber nicht wieder ausgeschaltet…. Offenbar habe ich es noch nicht ganz verstanden.

                Könnt ihr mir vielleicht sagen, ob ich da was übersehen habe? Ich wäre euch sehr dankbar für die Hilfe!

                Gruß

                Johan
                10042_anlage_7.png
                10042_anlage_6.png

                1 Antwort Letzte Antwort
                0
                • J Offline
                  J Offline
                  J Riemann
                  schrieb am zuletzt editiert von
                  #8

                  Die Zeitprüfungen kannst Du auch stehen lassen, ich persönlich halte sie aber beim ausschalten für überflüssig. Im Flur-Skript muss der Trigger geändert werden weil sonst das Skript nur startet wenn Bewegung erkannt wird. 6696_2765ea4a-83f1-492b-b108-9031134d0d83.jpeg 6696_c831c8c2-e142-4422-8a2f-d19b180649e0.jpeg

                  ****Viele Grüße!

                  Jörg****

                  1 Antwort Letzte Antwort
                  0
                  • Johan2009J Offline
                    Johan2009J Offline
                    Johan2009
                    schrieb am zuletzt editiert von
                    #9

                    @J Riemann

                    Das war tatsächlich der Fehler! Jetzt funktioniert alles wunderbar! Nochmals vielen Dank!

                    1 Antwort Letzte Antwort
                    0
                    • Johan2009J Offline
                      Johan2009J Offline
                      Johan2009
                      schrieb am zuletzt editiert von
                      #10

                      @J Riemann

                      Wir sind jetzt ein Paar Tage weiter und das Skript funktioniert meistens, aber vielleicht gibt es im Skript doch noch ein Problem.

                      Manchmal (ein Paar Mal am Tag) wird Licht eingeschaltet, brennt ein Paar Minuten, geht dann aus und wenn man in diesem Moment vorbei geht, wird kein Licht eingeschaltet. Wenn man dann ein Paar Minuten wartet, läuft es wieder. Hat das mit dieser Rücksetzung des Status Bewegung zu tun? Und wenn ja, was kann im Skript ändern, damit es nicht mehr passiert, dass es im Flur dunkel bleibt?

                      Vielen Dank fürs Mitdenken!

                      Gruß

                      Johan

                      1 Antwort Letzte Antwort
                      0
                      • J Offline
                        J Offline
                        J Riemann
                        schrieb am zuletzt editiert von
                        #11

                        Hmm… um zu verhindern das doppelte „Timeout“ laufen weil beide BWM zeitnahe auslösen könntest Du direkt vor den „Timeout“ ein „stop Timeout“ einbauen.

                        Außerdem sind oben im „Falls“ beide „unwahr“ per oder verbunden, das würde ich auf und ändern. (Sorry, den Fehler hatte ich übersehen). Es macht nämlich Sinn das beide BWM „keine Bewegung“ melden müssen bevor der Timer fürs ausschalten anläuft.

                        Außerdem kannst Du mal überprüfen wie lange der BWM wartet bis der Status „Bewegung“ zurückgesetzt wird (ich meine es ist 1 Minute). Sollte die Rückstellzeit länger sein wäre es evtl. nötig den Timeout zu erhöhen.

                        ****Viele Grüße!

                        Jörg****

                        1 Antwort Letzte Antwort
                        0
                        • Johan2009J Offline
                          Johan2009J Offline
                          Johan2009
                          schrieb am zuletzt editiert von
                          #12

                          @ J Riemann

                          @J Riemann:

                          Hmm… um zu verhindern das doppelte „Timeout“ laufen weil beide BWM zeitnahe auslösen könntest Du direkt vor den „Timeout“ ein „stop Timeout“ einbauen. `

                          Habe ich den 'stop Timout' so richtig eingebaut? Ich habe ein Screenshot in de Anlage hinzugefügt. Könntest mir vielleicht noch erklären was ein 'stop Timeout' hier bringt?

                          > Außerdem sind oben im „Falls“ beide „unwahr“ per oder verbunden, das würde ich auf und ändern. (Sorry, den Fehler hatte ich übersehen). Es macht nämlich Sinn das beide BWM „keine Bewegung“ melden müssen bevor der Timer fürs ausschalten anläuft.
                          Danke! Das macht auch Sinn! Habe ich auch geändert.

                          > Außerdem kannst Du mal überprüfen wie lange der BWM wartet bis der Status „Bewegung“ zurückgesetzt wird (ich meine es ist 1 Minute). Sollte die Rückstellzeit länger sein wäre es evtl. nötig den Timeout zu erhöhen.

                          Ich habe den Bewegungsmelder getimed bei einer einzigen Bewegung und folgendes herausgefunden:

                          Last motion -> die ersten 2 Minuten passiert nichts, dann erscheint '120 seconds'

                          -> nach 3 Minuten erscheint '180 seconds'

                          -> nach 5 Minuten erscheint '300 seconds'

                          Is motion -> nachdem Bewegung erkannt wurde auf 'true', nach 3 Minuten auf 'false'

                          Licht wird ausgeschalten nach 5 Minuten.

                          Stimmen die Einstellungen im Skript dann noch?

                          Vielen Dank!

                          Gruß

                          Johan
                          10042_anlage_8.png

                          1 Antwort Letzte Antwort
                          0
                          • J Offline
                            J Offline
                            J Riemann
                            schrieb am zuletzt editiert von
                            #13

                            @Johan2009:

                            Habe ich den 'stop Timout' so richtig eingebaut?. Könntest mir vielleicht noch erklären was ein 'stop Timeout' hier bringt? `
                            Ja, so hatte ich das gemeint. Sobald einer der BWM "keine Bewegung" meldet wird ja bekanntlich ein Timeout gestartet. Ohne das vorherige "stop" könnte es passieren das beide BWM kurz nacheinander "keine Bewegung" melden und dadurch parallel mehrere Timeout laufen. Mit der Änderung können jetzt keine ungewollten doppelten Verzögerungen der selben Aktion laufen. In Deiner Umsetzung macht das fehlende zusätzlich "stop" keinen großen Unterschied, in komplexeren Skripten welche evtl. häufig getriggert werden kann es dadurch aber schnell zu Problemen kommen. Bei dem gesamte Thema Timeout und Intervall muß man genau aufpassen das man wie programmiert.

                            @Johan2009:

                            Last motion -> die ersten 2 Minuten passiert nichts, dann erscheint '120 seconds'

                            -> nach 3 Minuten erscheint '180 seconds'

                            -> nach 5 Minuten erscheint '300 seconds' `
                            Last Motion (bei mir heißt der "no motion") zeigt in Sekunden an wie lange der letzte "Bewegung erkannt" Status her ist.

                            Is Motion (bei mir heißt der "Occupancy") zeigt "true" = Bewegung erkannt und "false" = keine Bewegung.

                            Is Motion bleibt ca. 1 Minute fix auf "true" und wechselt nach dieser Zeit IMMER zumindest kurz auf "false", Bewegungen innerhalb dieser Zeit werden nicht verarbeitet.

                            Aus diesem Grund muss die Einschaltdauer bzw. die Ausschaltverzögerung (Timeout) der Lampe deutlich über einer Minute liegen weil der Statuswechsel des BWM sonst ungewollte Schaltungen auslösen würde.

                            @Johan2009:

                            Licht wird ausgeschalten nach 5 Minuten. Stimmen die Einstellungen im Skript dann noch? `
                            Grundsätzlich würde ich ja sagen. Allerdings ist das auch von Euren persönlichen Verhaltensweisen und Abläufen abhängig. Und natürlich auch davon wie gut die BWM die zu überwachenden Fläche abdecken. Der Praxistest wird es zeigen… Du kannst aber ja problemlos mit den Timeout-Zeiten variieren.

                            Das Skript selbst sollte jetzt genau das tun was Du erwartest.

                            ****Viele Grüße!

                            Jörg****

                            1 Antwort Letzte Antwort
                            0
                            • Johan2009J Offline
                              Johan2009J Offline
                              Johan2009
                              schrieb am zuletzt editiert von
                              #14

                              Super, dann werde ich mal weiter testen! Nochmals danke für die Erläuterungen!

                              Gruß

                              Johan

                              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

                              606

                              Online

                              32.6k

                              Benutzer

                              82.1k

                              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