Hallo - ich habe mich anfangs auch beim Sonos-schalten auch auf die Bewegungsmelder konzentriert.
Ging soweit - nur wollte ich dann Nachts (z.b. von 0.00 bis 5.00 Uhr) beim Bad/Toiletten-Besuch kein Sonos-Gerät am laufen haben ...
... also neuer Ansatz: Bewegung egal! - Das HUE-Licht (Helligkeit) wird abgefragt!
Da hat ja HUE die geniale Nachtsteuerung der Lampen wo man eine Uhrzeit definieren kann und die Helligkeit - z.b. nur 50% - alles gut, denn Sonos wird ja nur bei 100% geschalten. Dieses funktioniert sehr zuverlässig.
Hui dachte ich - also nehmen wir doch den Helligkeitswert der HUE-Lampe und frage den Status mit Blockly ab und schalte Sonos. Siehe da - alles ist gut! 😉
... hat den weiteren Vorteil das vor dem Abschalten der Lampe sich die Helligkeit der Lampe verringert - also wirds Zeit sich zu Bewegen das es Hell bleibt und Sonos geht ja nur bei 0% aus. Wenns dann Dunkel wird ist dein Sonos auch aus. 😉
... hier das Blockly:
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on" id="c08~!?}h/;gsL^zE(OMo" x="13" y="12"> <field name="OID">hue.0.Bridge_GR.Bad.level</field> <field name="CONDITION">any</field> <field name="ACK_CONDITION"></field> <statement name="STATEMENT"> <block type="controls_if" id="#F]0/Q8r1ut@.?^FOc-6"> <value name="IF0"> <block type="logic_compare" id="IR~LLs/L%xH)P=(Rcz*F"> <field name="OP">EQ</field> <value name="A"> <block type="on_source" id="Qz9J,V+C3-4TJsFPJXGN"> <field name="ATTR">state.val</field> </block> </value> <value name="B"> <block type="math_number" id="yb+v2-:?bRaB?bM)Wk[j"> <field name="NUM">100</field> </block> </value> </block> </value> <statement name="DO0"> <block type="control" id="0,KyWH6YQux.JP0zd;*k"> <mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_0_150.favorites_set</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="y2e8}+q(WtF|~z34=UeV"> <field name="TEXT">SWR3</field> </block> </value> <next> <block type="control" id="cR|BEa*?=9#a~oZo#`,T"> <mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_0_150.play</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="Ln_6B6brsLJ~u+[T/i`N"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </statement> </block> </statement> </block> </xml>