NEWS
Sonossteuerung
-
habs jetzt mal so gemacht, das radio springt aber sofort wieder bei bewegung um.
sprich ich komme rein, einslive geht an. ich stelle um auf bigfm, bei der nächsten bewegung geht aber wieder eins live an. -
@ricroe sagte in Sonossteuerung:
bei der nächsten bewegung geht aber wieder eins live an.
Tja, so wolltest du es doch
@ricroe sagte in Sonossteuerung:
beim nächsten Betreten des Raums wieder Einslive auf Stufe 11 höre.
Oder meintest du (nach den Zusatzinfos) dass du solange du dich bewegst den umgeschalteten Sender willst?
Beim nächsten Bewegen dann aber nicht mehr?woher soll der Sensor wissen, ob du zwischenzeitlich raus warst?
Hast du einen Türsensor? -
nein, einen Türsender hab ich aktuell nicht, könnte ich aber anbringen zur not. Ich dachte es geht vielleicht noch anders. Quasi das der Trigger ist, dass die Box einmal aus war. Ab dann wieder der alte Modus.
Also Beispiel / gewünscht ist : rein, einslive spielt für 7 min auf stufe 11. ich möchte heute aber mal bigfm auf stufe 12 hören. solange ich drin bin bzw. die box läuft, soll es so bleiben. wenn ich dann z.b. später oder am nächsten tag wieder rein gehe soll wieder normal einslive usw. laufen.
-
@ricroe sagte in Sonossteuerung:
Trigger ist, dass die Box einmal aus war. Ab dann wieder der alte Modus.
dann machen wir das doch so.
Eine Variable anlegen "bin raus" und die auf true setzen wenn die Box aus gehtDann diese Variable mit abfragen wenn Bewegung erkannt und nur auf 1live schalten wenn "bin raus" true ist, anschließend "bin raus" auf false setzen
-
puuh das krieg ich so allein nicht hin. könnte ich vielleicht noch mal ein Bild bekommen ?
-
@ricroe
das ist am Handy nie so einfachMuss ich machen wenn ich am PC sitze
Wie geht denn "die Box aus"?
Worauf kannst du da triggern/FALLS abfragen? -
kein problem, soo eilig ist es nicht.
die box wird mit "pause" gestoppt"
hier mal die möglichen befehle.
-
@ricroe sagte in Sonossteuerung:
kein problem, soo eilig ist es nicht.
die box wird mit "pause" gestoppt"Dann mach mir mal ein Export von deinem bisherigen Blockly
-
hab zwei. hier das alte welches ich selber machte.
<xml xmlns="http://www.w3.org/1999/xhtml"> <block type="on_ext" id="}o/akb44vuu0nulZoA9M" x="13" y="13"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="y3_3.uW7lsR)OjSQ#:jU"> <field name="oid">hm-rpc.0.KEQ0974837.1.MOTION</field> </shadow> </value> <statement name="STATEMENT"> <block type="control" id="va]HwxG?!^orn;oN=#i~"> <mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_44.favorites_set</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="#xjbn$8zK8#A0{|=7w#u"> <field name="TEXT">1LIVE - Das junge Radio des WDR.</field> </block> </value> <next> <block type="control" id="sIpRU~|2$x/_1/+:WN+Y"> <mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_44.volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="}iDo-q-8:70zrA%Utsy3"> <field name="NUM">10</field> </block> </value> <next> <block type="control" id="Qt%2p-#LPtrgZ@.s%$N7"> <mutation delay_input="true"></mutation> <field name="OID">sonos.0.root.192_168_178_44.pause</field> <field name="WITH_DELAY">TRUE</field> <field name="DELAY_MS">7</field> <field name="UNIT">min</field> <field name="CLEAR_RUNNING">TRUE</field> <value name="VALUE"> <block type="logic_boolean" id="]d!EtgCU%*c;ksp|3tZ5"> <field name="BOOL">TRUE</field> </block> </value> </block> </next> </block> </next> </block> </statement> </block> </xml>
und hier das neue welches ihr mir empfohlen habt
<xml xmlns="http://www.w3.org/1999/xhtml"> <variables> <variable type="undefined" id="timeout">timeout</variable> </variables> <block type="on_ext" id="J0sSV}qYG3dAs|_@ZV)d" x="63" y="12"> <mutation items="1"></mutation> <field name="CONDITION">ne</field> <field name="ACK_CONDITION"></field> <value name="OID0"> <shadow type="field_oid" id="A/CLs_fk0cZa5cu0vp.W"> <field name="oid">hm-rpc.0.KEQ0363847.1.MOTION</field> </shadow> </value> <statement name="STATEMENT"> <block type="controls_if" id="3C5gt2${=z5Z#Rj|m:XK"> <mutation else="1"></mutation> <value name="IF0"> <block type="on_source" id=",=rXuci=Ou`e+TTa@`S|"> <field name="ATTR">state.val</field> </block> </value> <statement name="DO0"> <block type="timeouts_cleartimeout" id="!]YoZk!Z4YWcGX:p80Ry"> <field name="NAME">timeout</field> <next> <block type="control" id="A=Ooy%|?Okw+iu]svar0"> <mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_45.favorites_set</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="text" id="v(%4}C~t]H$|eE;@o,7B"> <field name="TEXT">1LIVE - Das junge Radio des WDR.</field> </block> </value> <next> <block type="control" id="-3fQ.tn.$F+b]d!GA(V8"> <mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_45.volume</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="math_number" id="VQVm!~t5zFfn.UA!vHDJ"> <field name="NUM">11</field> </block> </value> </block> </next> </block> </next> </block> </statement> <statement name="ELSE"> <block type="timeouts_settimeout" id="zj0`TH4#m2[^L29{=RNe"> <field name="NAME">timeout</field> <field name="DELAY">7</field> <field name="UNIT">min</field> <statement name="STATEMENT"> <block type="control" id="!bq~iv=!Ow6w7ULUhfF`"> <mutation delay_input="false"></mutation> <field name="OID">sonos.0.root.192_168_178_45.pause</field> <field name="WITH_DELAY">FALSE</field> <value name="VALUE"> <block type="logic_boolean" id="`}+eEtsk;pWS_raW=Aj0"> <field name="BOOL">TRUE</field> </block> </value> </block> </statement> </block> </statement> </block> </statement> </block> </xml>
-
Das Problem ist doch das der Sensor nicht weis wann der Sender umgestellt wurde, man müsste das ganze Skript ausser gefecht setzten wenn ein Sender gewechselt wird.
Das Skript müsste selber erkennen wenn was anderes als 1 Live gespielt wird darf ich nicht mehr 1 Live spielen so lange der Raum nicht verlassen wurde.
Fragt sich nur was der Timer macht.... bei einer längeren Sitzung kann schon mal der Timer runter laufen und bei Bewegung würde dann trotzdem wieder 1 Live laufen....
-
@Flopsi sagte in Sonossteuerung:
bei Bewegung würde dann trotzdem wieder 1 Live laufen....
Das sollte ja so sein.
nur ich frage mich warum nach der letzten Bewegung der Timer noch 7 Minuten weiterläuft.
Bestenfalls nach dem Verlassen des Bads??@Flopsi sagte in Sonossteuerung:
Das Skript müsste selber erkennen wenn was anderes als 1 Live gespielt wird darf ich nicht mehr 1 Live spielen so lange der Raum nicht verlassen wurde.
Das muss noch rein!
hatte ja geschrieben eine Variable "bin raus" einzubeuen und solange die auf false steht darf nichts passieren
in etwa so:
wirklich zwischen Tür und Angel ohne viel Denken - also ohne Gewähr als Basisi
-
vielen dank ! es scheint zu funktionieren. werde es noch mal genaus ausprobieren morgen, aber es sieht sehr gut aus
-
so nach einigen Test stelle ich fest, es geht initial aber dann nicht mehr. Irgendwo scheint er sich zu verschlucken. Nach längerer Nutzungsdauer geht die Box gar nicht an oder immer nur kurz.
Die 7 Min. waren übrigens dazu da, das wenn ich z.b. in der Dusche bin und mich der Bewegungsmelder nicht erfassen kann, die musik dann trotzdem weiter läuft. -
@Homoran sagte:
also ohne Gewähr
Es gibt zwei Probleme:
- Der Timer wird nicht gestoppt, wenn neue Bewegung erkannt wird, aber bin_raus noch false oder undefined ist, mit der Folge, dass mehrere Timer laufen können.
- Wenn man eine Sperr-Variable auf true abfragt, muss man sie bei Script-Start mit true initialisieren, damit es auch gleich nach Script-Start funktioniert.
Vorschlag:
-
vielen dank. sieht bislang gut aus. ich teste noch mal weiter und gebe feedback.
-
Ich versteh das nicht mit der Variablen ...wie ist das gemeint das der Datenpunkt bin raus/bin drin geschalten wird ?
Ich meine man geht ins Bad Eins Live wird automatisch gespielt.
Dann entscheident man sich um und will einen anderen Sender hören dann sage ich der Alexa doch das was ich hören will.
Jetzt wird der neue gewünschte Sender gespielt aber nur die 7 Minuten weil ja dann das ursprüngliche Skript wieder läuft.
Hier mal mein Badezimmerradio mit einem Echo Dot:
Mich würde das auch interessieren wenn man Sonderwünsche äussert, will das aber auch verstehen ......nur verstehe es leider nicht oder habe was überlesen.
-
@Flopsi sagte in Sonossteuerung:
dann sage ich der Alexa doch das was ich hören will.
von Alexa war bisher nicht die Rede oder habe ich das überlesen?
Ist aber für die Variable auch egal.
Die Variable "bin_drin" wird in dem Beispiel von @paul53 erst dann auf falsch gesetzt, wenn du dich 7 Minuten nicht mehr im Bad bewegt hast (also sehr wahrscheinlich draußen bist)Erst bei der nächsten Bewegung (also wahrscheinlich bei einem weiteren Besuch des Bades) wird der Sender wiedr auf den default Wert gestellt.
Bei jeder Bewegung innerhalb der 7 Minuten jedoch nicht -
Ok von Alexa war nicht die Rede aber wie wird der gewünschte Sender umgestellt ? Ich habe das mal vorrausgesetzt weil es bei mir auch so ist .....
-
@Flopsi sagte in Sonossteuerung:
wie wird der gewünschte Sender umgestellt ?
ich denke über den SONOS-Adapter
geht ja hier um SONOSist aber unerheblich.
Deine Frage bezog sich ja darauf, dass das Script nur bei Variable=falsch (also wenn du das Zimmer verlassen hattest, wieder mit dem 1Live beginnt -
also nach einigen Tagen kann ich sagen, dass es funktioniert.
zu der frage weiter oben, ja ich stelle den „sonderwunsch“ per alexa um.
jetzt versuche ich mich noch an der zeitsteuerung, möchte ja beim nächtlichen gang gar nix hören