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
    10
    1
    153

  • Weihnachtsangebot 2025! 🎄
    BluefoxB
    Bluefox
    24
    1
    1.4k

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

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
48 Beiträge 8 Kommentatoren 12.8k 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.
  • E Offline
    E Offline
    emmpee
    schrieb am zuletzt editiert von
    #1

    Moin allerseits,

    ich habe im Bad einen Homematic Bewegungsmelder mit 2 Tasten für´s Licht. Bewegungsmelder funktioniert top, Licht an, nach Zeit X wieder aus.

    Jetzt möchte ich noch per Taster Dauerlicht schalten, der Einfachheit halber mit einem Taster an und dem anderen wieder aus.

    Habe schon die eine oder andere Anregung von hier probiert, im besten Fall läuft aber trotz Tasterdruck die Zeit ab, im schlechtesten Fall geht garnix :-).

    Meine letzte Kreation ist die hier:

    ![](</s><URL url=)http://up.picr.de/29800861zr.png" />

    1 Antwort Letzte Antwort
    0
    • P Offline
      P Offline
      pix
      schrieb am zuletzt editiert von
      #2

      Hallo,

      wenn deine Taster auch von Homematic sind, dann eignet sich dafür Direktverknüpfungen. Sowohl zwischen Bewegungsmelder und Aktor, als auch zwischen den Tastern und dem Aktor.

      Beim Bewegungsmelder muss du nur darauf achten, dass die ART DER VERWEILDAUER auf MINDESTENS steht.

      Hier auch nochmal im richtigen Forum zum Nachlesen (inkl. Suchwortservice :lol: ):

      https://homematic-forum.de/forum/viewto … er#p269788

      Falls die Taster nicht direkt veknüpft werden können, dann bitte nochmal melden.

      Gruß

      Pix

      ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

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

        In der CCU habe ich das schon hingekriegt. Da ich aber zu unterschiedlichen Zeiten unterschiedliche Einschaltdauern haben möchte, ging das in der CCU nicht

        1 Antwort Letzte Antwort
        0
        • P Offline
          P Offline
          pix
          schrieb am zuletzt editiert von
          #4

          Was ist das denn für ein Aktor? Hat der Virtuelle Kanäle? Denn dann geht es doch sehr einfach. Die VK kannst du ja leicht von ioBroker aus setzen (zu bestimmten Tageszeiten)

          Pix

          ioBroker auf Ubuntu in Proxmox (früher Mac mini (bis OS X 10.12.6 Sierra), VIS via iOS; angeschlossen: Homematic CCU2, Homepilot 1, ConBee II, einige Wemos, Sonos, Unifi CK+Protect, Homekit, Homebridge; KEIN blockly! Github-Profil

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

            Ein 1-Kanal unter Putz Schaltaktor von Homematic, HM-LC-Sw1-FM. Muss ich mal schauen, ob der virtuelle Kanäle hat.

            Habe gerade geschaut, nein, der hat keine.

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

              Sollte es möglich sein, dass etwas, was auf der CCU fast so läuft, wie ich es möchte, in Blockly nicht abgebildet werden kann? Kann ich mir irgendwie nicht vorstellen.

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

                @emmpee:

                Sollte es möglich sein, dass etwas, was auf der CCU fast so läuft, wie ich es möchte, in Blockly nicht abgebildet werden kann? Kann ich mir irgendwie nicht vorstellen. `

                In deinem aufgebauten Skript sorgt ein Auslösen des Bewegungsmelders, dass auf alle Fälle, egal was der Schalter sagt, nach einer gewissen Zeit das Licht ausgeschaltet wird.

                Du brauchst eine zusätzliche Variable, die dem Status der manuellen Schaltung entspricht: d.h. Schalter oben => Variable=true, Schalter unten => Variable=false.

                Wenn diese Variable true ist, darf beim Auslösen des Bewegungsmelders das Timeout nicht gestartet werden. Oder alternativ muss vor dem automatischen Ausschalten geprüft werden, ob diese Variable true ist.

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

                1 Antwort Letzte Antwort
                0
                • HomoranH Nicht stören
                  HomoranH Nicht stören
                  Homoran
                  Global Moderator Administrators
                  schrieb am zuletzt editiert von
                  #8

                  @empee:

                  bin aber gerade etwas frustriert, weil es nicht klappt, wie ich gern möchte. `
                  klar, du musst dir nur klarmachen warum.

                  AlCalzone hat dir den Lösungsansatz schon gesagt.

                  Warum das so ist, ist auch ganz einfach: Der Bewegungsmelder gibt der Lampe eine Einschaltdauer mit, danach wird abgeschaltet. Und der letzte Befehl gilt. Wie bei der Bundeswehr.

                  Das kannst du nur über Hilfskonstruktionen wie Systemvariable lösen.

                  Gruß

                  Rainer

                  kein Support per PN! - Fragen im Forum stellen - es gibt fast nichts, was nicht auch für andere interessant ist.

                  Benutzt das Voting rechts unten im Beitrag wenn er euch geholfen hat.

                  der Installationsfixer: curl -fsL https://iobroker.net/fix.sh | bash -

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

                    Bin schon am pfriemeln. Frustration gehört dazu, nicht schlimm. Hab gerade ´n Leberkäsebrötchen gegessen und da sieht die Welt schon ganz anders aus :-).

                    Vielleicht habe ich auch ein falsches Verständnis der Logik. Ich lege bei "Falls Objekt" die Datenpunkte fest, die irgendwas machen sollen, dann bei "falls, mache" z.B. wenn Datenpunkt 1 wahr, mache das. Bei "sonst falls" z.B. wenn Datenpunkt 2 wahr, mache dies, usw. Hat das Script alle "Falls und sonst falls" durch, fängt es wieder oben an.

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

                      @emmpee:

                      Hat das Script alle "Falls und sonst falls" durch, fängt es wieder oben an. `
                      Nein. Bei jeder (oben definierten) Status-Änderung wird geschaut, welcher dieser Pfade zutrifft und derjenige ausgeführt. Dabei wird von oben nach unten durchgegangen und der erste passende genommen.

                      Aktuell bestimmt aber die Reihenfolge deiner Ereignisse, was passiert. Jeweils das letzte Ereignis bekommt "recht", wenn du nicht zusätzliche Logik einbaust. Z. B.:

                      Variante 1:
                      1\. Lichtschalter oben gedrückt => Licht an
                      2\. Bewegungsmelder löst aus => Licht an, nach bestimmter Zeit wieder aus.
                      
                      Variante 2:
                      1\. Bewegungsmelder löst aus => Licht an, nach bestimmter Zeit wieder aus.
                      2\. Lichtschalter oben gedrückt => Timer gelöscht, Licht bleibt an.
                      
                      

                      Was du willst ist folgendes:

                      Variante 1:
                      1\. Lichtschalter oben gedrückt => Licht an
                      2\. Bewegungsmelder löst aus => Wurde Lichtschalter oben betätigt? Dann nichts tun, sonst "Licht an, Timer setzen".
                      
                      Variante 2: ist bereits OK
                      
                      

                      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
                        #11

                        Alles bei "Falls Objekt" ist sozusagen "oder" verknüpft und schiebt alles was drunter ist erstmal an, wobei geschaut wird, was passt. Kann man auch was überspringen, nach der Art "Wenn das passt, springe gleich zum Übernächsten"?

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

                          @emmpee:

                          Alles bei "Falls Objekt" ist sozusagen "oder" verknüpft und schiebt alles was drunter ist erstmal an, wobei geschaut wird, was passt. Kann man auch was überspringen, nach der Art "Wenn das passt, springe gleich zum Übernächsten"? `
                          Schau mal unter Funktionen.

                          Da kannst Du schön mit "Unterroutinen" arbeiten.

                          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
                            #13

                            Werd ich tun. Ich denke, wenn ich die Logik dahinter mal geschnallt habe, wird´s leichter :-).

                            Kann ich nochmal ein paar blöde Fragen stellen, wenn ich nicht weiter komme?

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

                              @emmpee:

                              Kann ich nochmal ein paar blöde Fragen stellen, wenn ich nicht weiter komme? `
                              Na klar…"Hier werden Sie geholfen...." :D

                              Grüße

                              PS.

                              Setzte mal in den Betreff Deines ersten Beitrages "[Frage] Blockly Licht über…...." rein.

                              Da reagieren auch noch ein paar andere Blockly-Scriptler.

                              Rantanplan

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

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

                                Moin allerseits,

                                da bin ich wieder :-). Ich habe mal was zusammengeklickt, rein zum Verständnis für mich und verstehe es nicht.

                                Variablen alle auf 0, Trigger absichtlich nur auf Bewegung, d.h. für mein Verständnis, Taster werden erst ausgewertet, wenn vorher Bewegung war.

                                Jetzt kommt Bewegung, und NUR Bewegung, trotzdem wird einer der Taster ausgelöst. Es sollte doch so sein, dass der Bewegungsmelder triggert, es wird geschaut ob der Taster oben gedrückt ist -> nein -> Taster unten gedrückt? -> nein -> Ende, auf den nächsten Trigger warten.

                                ~~![](</s><URL url=)http://up.picr.de/29825175bh.png" />

                                ![](</s><URL url=)http://up.picr.de/29825182wy.png" />~~

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

                                  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.

                                  Wie du damit umgehst, hängt jetzt natürlich davon ab, wie sich bei Betätigung die States (Datenpunkte) ändern. Am besten schaust du dir mal genau an, was bei welchem Tastendruck passiert (welcher Datenpunkt in welchem Zustand welchen Wert hat) und überlegst dann, wie das Skript strukturiert sein muss.

                                  Prinzipiell würde ich bei deinem ersten Skript anfangen und die Trigger trennen, d.h. einen für jeden Datenpunkt ohne diese 3fach-Wenn-Dann-Abfrage. Interaktion dazwischen läuft dann am besten über extra Skript-Variablen (z.b. für manuellen Modus an/aus) oder (wenn das logisch funktioniert) durch Abfrage der Lichtschalter-Zustände im Bewegungs-Trigger.

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

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

                                    Hi,

                                    habe es mal kurz überflogen.

                                    Du triggerst den BM auf "Aktualisierung"

                                    HM Aktoren werden häufig aktualisiert, auch ohne Zustandsänderung!

                                    Da rennt Dein Trigger immer los.

                                    Besser ist auf "wurde geändert".

                                    Aber auch da aufpassen.

                                    MOTION ändert sich auf TRUE wenn Bewegung erkannt

                                    und dann wieder auf FALSE wenn keine Bewegung erkannt.

                                    Wenn Du auf beide Zustände reagieren willst, musst Du den BM Zustand innerhalb des Triggers abfragen.

                                    Falls BM = wahr

                                    mache …...

                                    sonst .......

                                    Oder Du stellt den Trigger auf WAHR.

                                    Dann rennt er nur los wenn der BM Bewegung erkennt.

                                    Dir ist auch bewust, dass die Blöcke ausserhalb des Triggers NUR EINMALIG bei Scriptstart ausgeführt werden?

                                    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
                                      #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
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          383

                                          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