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
    853

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

                      395

                      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