Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. Blockly
    5. Bewegungsmelder schaltet Licht an für bestimmt Zeit

    NEWS

    • Wir empfehlen: Node.js 22.x

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker goes Matter ... Matter Adapter in Stable

    Bewegungsmelder schaltet Licht an für bestimmt Zeit

    This topic has been deleted. Only users with topic management privileges can see it.
    • paul53
      paul53 @xadox last edited by paul53

      @xadox sagte:

      15 Minuten an bleiben, es sei den es wird erneut eine Bewegung registriert.

      Wichtig ist das Stoppen der Ausschaltverzögerung bei erneuter Bewegung. Wert findet man unter "Trigger".

      Blockly_temp.JPG

      J 1 Reply Last reply Reply Quote 0
      • J
        jensven @ParaChris82 last edited by

        @ParaChris82
        statt "falls wert von Objekt ID Raucherzimmer presence" = wahr reicht auch ein
        falls "wert" siehe Blockly von paul53

        P 1 Reply Last reply Reply Quote 0
        • J
          jensven @paul53 last edited by

          @paul53
          wobei @xadox auch beim Trigger direkt statt "wurde geändert" auf "ist wahr" umstellen. So wie mein blockly. Somit spart man sich die erneute abfrage von dem Wert

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

            @jensven sagte :

            "wurde geändert" auf "ist wahr" umstellen. So wie mein blockly. Somit spart man sich die erneute abfrage von dem Wert

            Der Unterschied liegt im sonst-Zweig: Ausschaltverzögerung, wenn keine Bewegung mehr.

            J P 2 Replies Last reply Reply Quote 0
            • P
              ParaChris82 @jensven last edited by

              @jensven Vielen Dank 🙂 versuche ich mir auch gerade an zu gewöhnen 🙂

              1 Reply Last reply Reply Quote 0
              • J
                jensven @paul53 last edited by

                @paul53
                das stimmt. Man kann mit dem Trigger "ist wahr" natürlich keine "sonst falls -> nicht wahr" abfrage schalten.
                Aber wenn er bei Bewegung das Licht für 15 einschalten will und dann wieder aus, ist dies ja mit nem Timeout zu realisieren.

                Sollte dabei der Bewegungsmelder umschalten auf "false" passiert da ja nix. Sollte aber innerhalb der 15 Minuten eine erneute Bewegung erkannt werden, Triggert ja der "ist wahr" fall wieder und die 15 Minuten starten von vorne

                1 Reply Last reply Reply Quote 0
                • P
                  ParaChris82 @paul53 last edited by

                  @paul53 Macht es bei so "kleinen" Skripten einen unterschied außer dass man eben mehr zusammen klicken muss bei Blockly? CPU und RAM sollten ja kaum in Anspruch genommen werden egal bei welcher weiße.
                  Wie ist deine Erfahrung? 🙂

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

                    @ParaChris82 sagte:

                    Macht es bei so "kleinen" Skripten einen unterschied außer dass man eben mehr zusammen klicken muss bei Blockly?

                    Der Unterschied im Ressourcen-Verbrauch ist minimal bzw. bei einem stark optimierenden Compiler nicht vorhanden. Ich würde allerdings nicht auf die Idee kommen, einen booleschen Wert, der nur false oder true liefert, auf true zu prüfen.

                    P J 3 Replies Last reply Reply Quote 0
                    • P
                      ParaChris82 @paul53 last edited by

                      @paul53 Vielen Dank für das Feedback. Und ja, genau so einen Fall hatte ich vor einer Woche mal probiert, Katastrophe !

                      1 Reply Last reply Reply Quote 0
                      • J
                        jensven @paul53 last edited by

                        @paul53
                        Weil ?
                        Ich will hier jetzt kein Konflikt oder ähnliches starten.
                        Ich bin auch erst seit ungefähr einem Jahr hier dabei, somit immer noch am lernen was blockly angeht 😉

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

                          @jensven sagte:

                          Weil ?

                          ?? Was: Weil ?

                          1 Reply Last reply Reply Quote 0
                          • xadox
                            xadox last edited by

                            Vielen Dank für die ganzen Tipps. So langsam wird es klarer. Aber ich muss erstmal verstehen was ihr da geschrieben habt.
                            Momentan habe ich es nun so:
                            97bca9e0-39ba-42ad-a154-46a36f759f27-image.png
                            Allerdings geht das Licht nicht mehr aus.

                            P 1 Reply Last reply Reply Quote 0
                            • J
                              jensven @paul53 last edited by

                              @paul53 said
                              Ich würde allerdings nicht auf die Idee kommen, einen booleschen Wert, der nur false oder true liefert, auf true zu prüfen.

                              Weil ?

                              paul53 1 Reply Last reply Reply Quote 0
                              • P
                                ParaChris82 @xadox last edited by

                                @xadox Wie lange hast du gewartet? Der Sensor muss zuerst False melden , das kann bei manchen Sensoren schon etwas dauern. Dauer nicht wundern wenn statt 30 Sek mal 60 Sek werden. Teste es doch mal mit einem kleineren Wert. Geh komplett aus den Raum und warte

                                xadox 1 Reply Last reply Reply Quote 0
                                • paul53
                                  paul53 @jensven last edited by paul53

                                  @jensven sagte:

                                  Weil ?

                                  Weil das Ergebnis eines jeden Vergleiches true oder false ist. Das liefert der boolesche Wert bereits.

                                  Blockly_temp.JPG

                                  1 Reply Last reply Reply Quote 0
                                  • xadox
                                    xadox last edited by xadox

                                    Würde sowas ebenfalls funktionieren:
                                    aade017b-4fca-4bd1-90a1-37b25cdba204-image.png
                                    Falls Schalter auf True prüfe ob Bewegung vorhanden ist und schalte Schalter off falls nicht.

                                    Asgothian 1 Reply Last reply Reply Quote 0
                                    • Asgothian
                                      Asgothian Developer @xadox last edited by

                                      @xadox

                                      Nein.

                                      Screenshot 2020-12-01 at 14.42.13.png

                                      Dieser Teil wird NIE so funktionieren wie du das erwartest.

                                      Innerhalb eines Bausteins aus dem "Trigger" Bereich ist generell KEIN weiterer "Falls Objekt" Baustein aus dem Trigger Bereich sinnvoll.

                                      Du kannst statt dessen einfach einen weiteren "falls" Baustein aus dem Logik Bereich nehmen, und darin den Baustein "wert von Objekt" aus dem System Bereich abfragen.

                                      A.

                                      xadox 1 Reply Last reply Reply Quote 0
                                      • xadox
                                        xadox @Asgothian last edited by

                                        @Asgothian Also eher so:
                                        eac9b3ef-5a33-44b9-a281-a6b5f881071d-image.png

                                        1 Reply Last reply Reply Quote 0
                                        • xadox
                                          xadox last edited by

                                          Leider funktioniert das Script so auch nicht.
                                          Das Licht bleibt dauerhaft an. Auch nach 15 Minuten.

                                          Asgothian 1 Reply Last reply Reply Quote 0
                                          • Asgothian
                                            Asgothian Developer @xadox last edited by

                                            @xadox das ist durchaus logisch.

                                            Was Du machst:

                                            Du triggerst die Lampe. Wann immer der Schalter in der Küche auf aus geht (Wert ist falsch) wartest Du 6 Minuten und dann machst Du die Lampe aus.
                                            Wenn der Schalter auf an geht (wert ist wahr) schaust du nach ob der BWM an ist, wenn ja dann stoppst du einen timeout.

                                            Was du willst:

                                            • Einen Trigger auf den Schalter - der soll die Lampe immer an und aus schalten.
                                            • Einen Trigger auf den BWM - der soll die Lampe ausschalten wenn keiner mehr in der Küche ist.

                                            Wie das genau aussehen kann ist so ohne weiteres nicht zu sagen, da nicht klar ist

                                            • was sich hinter der Objekt ID "Power" versteckt
                                            • was sich hinter der Objekt ID "Switch" versteckt
                                            • Welche Werte der DP "EG IR (Alarm Status)" annehmen kann.
                                            • Wie der Schalter funktioniert. (Ist das ein Schalter, der 2 Zustände annehmen kann, oder ein Taster der bei jeder Betätigung einmal kurz auf einen Wert springt wird.

                                            Jeder Vorschlag im Blockly ist jetzt stochern im dunkeln. Entscheidend ist das du die Events voneinander getrennt behandelst, und lokal angelegte Variablen dazu benutzt Informationen auszutauschen.

                                            Das kann Z.Bsp. so aussehen:
                                            In der Variablen "LampWasSwitchedOn" wird geschaut ob jemand die Lampe mit dem Taster explizit ein geschaltet hat. Wenn das der Fall ist, dann ist der BWM ohne Funktion.
                                            Ansonsten steuert der BWM die Lampe (an wenn jemand erkannt wird, aus 30 Sekunden nachdem niemand mehr erkannt wurde.

                                            Screen Shot 2020-12-02 at 12.26.08 .png

                                            A.

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            907
                                            Online

                                            32.0k
                                            Users

                                            80.4k
                                            Topics

                                            1.3m
                                            Posts

                                            6
                                            26
                                            1433
                                            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