Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Logik- bzw. Verständnisfehler, mehrere Bewegungssensoren

    NEWS

    • 15. 05. Wartungsarbeiten am ioBroker Forum

    • Monatsrückblick - April 2025

    • Minor js-controller 7.0.7 Update in latest repo

    Logik- bzw. Verständnisfehler, mehrere Bewegungssensoren

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

      Hallo,
      ich habe 4 Zigbee Bewegungssensoren und möchte bei Bewegungserkennung das Licht für 15 Minuten anschalten. Nun dachte ich, dass das Programm bei dem Befehl "Pause für 15min" da gefangen ist und erst nach den 15min aus der Schleife kommt bzw. solange nicht auf einen anderen Bewegungssensor regiert.
      Offensichtlich ist das nicht so. In meinem Logfile sehe ich einerseits, dass die Debug-Meldung innerhalb einer 1 Sekunde 2x auftaucht (warum?) und dass ich auch Meldungen erhalte, obwohl das Programm in der Schleife steckt (< 15min).
      blockly.jpg
      Wie setze ich das Blockly-Skript korrekt, damit es bei Bewegungserkennung einer der 4 Melder, das Licht für 15min anschaltet?

      crunchip paul53 I 3 Replies Last reply Reply Quote 0
      • crunchip
        crunchip Forum Testing Most Active @sunshineh last edited by

        @sunshineh was sind das für Triggerdatenpunkte/Bewegungsmelder?

        Du möchtest ein und die selbe Lampe steuern?
        Dann müsstest du schon mal den anderen Triggerblock nehmen und alle vier da rein packen, geht wenn du auf das Zahnrad klickst

        Homoran 1 Reply Last reply Reply Quote 0
        • Homoran
          Homoran Global Moderator Administrators @crunchip last edited by Homoran

          @crunchip sagte in Logik- bzw. Verständnisfehler, mehrere Bewegungssensoren:

          Dann müsstest du schon mal den anderen Triggerblock nehmen und alle vier da rein packen, geht wenn du auf das Zahnrad klickst

          Das ist sehr zu empfehlen, auch wenn es dann aber etwas schwerer wird über den debug den Auslöser zu sehen.

          Das löst aber nicht das Problem von @sunshineh
          Dazu bräuchte er eine Sperrvariable mit timeout.

          Ob das aber wieder das ist was er wirklich will, ist eine andere Frage.
          Wenn nach 14,5 Minuten nochmal jemand durchläuft geht dann nämlich das Licht trotzdem nach 15 Minuten auf.
          Hier braucht er einen saldierenden Zähler für ein Treppenhauslicht, so dass das Licht immer nach der Letztene Bewegung noch 15 Minuten leuchtet, oder.....

          1 Reply Last reply Reply Quote 1
          • paul53
            paul53 @sunshineh last edited by paul53

            @sunshineh sagte: bei Bewegungserkennung einer der 4 Melder, das Licht für 15min anschaltet?

            Triggere auf "ist größer als letztes" mit allen 4 BWM:

            Bild_2021-11-02_204525.png

            Anmerkung: Man muss erst eine dummy-Variable erstellen, um auf die Timer-Variable timeout zugreifen zu können.

            @homoran sagte in Logik- bzw. Verständnisfehler, mehrere Bewegungssensoren:

            dass das Licht immer nach der Letztene Bewegung noch 15 Minuten leuchtet

            Oder ist dieses Verhalten gewünscht? Dann so:

            Bild_2021-11-02_204802.png

            S 1 Reply Last reply Reply Quote 0
            • S
              sunshineh @paul53 last edited by

              @paul53 Vielen Dank!
              Ich habe nun das Skript wie folgt nachgebaut:
              79329115-ed80-4cd0-a6b4-c379e079cac8-image.png
              Und das sind die Meldungen vom Test - ich meine, die erkannten Bewegungen:
              6671eee0-e669-4606-bc88-29d6718c1bce-image.png

              Leider ist das Verhalten total komisch. Das Licht geht nach einigen Sekunden wieder aus, lässt auch auch bei Bewegung nicht wirklich anschalten bzw. nur für ein paar Sekunden, manchmal auch Minuten usw.

              Das Licht, dass ich ansteuere ist ein großer 100W LED-Strahler (fehlt da evtl. die Ohmsche Last?). Das Licht ist über das Xiaomi Aqara LLKZMK11LM Zwei-Wege-Steuermodul angeschlossen.

              Homoran 1 Reply Last reply Reply Quote 0
              • Homoran
                Homoran Global Moderator Administrators @sunshineh last edited by Homoran

                @sunshineh was hast du da für ei en grünen Baustein für timeout?
                alle 15 Minuten statt in 15 Minuten

                ist das der Intervall Baustein und du hast das Intervall "timeout " genannt?

                S 1 Reply Last reply Reply Quote 0
                • S
                  sunshineh @Homoran last edited by

                  @homoran
                  Ich habe mir nun mal folgendes Testskript erstellt:
                  68b2631f-8226-40cb-a300-31ba38538465-image.png
                  Dabei ist mir aufgefallen, dass ich was grundsätzlich nicht verstanden habe.

                  Das ist was ich will:
                  Bei Bewegung oder bei Click des Tasters möchte ich irgendwas machen, z.B. das Licht anschalten. dann nach 1 Minute wieder ausschalten.

                  Wenn ich mir die Ausgaben ansehe, so wir
                  1.Die Bewegungserkennung nicht wieder erkannt, wenn einmal der Bewegungssensor ausgelöst hat
                  2.Mit dem Taster dagegen, wird jeder Tastendruck erkannt, auch wenn er mehrmals hintereinander stattfindet.
                  3.Der TimeOut wird sooft hintereinander ausgeführt, wie die "Bewegungserkennung" erkannt wurde.

                  Kann ich das Skript nicht irgendwie so aufbauen, dass eine Schleife nur prüft, ob irgendein Sensor auf true geht und dann eine Timervariable setzt, die parallel nach Ablauf das Licht wieder ausschaltet? Sorry, ich fang erst ganz neu mit Blockly an...

                  Homoran 1 Reply Last reply Reply Quote 0
                  • Homoran
                    Homoran Global Moderator Administrators @sunshineh last edited by

                    @sunshineh sagte in Logik- bzw. Verständnisfehler, mehrere Bewegungssensoren:

                    Ich habe mir nun mal folgendes Testskript erstellt:

                    dir fehlt ein stop timeout.

                    Wenn das skript innerhalb des Timeouts ein zweites mal gestartet wird läuft der selbe Timeout mehrfach und kann nicht mehr gestoppt werden.

                    Du triggerst auf größer als letztes.
                    Taster sind üblicherweise immer true

                    1 Reply Last reply Reply Quote 0
                    • I
                      io_laurent @sunshineh last edited by

                      @sunshineh Also wenn es nicht zwingend ein Blockly sein muss, warum dann nicht den SmartControl Adapter nehmen? Der macht dir genau sowas sehr einfach:
                      https://github.com/Mic-M/ioBroker.smartcontrol

                      1 Reply Last reply Reply Quote 0
                      • First post
                        Last post

                      Support us

                      ioBroker
                      Community Adapters
                      Donate

                      765
                      Online

                      31.6k
                      Users

                      79.5k
                      Topics

                      1.3m
                      Posts

                      5
                      9
                      339
                      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