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 Licht über Bewegungsmelder, Dauerlicht über Taster

NEWS

  • Neuer Blogbeitrag: Monatsrückblick - Dezember 2025 🎄
    BluefoxB
    Bluefox
    11
    1
    326

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.5k

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    9.5k

[gelöst] Blockly Licht über Bewegungsmelder, Dauerlicht über Taster

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
48 Beiträge 8 Kommentatoren 12.9k Aufrufe 2 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.
  • rantanplanR Offline
    rantanplanR Offline
    rantanplan
    schrieb am zuletzt editiert von
    #18

    @AlCalzone:

    Dem Datenpunkt (Taster….PRESS_SHORT) ist dein Skript vollkommen egal. Er weiß nichts davon, wann dein Skript startet, stoppt, oder wann du ihn in deinem Skript abfragst. Der bekommt bei Betätigung einen Wert. Wenn du denSchalter also vorher mal betätigt hast und damit der Datenpunkt-Wert auf true steht, wird die Abfrage in deinem Skript auch bei der Ausführung sofort reagieren. `
    Soweit wie AlCalzone hatte ich gar nicht gelesen. :roll:

    Er hat natürlich vollkommen recht.

    Grüße

    Rantanplan

    CCU3 / MS Server 2019(VM) / Scripten mit Blockly

    1 Antwort Letzte Antwort
    0
    • E Offline
      E Offline
      emmpee
      schrieb am zuletzt editiert von
      #19

      @Alcalzone: Ich hatte auch den Verdacht, das die Variable vom Taster vielleicht auf true steht, deswegen am Anfang des Scriptes das Setzen aller Variablen auf false. Aber auch nach dem Neustart des Scriptes hat sich das Verhalten nicht geändert.

      @rantanplan: ich habe die Blöcke absichtlich außerhalb gelegt, weil ich ja nicht möchte, dass bei jedem Trigger die Variablen wieder auf 0 stehen. Auf beide Zustände möchte ich nicht triggern, da die Zeit, die dann ablaufen soll, immer 2x gestartet wird. Das die Homematic auch mal so aktualisiert wusste ich nicht und würde vielleicht auch erklären, warum nach 15s nochmal getriggert wurde.

      Ich werde weiter testen und bin froh, Euch löchern zu können :-)

      1 Antwort Letzte Antwort
      0
      • rantanplanR Offline
        rantanplanR Offline
        rantanplan
        schrieb am zuletzt editiert von
        #20

        @emmpee:

        @rantanplan: ich habe die Blöcke absichtlich außerhalb gelegt, weil ich ja nicht möchte, dass bei jedem Trigger die Variablen wieder auf 0 stehen. Auf beide Zustände möchte ich nicht triggern, da die Zeit, die dann ablaufen soll, immer 2x gestartet wird. `
        Warum soll die Zeit dann 2x gestartet werden?

        Dafür gibt es ja die Bedingungsabfragen.

        Mal sehen, ob ich Dein Problem richtig verstehe.

        1. es gibt KEINE Direktverknüpfungen zwischen Taster und Leuchte

        2. es gibt KEINE Direktverknüpfungen zwischen Bewegungsmelder und Leuchte

        3. wenn der BM Bewegung erkennt soll die Leuchte x Zeit angehen.

        4. wenn einer der Taster gedrückt wird, soll Leuchte angehen und an bleiben bis wieder ein Taster gedrückt wird.

        So richtig?

        Grüße

        Rantanplan

        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

        1 Antwort Letzte Antwort
        0
        • E Offline
          E Offline
          emmpee
          schrieb am zuletzt editiert von
          #21

          Genau so ist es. Laut Log wird bei Bewegung getriggert und nach 15s nochmal. Wollen zu ich das nicht, aber es ist so.

          Ich nehme nur der Einfachheit halber einen Taster zum ein und einen zum Ausschalten. 1. hab ich zwei Taster dran und

          2. muss ich ja sonst wieder abfragen ob das Licht an ist oder nicht

          1 Antwort Letzte Antwort
          0
          • rantanplanR Offline
            rantanplanR Offline
            rantanplan
            schrieb am zuletzt editiert von
            #22

            Ich hab da mal vorbereitet… ;)

            Allerdings nicht getestet.
            147_badlicht.png

            ! <block xmlns="http://www.w3.org/1999/xhtml" type="procedures_defnoreturn" id="-Ts^et}f~sjE_@F_b@Zr" x="-287.6651715072096" y="462.5000152587891"><mutation><arg name="x"></arg></mutation> <field name="NAME">LeuchteSchalten</field> <comment pinned="false" h="80" w="160">Beschreibe diese Funktion …</comment> <statement name="STACK"><block type="comment" id="*6FI2{TA*|L*sW+,L(}?"><field name="COMMENT">Funktion Leuchte ein- oder ausschalten</field> <next><block type="controls_if" id="9?aGD0/BVm_Gr=?2ms+r"><value name="IF0"><block type="logic_compare" id="Yv]yu9}8NM]KwDy7Dkc5"><field name="OP">NEQ</field> <value name="A"><block type="get_value" id="7DWzNGXN52r-5ejij|N%"><field name="ATTR">val</field> <field name="OID">ID auswählen</field></block></value> <value name="B"><block type="variables_get" id="WOJ,=X],[ZWF1cE5o.B#"><field name="VAR">x</field></block></value></block></value> <statement name="DO0"><block type="control" id="*B4#g]93@QAUExJcA+k4"><mutation delay_input="false"></mutation> <field name="OID">Object ID</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"><block type="variables_get" id="L}Bsm|]1G@6~G)e^!?(i"><field name="VAR">x</field></block></value></block></statement></block></next></block></statement></block> !

            Grüße

            Rantanplan

            CCU3 / MS Server 2019(VM) / Scripten mit Blockly

            1 Antwort Letzte Antwort
            0
            • rantanplanR Offline
              rantanplanR Offline
              rantanplan
              schrieb am zuletzt editiert von
              #23

              Upps

              Mir ist noch ein kleiner Schönheitsfehler aufgefallen.

              Wenn man im Bad hin und her läuft, kann es sein das der BM mehrmals Bewegung meldet.

              In meinem Beispiel würde dann jedesmal ein neuer Timer von 3 Min. gestartet.

              Kriegst Du das alleine hin?

              Grüße

              Rantanplan

              CCU3 / MS Server 2019(VM) / Scripten mit Blockly

              1 Antwort Letzte Antwort
              0
              • E Offline
                E Offline
                emmpee
                schrieb am zuletzt editiert von
                #24

                Denke schon. Ich guck mir das an wenn ich wieder zu Hause bin. Danke dir erstmal [emoji4]

                Sind die Blöcke normal untereinander eingehängt oder können die auch solo stehen?

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

                  @emmpee:

                  @Alcalzone: Ich hatte auch den Verdacht, das die Variable vom Taster vielleicht auf true steht, deswegen am Anfang des Scriptes das Setzen aller Variablen auf false. Aber auch nach dem Neustart des Scriptes hat sich das Verhalten nicht geändert. `
                  Die Variable hast du selbst definiert und existiert nur innerhalb des Skripts. Ich meinte den tatsächlichen Datenpunkt "Taster oben….PRESS_SHORT", den du im Block

                  Falls Objekt "Bewegungsmelder Bad.MOTION"
                  

                  abfragst. Der wird von Skript-Neustarts nicht beeinflusst, da es keine Skript-Variable ist, sondern ein Datenpunkt.

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

                  1 Antwort Letzte Antwort
                  0
                  • E Offline
                    E Offline
                    emmpee
                    schrieb am zuletzt editiert von
                    #26

                    Ich meinte es mit der Variablen so, dass sie, aus welchen Gründen auch immer, vielleicht in einem undefinierten Zustand ist und habe deswegen am Anfang des Scriptes alles erstmal definiert auf 0 gesetzt. War nur so ein Gedanke. Ich kenne sowas aus meinem Job mit Alarm oder Brandmeldeanlagen. Wenn die in kurzer Zeit zu oft stromlos gemacht werden, können Ausgänge einen undefinierten Zustand annehmen, der weder 0 noch richtig 1 ist, und reagieren dann auch bis Neustart überhaupt nicht.

                    1 Antwort Letzte Antwort
                    0
                    • E Offline
                      E Offline
                      emmpee
                      schrieb am zuletzt editiert von
                      #27

                      Also Rantanplan, was Du da mal vorbereitet hast…läuft. :-)

                      Super, danke dafür. Jetzt muss ich´s nur noch verstehen, sonst weiß ich beim nächsten Mal wieder nicht weiter.

                      Den timeout stop habe ich eingefügt, somit ist Dein "Schönheitsfehler" weg. Wenn ich das richtig verstanden habe, läuft sonst bei jeder Bewegung ein Timer los und das Licht bleibt dann, gefühlt, ewig an.

                      Ich zerpflück jetzt mal alles um zu verstehen, was da abgeht.

                      Ich danke Euch Jungs, es wird nicht das letzte Mal sein, das wir uns "sehen" :-)

                      1 Antwort Letzte Antwort
                      0
                      • rantanplanR Offline
                        rantanplanR Offline
                        rantanplan
                        schrieb am zuletzt editiert von
                        #28

                        @emmpee:

                        Ich danke Euch Jungs, es wird nicht das letzte Mal sein, das wir uns "sehen" :-) `
                        Immer wieder gerne :!:

                        Danke für die Rückmeldung.

                        (Meinen kleinen Fehler hätte ich mit einer weiteren Hilfvariablen gelöst ;) )

                        Grüße

                        Rantanplan

                        CCU3 / MS Server 2019(VM) / Scripten mit Blockly

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

                          @emmpee:

                          Ich meinte es mit der Variablen so, dass sie, aus welchen Gründen auch immer, vielleicht in einem undefinierten Zustand ist und habe deswegen am Anfang des Scriptes alles erstmal definiert auf 0 gesetzt. War nur so ein Gedanke. `
                          In JavaScript (im Hintergrund von Blockly) sind Variablen zum Start tatsächlich undefined. Die sind dann aber nicht mal 0, mal 1, sondern haben einfach keinen Wert, bis man ihnen einen zuweist.

                          Der "reset" am Anfang ist daher in einigen Fällen sogar angebracht.

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

                          1 Antwort Letzte Antwort
                          0
                          • E Offline
                            E Offline
                            emmpee
                            schrieb am zuletzt editiert von
                            #30

                            @rantanplan: ich merk schon, das Du auf die Dinger stehst :-) :-)

                            @Alcalzone: dann war mein Gedanke ja garnicht so verkehrt, geschadet hat´s auf alle Fälle nicht :-)

                            1 Antwort Letzte Antwort
                            0
                            • SegwayS Offline
                              SegwayS Offline
                              Segway
                              schrieb am zuletzt editiert von
                              #31

                              Hallo,

                              ich hoffe ich stelle mich nicht ins Abseits damit, aber es gibt auch eine Alternative direkt über die CCU2 ohne jegliches Script und Programm:

                              Ich habe einen Funkschalter-Bewegungsmelder HM-Sen-MDIR-WM55 sowie einen 2-fach Funkschalteraktor Unterputz HM-LC-Sw2-FM

                              Damit habe ich per Direktverknüpfung (DV) per Tastendruck Short –> Lampe 1 sowie Tastendruck LONG --> Lampe 2 geschaltet.

                              Nun noch eine DV angelegt die Lampe 1 per Bewegung einschaltet und die Art der Verweildauer von absolut auf mindestens ändern - Dauer kann individuell gewählt werden.

                              Licht ein per Taster = Dauerlicht

                              Licht ein per Bewegungserkennung = Dauer aktiv

                              So wollte ich es haben und funktioniert auch. Wie gesagt ist einfach nur ein Alternative mehr wollte ich nicht sagen. Wer es über das Blockly macht geht genauso gut :-)

                              Gruß Dirk
                              Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                              1 Antwort Letzte Antwort
                              0
                              • E Offline
                                E Offline
                                emmpee
                                schrieb am zuletzt editiert von
                                #32

                                Du stellst Dich keineswegs ins Abseits. Ich hatte es am Anfang genauso. Es kommt zwar in der Fragestellung nicht raus, aber ich wollte zu unterschiedlichen Zeiten unterschiedliche Verzögerungen (in der Nacht zum Pinkeln kürzer als morgens zum Zähneputzen) und das geht mit der Methode nicht.

                                1 Antwort Letzte Antwort
                                0
                                • SegwayS Offline
                                  SegwayS Offline
                                  Segway
                                  schrieb am zuletzt editiert von
                                  #33

                                  @emmpee:

                                  Du stellst Dich keineswegs ins Abseits. Ich hatte es am Anfang genauso. Es kommt zwar in der Fragestellung nicht raus, aber ich wollte zu unterschiedlichen Zeiten unterschiedliche Verzögerungen (in der Nacht zum Pinkeln kürzer als morgens zum Zähneputzen) und das geht mit der Methode nicht. `

                                  Jo das stimmt! Damit ginge es nicht :-)

                                  So hat jeder seine individuelle Lösung :-)

                                  Gesendet von iPhone mit Tapatalk

                                  Gruß Dirk
                                  Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                                  1 Antwort Letzte Antwort
                                  0
                                  • E Offline
                                    E Offline
                                    emmpee
                                    schrieb am zuletzt editiert von
                                    #34

                                    Du sagst es ist :)

                                    1 Antwort Letzte Antwort
                                    0
                                    • rantanplanR Offline
                                      rantanplanR Offline
                                      rantanplan
                                      schrieb am zuletzt editiert von
                                      #35

                                      @emmpee

                                      Setzt Du bitte noch ein [gelöst] in den Betreff.

                                      Grüße

                                      Rantanplan

                                      CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                      1 Antwort Letzte Antwort
                                      0
                                      • SegwayS Offline
                                        SegwayS Offline
                                        Segway
                                        schrieb am zuletzt editiert von
                                        #36

                                        Doch nochmal eine Frage:

                                        Kann ich irgendwo abgreifen wodurch das Licht eingeschaltet wurde ? Also entweder durch Bewegungsmelder (BM) oder durch Betätigen des Tasters ? Und wenn durch BM wäre eine Info der Zeit evtl. auch noch nice.

                                        Wahrscheinlich nur durch ein Programm oder ?

                                        Gruß Dirk
                                        Intel Proxmox Cluster (3x NUC) mit Debian & Proxmox / IoB als VM unter Debian / 60+ Adapter installiert

                                        1 Antwort Letzte Antwort
                                        0
                                        • rantanplanR Offline
                                          rantanplanR Offline
                                          rantanplan
                                          schrieb am zuletzt editiert von
                                          #37

                                          @Segway:

                                          Doch nochmal eine Frage:

                                          Kann ich irgendwo abgreifen wodurch das Licht eingeschaltet wurde ? Also entweder durch Bewegungsmelder (BM) oder durch Betätigen des Tasters ? Und wenn durch BM wäre eine Info der Zeit evtl. auch noch nice.

                                          Wahrscheinlich nur durch ein Programm oder ? `
                                          Das Beispiel hat zwei Trigger.

                                          Einen für BM der Andere für Taster.

                                          Da kannst Du eine zusätzliche Variable/Datenpunkt setzen.

                                          Grüße

                                          Rantanplan

                                          CCU3 / MS Server 2019(VM) / Scripten mit Blockly

                                          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

                                          525

                                          Online

                                          32.5k

                                          Benutzer

                                          81.7k

                                          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