Skip to content
  • Home
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • 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

  • Default (No Skin)
  • No Skin
Collapse
ioBroker Logo

Community Forum

donate donate
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. Bewegungsmelder mit Hue und Sonos

NEWS

  • Verwendung von KI bitte immer deutlich kennzeichnen
    HomoranH
    Homoran
    5
    1
    66

  • Monatsrückblick Januar/Februar 2026 ist online!
    BluefoxB
    Bluefox
    18
    1
    839

  • Jahresrückblick 2025 – unser neuer Blogbeitrag ist online! ✨
    BluefoxB
    Bluefox
    18
    1
    6.4k

Bewegungsmelder mit Hue und Sonos

Scheduled Pinned Locked Moved Skripten / Logik
36 Posts 5 Posters 5.6k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • M Offline
    M Offline
    marphDE
    wrote on last edited by
    #4

    habe nun mal versucht das so umzubauen, dass das Script erstmal schaut ob der Helligkeitswert des Sensors unter einem bestimmten Wert liegt und ob Bewegung registriert wurde sowie den Status der Lampe (an/aus) vorher mit einzubeziehen (mit UND Verknüpfung).

    Dabei Sollte ja nur dann geschalten werden, wenn wirklich alle Drei Bedingungen erfüllt werden.

    Nun habe ich zusätzlich versucht das um einen Timer bzw. Timeout zu ergänzen, leider schaltet das Licht momentan überhaupt nicht ein.
    4060_bildschirmfoto_2018-01-17_um_12.40.23.png

    1 Reply Last reply
    0
    • rantanplanR Offline
      rantanplanR Offline
      rantanplan
      wrote on last edited by
      #5

      Hallo marphDE

      Setze doch mal den Debug-Baustein ein.

      Sonst ist das ein fischen im Trüben.

      1x direkt über den "Stop timeout". Damit kannst Du überprüfen ob der Trigger überhaupt gestartet wird.

      Und jeweils direkt unter der "falls" und "sonst falls" Bedingung.

      Damit kannst Du sehen welche und ob überhaupt eine Bedingung erfüllt wird.

      Der Debug-Baustein ist ein unverzichtliches Werkzeug zur Fehlersuche!

      Dann die Datenpunkte überprüfen!

      Am Besten unter Objekte.

      Was für Werte kommen da rein zum Schalten.

      Mal die Leuchte ein und ausschalten und schauen was in den Datenpunkten geändert wird.

      Grüße

      Rantanplan

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

      1 Reply Last reply
      0
      • M Offline
        M Offline
        marphDE
        wrote on last edited by
        #6

        so in etwa ?

        sorry aber das ist alles noch komplett neu für mich :roll:
        4060_bildschirmfoto_2018-01-17_um_15.59.10.png

        1 Reply Last reply
        0
        • rantanplanR Offline
          rantanplanR Offline
          rantanplan
          wrote on last edited by
          #7

          @marphDE:

          so in etwa ?

          sorry aber das ist alles noch komplett neu für mich :roll: `
          Ja, die Anordnung ist OK.

          Aber ich würde unterschiedliche Texte reinschreiben.

          Sonst siehst Du im LOG nur die Ausgabe "test" und weist nicht welcher Baustein die Meldung gemacht hat.

          Rantanplan

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

          1 Reply Last reply
          0
          • M Offline
            M Offline
            marphDE
            wrote on last edited by
            #8

            So, dass Timeout zum Abschalten kommt jetzt wie gewünscht vom Script aber dafür macht mir das Sonos ansteuern irgendwie einen Strich durch die Rechnung.

            Gewünschtes Verhalten:

            • Zwischen Morgens 4:53 und 22.00 Uhr soll er mir meinen Radiosender aus den Favoriten abspielen wenn auch der Bewegungsmelder (Burglar) einen Bewegung registriert.

            • Sollte bereits manuell etwas auf der Sonos abgespielt werden unabhängig von der Tageszeit und dem Bewegungsmelder, dann soll auch nichts geädert werden, sprich Wiedergabe bleibt wie manuell vorher eingestellt und es wird auch nicht mit dem Radio aus den Favoriten überschrieben.

            • Licht soll nur automatisch eingeschalten werden wenn Helligkeit einen bestimmten Wert unterschreitet.

            • Licht soll nicht automatisch ausgehen wenn es bereits vorher manuell eigeschalten wurde (bereits an).

            Ist Zustand:

            • Licht geht an wenn Bewegung erkannt wurde.

            • Licht geht automatisch aus obwohl vorher manuell eingeschalten wurde

            • Radio geht in jedem Fall nach Timeout von 2 Min. aus auch wenn vorher manuell eingeschalten wurde.

            Hat jemand eine Idee ?

            <u>Hier mal ein Blockly Export davon:</u>

            ! ````
            <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on" id="sa9ME8u[Sog/O{wblk+0" x="88" y="-112"><field name="OID">zwave.0.NODE2.ALARM.Burglar_1</field>
            <field name="CONDITION">ne</field>

            <statement name="STATEMENT"><block type="debug" id="It-rtad-L}76|HU?HhOv"><field name="Severity">debug</field>
                <value name="TEXT"><shadow type="text" id="LuD|(_)aiB;4,;cSsIcB"><field name="TEXT">Bewegungsmelder ausgelöst.</field></shadow></value> 
                <next><block type="timeouts_cleartimeout" id="E8={^^guCVz,,c8=N^DP"><field name="NAME">timeout</field>
                    <next><block type="controls_if" id="ALKGd?/:E}.?J:s4U@Iq"><mutation elseif="1"></mutation>
                        <value name="IF0"><block type="logic_operation" id="*cmZABUGJfj5DS.bz5o4"><field name="OP">AND</field>
                            <value name="A"><block type="logic_compare" id="wE07ARewmnH_@G(qVTm1"><field name="OP">LT</field>
                                <value name="A"><block type="get_value" id="KX31vP}#Eb0#4PX+x)x2"><field name="ATTR">val</field>
                                    <field name="OID">zwave.0.NODE2.SENSOR_MULTILEVEL.Luminance_1</field></block></value> 
                                <value name="B"><block type="math_number" id="EH5N,(v*]wuynpRQB82m"><field name="NUM">18</field></block></value></block></value> 
                            <value name="B"><block type="logic_operation" id="fsEycYCF*hg@6TK1,8P]"><field name="OP">AND</field>
                                <value name="A"><block type="logic_compare" id="{ht+Oe:*#YWvf{g_K(U4"><field name="OP">GT</field>
                                    <value name="A"><block type="get_value" id="n+7srm%!h[^,]/n{23w]"><field name="ATTR">val</field>
                                        <field name="OID">zwave.0.NODE2.ALARM.Burglar_1</field></block></value> 
                                    <value name="B"><block type="math_number" id="]ASTeu42|_I^xj#*uwHR"><field name="NUM">0</field></block></value></block></value> 
                                <value name="B"><block type="logic_compare" id="vEXg2?.OTD2NQi.WEZr8"><field name="OP">EQ</field>
                                    <value name="A"><block type="get_value" id="Rh=bEwTc3uuRnMJ@dT}{"><field name="ATTR">val</field>
                                        <field name="OID">hue.0.Philips_hue.Regal_Bad.on</field></block></value> 
                                    <value name="B"><block type="logic_boolean" id="Wrl%2rJs9Q{ftr((CWwL"><field name="BOOL">FALSE</field></block></value></block></value></block></value></block></value> 
                        <statement name="DO0"><block type="debug" id="[!/)_ocY_HSJ`|}G__^c"><field name="Severity">debug</field>
                            <value name="TEXT"><shadow type="text" id="~}Re*u+%D[p|EH5!hl1J"><field name="TEXT">Bewegungsmelder-Bedingungen erfüllt...schalte Licht an</field></shadow></value> 
                            <next><block type="control" id="Eb@zY(c@IH%j-_vsUlqj"><mutation delay_input="false"></mutation>
                                <field name="OID">hue.0.Philips_hue.Regal_Bad.on</field>
                                <field name="WITH_DELAY">FALSE</field>
                                <value name="VALUE"><block type="logic_boolean" id="6jMWeNtG5vhP#vousf7?"><field name="BOOL">TRUE</field></block></value></block></next></block></statement> 
                        <value name="IF1"><block type="logic_compare" id="qWY9vl]}(n-sx,#S_jve"><field name="OP">EQ</field>
                            <value name="A"><block type="get_value" id="Vc|AX2?A}FQ{5*t)w5y?"><field name="ATTR">val</field>
                                <field name="OID">zwave.0.NODE2.ALARM.Burglar_1</field></block></value> 
                            <value name="B"><block type="logic_boolean" id="`yLN)oX0eD7N](%PBK/C"><field name="BOOL">FALSE</field></block></value></block></value> 
                        <statement name="DO1"><block type="debug" id="5;70Q-7`iI=ceU}JH?Qv"><field name="Severity">debug</field>
                            <value name="TEXT"><shadow type="text" id="Qhu{hgF+!Bys2`xX+T)B"><field name="TEXT">Bewegungsmelder-Bedingungen nicht erfüllt...schalte Licht aus</field></shadow></value> 
                            <next><block type="timeouts_settimeout" id=";y8d9a8?^[Vtj;RKicl`"><field name="NAME">timeout</field>
                                <field name="DELAY">2</field>
                                <field name="UNIT">min</field>
                                <statement name="STATEMENT"><block type="control" id="Sszb,~~:krW#4j7al4zN"><mutation delay_input="false"></mutation>
                                    <field name="OID">hue.0.Philips_hue.Regal_Bad.on</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE"><block type="logic_boolean" id="wYGM[U#z[s^iE,8]|;2%"><field name="BOOL">FALSE</field></block></value></block></statement></block></next></block></statement> 
                        <next><block type="timeouts_cleartimeout" id="u.WzqQ.3}Z68FtITg%*."><field name="NAME">timeout2</field>
                            <next><block type="controls_if" id=":;db`PD,Uu)EK7WnbM=="><mutation else="1"></mutation>
                                <value name="IF0"><block type="logic_operation" id="FnN_~C~A|g1DhkDfS/HN"><field name="OP">AND</field>
                                    <value name="A"><block type="logic_compare" id="RZ[qVk!B=0A?ClI:KnCe"><field name="OP">GT</field>
                                        <value name="A"><block type="get_value" id="e~JdQeY9m/f8TRL3u{@~"><field name="ATTR">val</field>
                                            <field name="OID">zwave.0.NODE2.ALARM.Burglar_1</field></block></value> 
                                        <value name="B"><block type="math_number" id="_I^pz2w2{{}%iPUMi)H8"><field name="NUM">0</field></block></value></block></value> 
                                    <value name="B"><block type="logic_operation" id="96A|;LtC{8b`d=IT839m"><field name="OP">AND</field>
                                        <value name="A"><block type="time_compare" id="!C7y9@,KhTOhsmgqvK~;"><mutation end_time="true"></mutation>
                                            <field name="OPTION">between</field>
                                            <field name="START_TIME">4:35</field>
                                            <field name="END_TIME">22:00</field></block></value> 
                                        <value name="B"><block type="logic_compare" id="+nv%qwET!z?)^j7Yz?nO"><field name="OP">NEQ</field>
                                            <value name="A"><block type="get_value" id="vQXI9#G_:OR!-:i*4!D2"><field name="ATTR">val</field>
                                                <field name="OID">sonos.0.root.10_0_0_61.state</field></block></value> 
                                            <value name="B"><block type="text" id="%lXRXHc^,5qMj{l?iK/e"><field name="TEXT">play</field></block></value></block></value></block></value></block></value> 
                                <statement name="DO0"><block type="control" id="|NXfwtq2q)t.m.1QeB1U"><mutation delay_input="false"></mutation>
                                    <field name="OID">sonos.0.root.10_0_0_61.volume</field>
                                    <field name="WITH_DELAY">FALSE</field>
                                    <value name="VALUE"><block type="math_number" id="WFR0#DMZup_T?i@~ci%p"><field name="NUM">12</field></block></value> 
                                    <next><block type="control" id="m1Z4ijnJ_.:OQTgEsI{S"><mutation delay_input="false"></mutation>
                                        <field name="OID">sonos.0.root.10_0_0_61.favorites_set</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE"><block type="text" id="wb!H1}L.McRPsWlCH466"><field name="TEXT">94.3 RS2</field></block></value> 
                                        <next><block type="control" id="M7=jamTO`f_Vy3asBWy_"><mutation delay_input="false"></mutation>
                                            <field name="OID">sonos.0.root.10_0_0_61.state</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE"><block type="text" id="Cp/7yeWv1Aei%jeL-SQl"><field name="TEXT">play</field></block></value> 
                                            <next><block type="control" id="0^SZ=tQeC/|]-Su_(|=k"><mutation delay_input="false"></mutation>
                                                <field name="OID">sonos.0.root.10_0_0_61.play</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE"><block type="logic_boolean" id=":f1y3j};K,ER@r(@VEc#"><field name="BOOL">TRUE</field></block></value> 
                                                <next><block type="control" id="]C+RB`OFy[Nq.:xeJFeJ"><mutation delay_input="false"></mutation>
                                                    <field name="OID">sonos.0.root.10_0_0_61.stop</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE"><block type="logic_boolean" id="WGj!w{y;A:*[^G+z?23+"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></next></block></next></block></statement> 
                                <statement name="ELSE"><block type="timeouts_settimeout" id="o3g;-cpX4ZM;5Oq1e#/1"><field name="NAME">timeout2</field>
                                    <field name="DELAY">2</field>
                                    <field name="UNIT">min</field>
                                    <statement name="STATEMENT"><block type="control" id="8VX8b#!~Z9shewjZ#7_T"><mutation delay_input="false"></mutation>
                                        <field name="OID">sonos.0.root.10_0_0_61.favorites_set</field>
                                        <field name="WITH_DELAY">FALSE</field>
                                        <value name="VALUE"></value> 
                                        <next><block type="control" id="MgppBsV2+Na4|.vey`w+"><mutation delay_input="false"></mutation>
                                            <field name="OID">sonos.0.root.10_0_0_61.state</field>
                                            <field name="WITH_DELAY">FALSE</field>
                                            <value name="VALUE"><block type="text" id="=1KxAJ2sIFix]^xZb=J7"><field name="TEXT">stop</field></block></value> 
                                            <next><block type="control" id="#VA20cmt+?Olr!+@qz]P"><mutation delay_input="false"></mutation>
                                                <field name="OID">sonos.0.root.10_0_0_61.play</field>
                                                <field name="WITH_DELAY">FALSE</field>
                                                <value name="VALUE"><block type="logic_boolean" id="D}ei;}f7Y?*cU)u!Yi75"><field name="BOOL">FALSE</field></block></value> 
                                                <next><block type="control" id=",]qm.Y0v7L4sLtEs=[Pc"><mutation delay_input="false"></mutation>
                                                    <field name="OID">sonos.0.root.10_0_0_61.stop</field>
                                                    <field name="WITH_DELAY">FALSE</field>
                                                    <value name="VALUE"><block type="logic_boolean" id="vX}fod`eXr5pnSkfr_37"><field name="BOOL">TRUE</field></block></value></block></next></block></next></block></next></block></statement></block></statement></block></next></block></next></block></next></block></next></block></statement></block></xml> 
            

            ! ````

            4060_bildschirmfoto_2018-01-17_um_18.14.39.png

            1 Reply Last reply
            0
            • rantanplanR Offline
              rantanplanR Offline
              rantanplan
              wrote on last edited by
              #9

              @marphDE:

              Habe den Text nun hoffentlich sinnvoll angepasst, aber bekomme im Log trotzdem keine Ausgabe.

              Licht geht aber an aber mittlerweile auch nicht mehr aus. `
              Na dann triggert der Trigger nicht.

              Was ist den überhaupt ein "Burglar"?

              Dann mal einige Schritte zurück und erst die Grundbedingung checken.

              Mach mal ein neues Blockly.

              Darin nur einen Trigger für den "Burglar". So wie der aktuelle.

              In den Trigger nur eine Debug-Ausgabe mehr nicht.

              Also erst einmal schaffen das der BM getriggert wird.

              Kannst Du eventuell mal die Datenpunkte von dem "Burglar" liefern? (Screenshot)

              Rantanplan

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

              1 Reply Last reply
              0
              • M Offline
                M Offline
                marphDE
                wrote on last edited by
                #10

                Achso Licht geht übrigens aus.

                Da ist irgendwo Scriptseitig eine Un-Logik in der Logik vorhanden. :lol:

                Er schaltet ja auch fein brav ein aus geht auch nach dem im Script voreingestellten Timeout aus.

                Allerdings berücksichtigt er dabei die manuellen Schaltungen (Sonos spielt bereits etwas ab und soll weder umgeschalten noch ausgeschalten werden, auch wenn keine Bewegung vorhanden ist und es nicht in der Zeit von 4:35 - 22.00 Uhr ist.

                Lampe soll ja auch anbleiben sofern sie vor Bewegung an war (auch wenn unter angegebener Helligkeit).

                Hier der Screenshot: Burglar springt hoch wenn Bewegung registriert wurde und nach eingestellter Abklingzeit geht er auf 0 wenn keine Bewegung mehr vorhanden ist.

                4060_bildschirmfoto_2018-01-17_um_18.41.53.png

                javascript.0	2018-01-17 19:05:28.388	info	script.js.Bad.Bewegungsmelder: setTimeout(ms=120000)
                javascript.0	2018-01-17 19:05:28.388	info	script.js.Bad.Bewegungsmelder: Sonos Stop ! - Keine Bedingung wurde erfüllt
                javascript.0	2018-01-17 19:05:28.388	info	script.js.Bad.Bewegungsmelder: getState(id=zwave.0.NODE2.ALARM.Burglar_1, timerId=0) => {"val":0,"ack":true,"ts":1516212328383,"q":0,"from":"system.adapter.zwave.0","lc":1516212328383}
                javascript.0	2018-01-17 19:05:28.388	info	script.js.Bad.Bewegungsmelder: clearTimeout() => cleared
                javascript.0	2018-01-17 19:05:28.388	info	script.js.Bad.Bewegungsmelder: setTimeout(ms=120000)
                javascript.0	2018-01-17 19:05:28.388	info	script.js.Bad.Bewegungsmelder: Bewegungsmelder-Bedingungen nicht erfüllt...schalte Licht aus
                javascript.0	2018-01-17 19:05:28.388	info	script.js.Bad.Bewegungsmelder: getState(id=zwave.0.NODE2.ALARM.Burglar_1, timerId=0) => {"val":0,"ack":true,"ts":1516212328383,"q":0,"from":"system.adapter.zwave.0","lc":1516212328383}
                javascript.0	2018-01-17 19:05:28.388	info	script.js.Bad.Bewegungsmelder: getState(id=zwave.0.NODE2.ALARM.Burglar_1, timerId=0) => {"val":0,"ack":true,"ts":1516212328383,"q":0,"from":"system.adapter.zwave.0","lc":1516212328383}
                javascript.0	2018-01-17 19:05:28.388	info	script.js.Bad.Bewegungsmelder: getState(id=zwave.0.NODE2.SENSOR_MULTILEVEL.Luminance_1, timerId=0) => {"val":0,"ack":true,"ts":1516211851840,"q":0,"from":"system.adapter.zwave.0","lc":1516203423068}
                javascript.0	2018-01-17 19:05:28.387	info	script.js.Bad.Bewegungsmelder: Bewegungsmelder ausgelöst.
                javascript.0	2018-01-17 19:05:03.794	info	script.js.Bad.Bewegungsmelder: setTimeout(ms=120000)
                javascript.0	2018-01-17 19:05:03.794	info	script.js.Bad.Bewegungsmelder: Sonos Stop ! - Keine Bedingung wurde erfüllt
                javascript.0	2018-01-17 19:05:03.794	info	script.js.Bad.Bewegungsmelder: getState(id=sonos.0.root.10_0_0_61.state, timerId=0) => {"val":"play","ack":true,"ts":1516212300333,"q":0,"from":"system.adapter.sonos.0","lc":1516212273204}
                javascript.0	2018-01-17 19:05:03.794	info	script.js.Bad.Bewegungsmelder: getState(id=zwave.0.NODE2.ALARM.Burglar_1, timerId=0) => {"val":8,"ack":true,"ts":1516212303786,"q":0,"from":"system.adapter.zwave.0","lc":1516212303786}
                javascript.0	2018-01-17 19:05:03.794	info	script.js.Bad.Bewegungsmelder: clearTimeout() => cleared
                javascript.0	2018-01-17 19:05:03.794	info	script.js.Bad.Bewegungsmelder: getState(id=zwave.0.NODE2.ALARM.Burglar_1, timerId=0) => {"val":8,"ack":true,"ts":1516212303786,"q":0,"from":"system.adapter.zwave.0","lc":1516212303786}
                javascript.0	2018-01-17 19:05:03.793	info	script.js.Bad.Bewegungsmelder: getState(id=hue.0.Philips_hue.Regal_Bad.on, timerId=0) => {"val":true,"ack":true,"ts":1516212277406,"q":0,"from":"system.adapter.hue.0","lc":1516212273193}
                javascript.0	2018-01-17 19:05:03.793	info	script.js.Bad.Bewegungsmelder: getState(id=zwave.0.NODE2.ALARM.Burglar_1, timerId=0) => {"val":8,"ack":true,"ts":1516212303786,"q":0,"from":"system.adapter.zwave.0","lc":1516212303786}
                javascript.0	2018-01-17 19:05:03.793	info	script.js.Bad.Bewegungsmelder: getState(id=zwave.0.NODE2.SENSOR_MULTILEVEL.Luminance_1, timerId=0) => {"val":0,"ack":true,"ts":1516211851840,"q":0,"from":"system.adapter.zwave.0","lc":1516203423068}
                javascript.0	2018-01-17 19:05:03.793	info	script.js.Bad.Bewegungsmelder: clearTimeout() => cleared
                javascript.0	2018-01-17 19:05:03.793	info	script.js.Bad.Bewegungsmelder: Bewegungsmelder ausgelöst.
                
                
                1 Reply Last reply
                0
                • BBTownB Offline
                  BBTownB Offline
                  BBTown
                  wrote on last edited by
                  #11

                  kannst Du bitte einmal erklären:

                  • woran erkennst du dass die SONOS bereits läuft?

                  • woran erkennst Du dass die Lampe bereits eingeschaltet ist?

                  • bei welchen Bedingungen sollen sowohl Licht als auch die SONOS wieder ausgehen?

                  • immer nach 2 Minuten sofern diese durch den Bewegungsmelder eingeschaltet wurden?

                  • sofern Lampe und/oder SONOS bereits bei "Bewegung erkannt" eingeschaltet waren, soll dann das Ausschalten manuell erfolgen?

                  ioBroker auf NUC (VM debian v13 (Trixie ), node v22.22.2 npm v10.9.4, js-controller v7.1.1 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                  1 Reply Last reply
                  0
                  • M Offline
                    M Offline
                    marphDE
                    wrote on last edited by
                    #12

                    Hallo BBTown,

                    wenn ich den Status der Objekte des Sonos ansehe, steht doch da ob Play, Pause, Stop -> true oder false.

                    Soweit habe ich auch ohne Schalter ja sonst keine Möglichkeit das anders auszuwerten.

                    Ausgehen sollen Licht sowie Sonos nach dem Timeout nur dann, wenn keine Bewegung registriert wird und Lampe sowie Sonos nicht bereits vorher schon liefen (weil ich eben mal nicht bloß kurz in's Bad gehe sondern vielleicht auch mal länger ein Entspannungsbad nehmen möchte).

                    Immer dann nach im Script eingestellten Timeout wenn keine Bewegung für eine gewisse (wenn möglich variable Zeit) erfolgt ist.

                    Zudem soll der SONOS natürlich nur innerhalb der Zeit zwischen 4.35 und 22 Uhr immer angehen (bei Bewegung) wenn er nicht vorher sowieso schon etwas abspielt (dann soll er daran auch nix ändern).

                    Beim Licht soll dann auch noch Luminance(Lux) vom Sensor mit einbezogen sein um Tagsüber nicht unnötig das Licht einzuschalten.

                    1 Reply Last reply
                    0
                    • BBTownB Offline
                      BBTownB Offline
                      BBTown
                      wrote on last edited by
                      #13

                      das wäre mein Ansatz, wobei ich nicht 100%ig sicher bin ob "Löschen falls läuft" für die Erneuerung der 2 Minuten bei erneuter Bewegung ausreicht?!

                      Da könnte ggf. @rantanplan unterstützen bzgl. zusätzlicher timeouts zu den "Verzögerungen"
                      1917_sonosundlicht.jpg

                      ioBroker auf NUC (VM debian v13 (Trixie ), node v22.22.2 npm v10.9.4, js-controller v7.1.1 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                      1 Reply Last reply
                      0
                      • rantanplanR Offline
                        rantanplanR Offline
                        rantanplan
                        wrote on last edited by
                        #14

                        @BBTown:

                        das wäre mein Ansatz, wobei ich nicht 100%ig sicher bin ob "Löschen falls läuft" für die Erneuerung der 2 Minuten bei erneuter Bewegung ausreicht?! `
                        Ja, das geht. Die Zeit wird dann jeweils um 2 Min. verlängert.

                        Nach Ablauf der 2 Minuten werden die Befehle aber fast "gleichzeitig" abgefeuert.

                        Keine Ahnung ob SONOS sich dabei "verschluckt".

                        Rantanplan

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

                        1 Reply Last reply
                        0
                        • M Offline
                          M Offline
                          marphDE
                          wrote on last edited by
                          #15

                          Danke, werde ich morgen mal probieren und dann berichten :D

                          1 Reply Last reply
                          0
                          • BBTownB Offline
                            BBTownB Offline
                            BBTown
                            wrote on last edited by
                            #16

                            @rantanplan:

                            Nach Ablauf der 2 Minuten werden die Befehle aber fast "gleichzeitig" abgefeuert.

                            Keine Ahnung ob SONOS sich dabei "verschluckt". ` Das ist bei mir (in Verbindung mit 7 SONOS Geräten) bisher völlig unkritisch.

                            Wobei ich einen etwas anderen Weg gehe da ich über Alexa auch den Party-Modus steuere (alle SONOS in einer Gruppe spielen die gleiche Musik).

                            Ich habe ein separates Script welches alle meine SONOS überwacht.

                            Sofern bei einem SONOS die Lautstärke sich auf "> 1" ändert, wird über das Script für den/das SONOS Gerät folgendes gesetzt:

                            mute = false

                            play = true

                            stop = false

                            state = "play"

                            Ändert sich die Lautstärke eines/mehrerer SONOS auf "< 2", dann wird im umgekehrten Fall folgendes je Gerät gesetzt:

                            play = false

                            stop = true

                            state = "stop"

                            Somit benötige ich im Script für die Lichtschaltung im Bad bsp. nur den Befehl "SONOS Lautstärke = 20" und beim Ausschalten "SONOS Lautstärke = 0" anzugeben alles andere wird automatisch durch das generische Script geschaltet. Das hält meine anderen Scripte sehr übersichtlich.

                            Das Java-Script stammt von "pix" und ist auch in meinem http://forum.iobroker.net/viewtopic.php?f=37&t=7395 enthalten.

                            ! ````
                            /* Alexa_Sonos_schalten
                            ! reagiert auf Lautstärkeänderungen
                            Alexa Smartname zeigt auf .volume
                            Sonos-Adapter Version 1.6.0 voraus!
                            ! http://forum.iobroker.net/viewtopic.php?f=37&p=75526#p75526
                            ! 15.07.2017 erstellt von pix nach Idee von BBTown
                            16.07.2017 Quelle zugefügt
                            */
                            const logging = true;
                            ! // sonos.0.root.XXX_XXX_XXX_XXX.volume
                            var regex_vol = /^sonos.[0-9].root.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)_(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?).volume$/;
                            ! on({
                            id: regex_vol,
                            change: 'ne'
                            }, function(data) {
                            var pfad = getIdByName(data.channelName);
                            if (logging) log(data.channelName + ' (' + pfad + '.' + data.name + ') Lautstärke auf ' + data.state.val + '% geändert');
                            if (data.state.val >= 2) {
                            setState(pfad + '.muted', false);
                            setState(pfad + '.state', 'play');
                            setState(pfad + '.play', true);
                            setState(pfad + '.stop', false);
                            }
                            if (data.state.val < 2) {
                            setState(pfad + '.state', 'stop');
                            setState(pfad + '.play', false);
                            setState(pfad + '.stop', true);
                            }
                            });

                            ioBroker auf NUC (VM debian v13 (Trixie ), node v22.22.2 npm v10.9.4, js-controller v7.1.1 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                            1 Reply Last reply
                            0
                            • M Offline
                              M Offline
                              marphDE
                              wrote on last edited by
                              #17

                              ich habe das Blockly von BBTown mal nachgebaut, funktioniert auch soweit, bis auf eine Ausnahme.

                              Die Musik und das Licht gehen trotz Bewegung aus lassen sich wie es mir scheint auch vor Ablauf des Timeouts nicht wieder einschalten. Obwohl der Sensor schon etwas registriert.

                              1 Reply Last reply
                              0
                              • rantanplanR Offline
                                rantanplanR Offline
                                rantanplan
                                wrote on last edited by
                                #18

                                Dann mach doch mal eine Screenshot, besser noch eine Export.

                                So kann man nur raten.

                                Rantanplan

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

                                1 Reply Last reply
                                0
                                • M Offline
                                  M Offline
                                  marphDE
                                  wrote on last edited by
                                  #19

                                  Ok, habe das Verhalten nochmal getestet er schaltet nach Timeout ab, allerdings selbst wenn ich vor dem Bewegungsmelder quer durch den Raum umherlaufe geht die Lampe und das Radio trotzdem nicht an.

                                  Erst nach einer Weile wenn ich den Raum verlasse und eine bissen warte bevor ich ihn betrete, geht es wieder.

                                  Komisch, eigentlich sollte er das Abschalten ja eigentlich außer Kraft setzen bzw. den Timeout verlängern so lange Bewegungen erfolgen.

                                  Achja der Sensor erkennt aber auch Bewegungen (kann ich in den Objekten sehen), also liegt es nicht daran das nix angeschaltet wird.

                                  Export:

                                  ! ````
                                  ! <xml xmlns="http://www.w3.org/1999/xhtml"><block type="on_ext" id="~_jTRd2uEjv6BtxPG%fx" x="-13" y="13"><mutation items="1"></mutation>
                                  <field name="CONDITION">ne</field>

                                  <value name="OID0"><shadow type="field_oid" id="g54nI7K}1QilT[uDuw|^"><field name="oid">zwave.0.NODE2.ALARM.Burglar_1</field></shadow></value> 
                                  <statement name="STATEMENT"><block type="controls_if" id="mR`+!yPdR6x#HZIUOGB]"><value name="IF0"><block type="logic_compare" id=",(1+%Q#FS=,;J[.8MUf)"><field name="OP">GT</field>
                                          <value name="A"><block type="get_value" id="}NMjHF,YZy#H?JmqV/{s"><field name="ATTR">val</field>
                                              <field name="OID">zwave.0.NODE2.ALARM.Burglar_1</field></block></value> 
                                          <value name="B"><block type="math_number" id="EqNu{/|gvV#BjB6sq2!U"><field name="NUM">0</field></block></value></block></value> 
                                      <statement name="DO0"><block type="controls_if" id="r(n(?1ooC@}*dg.hb.^("><value name="IF0"><block type="logic_operation" id="8x/85[6ht1Wp?=C^Bbb]"><field name="OP">AND</field>
                                              <value name="A"><block type="time_compare" id="FXx1B]c4%R8#[h:Q+qCt"><mutation end_time="false"></mutation>
                                                  <field name="OPTION">>=</field>
                                                  <field name="START_TIME">18:00</field></block></value> 
                                              <value name="B"><block type="time_compare" id="W0L,nK%HQ+*:y]Pkw(E)"><mutation end_time="false"></mutation>
                                                  <field name="OPTION"><</field>
                                                  <field name="START_TIME">22:00</field></block></value></block></value> 
                                          <statement name="DO0"><block type="controls_if" id="|6yqMrq{ljIAzuAyMXT2"><value name="IF0"><block type="logic_compare" id=";:;uyP_6||mFe-),la/0"><field name="OP">NEQ</field>
                                                  <value name="A"><block type="get_value" id="tnX,zOR3cMUH:~@pn3LU"><field name="ATTR">val</field>
                                                      <field name="OID">sonos.0.root.10_0_0_61.state</field></block></value> 
                                                  <value name="B"><block type="text" id="DEb[(D8PC}S8E8Zjj!NV"><field name="TEXT">play</field></block></value></block></value> 
                                              <statement name="DO0"><block type="control" id="XB/H3U!K90wtF[7|vbQ9"><mutation delay_input="false"></mutation>
                                                  <field name="OID">sonos.0.root.10_0_0_61.volume</field>
                                                  <field name="WITH_DELAY">FALSE</field>
                                                  <value name="VALUE"><block type="math_number" id="(mhD+dAVVQVFv%YJTSoD"><field name="NUM">12</field></block></value> 
                                                  <next><block type="control" id="nl98VkAw|z,C(emzqnj!"><mutation delay_input="false"></mutation>
                                                      <field name="OID">sonos.0.root.10_0_0_61.state</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE"><block type="text" id="+vXq}[4M]dA+)4i@3z%]"><field name="TEXT">play</field></block></value> 
                                                      <next><block type="control" id="OkL0pgQZ9`AJjQSPW#hH"><mutation delay_input="false"></mutation>
                                                          <field name="OID">sonos.0.root.10_0_0_61.favorites_set</field>
                                                          <field name="WITH_DELAY">FALSE</field>
                                                          <value name="VALUE"><block type="text" id="8|r]Y/R+ek~x#31fIu,P"><field name="TEXT">94.3 RS2</field></block></value> 
                                                          <next><block type="control" id="qQ;MkWLC:,z,R5!S0wa."><mutation delay_input="false"></mutation>
                                                              <field name="OID">sonos.0.root.10_0_0_61.stop</field>
                                                              <field name="WITH_DELAY">FALSE</field>
                                                              <value name="VALUE"><block type="logic_boolean" id="aZojuBdcU[bwg:4e2qyF"><field name="BOOL">FALSE</field></block></value> 
                                                              <next><block type="control" id="iq0Sb}MvKL^iu:eM{`/y"><mutation delay_input="false"></mutation>
                                                                  <field name="OID">sonos.0.root.10_0_0_61.play</field>
                                                                  <field name="WITH_DELAY">FALSE</field>
                                                                  <value name="VALUE"><block type="logic_boolean" id="[Z`0CFHd?tS?dPg!LQi8"><field name="BOOL">TRUE</field></block></value> 
                                                                  <next><block type="control" id="6buX@Sdq!ibXvl94Upi,"><mutation delay_input="true"></mutation>
                                                                      <field name="OID">sonos.0.root.10_0_0_61.state</field>
                                                                      <field name="WITH_DELAY">TRUE</field>
                                                                      <field name="DELAY_MS">5</field>
                                                                      <field name="UNIT">min</field>
                                                                      <field name="CLEAR_RUNNING">TRUE</field>
                                                                      <value name="VALUE"><block type="text" id="@WZWY+M@Gt;BG|p=1nzk"><field name="TEXT">stop</field></block></value> 
                                                                      <next><block type="control" id="v7b2,e:fQG!bAI1;?6;}"><mutation delay_input="true"></mutation>
                                                                          <field name="OID">sonos.0.root.10_0_0_61.stop</field>
                                                                          <field name="WITH_DELAY">TRUE</field>
                                                                          <field name="DELAY_MS">5</field>
                                                                          <field name="UNIT">min</field>
                                                                          <field name="CLEAR_RUNNING">TRUE</field>
                                                                          <value name="VALUE"><block type="logic_boolean" id="5W%zBmmorL.Yw(Rq0dT9"><field name="BOOL">TRUE</field></block></value> 
                                                                          <next><block type="control" id="r?~AGLc9![dhMQ#P!GUt"><mutation delay_input="true"></mutation>
                                                                              <field name="OID">sonos.0.root.10_0_0_61.play</field>
                                                                              <field name="WITH_DELAY">TRUE</field>
                                                                              <field name="DELAY_MS">5</field>
                                                                              <field name="UNIT">min</field>
                                                                              <field name="CLEAR_RUNNING">TRUE</field>
                                                                              <value name="VALUE"><block type="logic_boolean" id="z^?F.0o4/K-iK_Ey/;%k"><field name="BOOL">FALSE</field></block></value></block></next></block></next></block></next></block></next></block></next></block></next></block></next></block></statement></block></statement> 
                                          <next><block type="controls_if" id="g]X2ch:E`b5r~fWTf_uH"><value name="IF0"><block type="logic_compare" id="ka@,mcr|HqLDmoz)!M=="><field name="OP">LT</field>
                                                  <value name="A"><block type="get_value" id="T{:U-zon~czyj9n|e![a"><field name="ATTR">val</field>
                                                      <field name="OID">zwave.0.NODE2.SENSOR_MULTILEVEL.Luminance_1</field></block></value> 
                                                  <value name="B"><block type="math_number" id="cLpWZSzugm|}d5q|cV[J"><field name="NUM">8</field></block></value></block></value> 
                                              <statement name="DO0"><block type="controls_if" id="ENf_66UQK0e%V~!(`j0v"><value name="IF0"><block type="logic_compare" id="}5w|SRh7[G;Ib}51C!}N"><field name="OP">EQ</field>
                                                      <value name="A"><block type="get_value" id="]npCfa)JM9l)15%ZPJw?"><field name="ATTR">val</field>
                                                          <field name="OID">hue.0.Philips_hue.Regal_Bad.on</field></block></value> 
                                                      <value name="B"><block type="logic_boolean" id="74TgnKyM,3/P`wo]9sh/"><field name="BOOL">FALSE</field></block></value></block></value> 
                                                  <statement name="DO0"><block type="control" id="G=qPrmHO5l+z^ZJE),L%"><mutation delay_input="false"></mutation>
                                                      <field name="OID">hue.0.Philips_hue.Regal_Bad.on</field>
                                                      <field name="WITH_DELAY">FALSE</field>
                                                      <value name="VALUE"><block type="logic_boolean" id=".#=F^vP7ok^u}8eq]a-#"><field name="BOOL">TRUE</field></block></value> 
                                                      <next><block type="control" id="[[!wWvXc~6!UX4WMU6N~"><mutation delay_input="true"></mutation>
                                                          <field name="OID">hue.0.Philips_hue.Regal_Bad.on</field>
                                                          <field name="WITH_DELAY">TRUE</field>
                                                          <field name="DELAY_MS">5</field>
                                                          <field name="UNIT">min</field>
                                                          <field name="CLEAR_RUNNING">TRUE</field>
                                                          <value name="VALUE"><block type="logic_boolean" id="h*ei|yucD)K}rUfzUvl1"><field name="BOOL">FALSE</field></block></value></block></next></block></statement></block></statement></block></next></block></statement></block></statement></block></xml> 
                                  

                                  ! ````

                                  4060_bildschirmfoto_2018-01-19_um_19.32.41.png
                                  4060_bildschirmfoto_2018-01-19_um_19.33.05.png

                                  1 Reply Last reply
                                  0
                                  • rantanplanR Offline
                                    rantanplanR Offline
                                    rantanplan
                                    wrote on last edited by
                                    #20

                                    @marphDE:

                                    Achja der Sensor erkennt aber auch Bewegungen (kann ich in den Objekten sehen), also liegt es nicht daran das nix angeschaltet wird. `
                                    Wahrscheinlich ist das so ein "komischer" BM der die Bewegungserkennung immer auf "true" hat.

                                    Oder schaltet der auch irgendwann wieder auf "false"?

                                    Wenn nicht, musst Du auf "aktualisiert" triggern.

                                    Das Script habe ich mir noch nicht angesehen.

                                    Grüße

                                    Rantanplan

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

                                    1 Reply Last reply
                                    0
                                    • BBTownB Offline
                                      BBTownB Offline
                                      BBTown
                                      wrote on last edited by
                                      #21

                                      @marphDE:

                                      ich habe das Blockly von BBTown mal nachgebaut ` Nein, hast Du nicht!!

                                      Du hast eine <u>wesentliche</u> Eigenschaft meines Blockly Beispiels geändert, da Du im Trigger nicht auf "aktualisiert" sondern auf "geändert" reagierst …

                                      ioBroker auf NUC (VM debian v13 (Trixie ), node v22.22.2 npm v10.9.4, js-controller v7.1.1 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                                      1 Reply Last reply
                                      0
                                      • M Offline
                                        M Offline
                                        marphDE
                                        wrote on last edited by
                                        #22

                                        @BBTown

                                        Ok, es war genau so nachgebaut !

                                        Ändert aber nichts an der Tatsache das dass Verhalten eben wie beschrieben ist, denn deshalb hatte ich ja das auf "geändert" gesetzt.

                                        @rantanplan:

                                        Dieser "komische" Bewegungsmelder sagt eigentlich weder "true" noch "false".

                                        Er gibt bei keine Bewegung eine "0" und bei höchster Empfindlichkeit eine "8" und er steht keinesfalls permanent auf größer "0".

                                        In meinem ursprünglichen Script (was auch auf "geändert" triggert ) funktioniert das mit dem nur Abschalten wenn keine Bewegung mehr erfolgt ja, bis auf einen Timeout und der Tatsache, abzufragen ob bereits Sonos & Licht vorher eingeschalten waren (manuell weil so gewünscht) und wenn nicht dann dann auch nichts daran ändern.

                                        Fakt ist, dass er momentan nach dem Timeout abschaltet auch wenn Bewegung erfolgt.

                                        1 Reply Last reply
                                        0
                                        • BBTownB Offline
                                          BBTownB Offline
                                          BBTown
                                          wrote on last edited by
                                          #23

                                          Wir können nur auf das reagieren was Du uns zeigst, und das war etwas anderes als die Vorlage beinhaltete.

                                          Hast Du den Unterschied zwischen "Aktualisieren" und "geändert" verinnerlicht?

                                          Dann versuche doch mal folgendes (Screenshot):
                                          1917_sonosundlichtvariablen.jpg

                                          ioBroker auf NUC (VM debian v13 (Trixie ), node v22.22.2 npm v10.9.4, js-controller v7.1.1 jsonl/jsonl / HomeMatic CCU-2 (Wired und Funk) / Philips HUE / echo.DOT / Broadlink RM pro / SONOS

                                          1 Reply Last reply
                                          0

                                          Hello! It looks like you're interested in this conversation, but you don't have an account yet.

                                          Getting fed up of having to scroll through the same posts each visit? When you register for an account, you'll always come back to exactly where you were before, and choose to be notified of new replies (either via email, or push notification). You'll also be able to save bookmarks and upvote posts to show your appreciation to other community members.

                                          With your input, this post could be even better 💗

                                          Register Login
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          414

                                          Online

                                          32.8k

                                          Users

                                          82.7k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen | Einwilligungseinstellungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Home
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe