Sonos steuern

Begonnen von Will, 05 Januar 2013, 15:51:12

Vorheriges Thema - Nächstes Thema

m0urs

Kann es denn unter welchen Umständen auch immer möglich sein, dass für ein Sonos-Device ein Button Event ausgelöst wird, ohne dass jemand tatsächlich eine Taste drückt? Ich habe eine Sub definiert, die auf einen Tastendruck für Volume down/up reagiert und gerade gesehen, dass diese Routine aufgerufen wurde ohne dass jemand an dem Gerät war. Das einzige was passiert ist, der Sonos-Player war Teil einer Gruppe und der Master-Player kam von einem Alarm-Snooze zurück und es wurde per Kommando für jeden Player der Gruppe die Lautstärke gesetzt (jeweils einzeln für jeden Player der Gruppe).

Loredo

#2536
Bzgl. eines hier früher mal erwähnten Beitrag zu einem kombinierten State-Reading (state2 genannt):

Ich habe den Codeschnipsel dazu aktualisiert.

Die Infos zum stateAV userReading finden sich jetzt hier:
https://forum.fhem.de/index.php/topic,42116.0.html


Darin enthalten ist jetzt auch ein Beispiel für eine Structure, um alle Sonos Geräte darin zusammenzufassen.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

schlingi

Mal eine Zwischenfrage: Ich steuer meine Sonos bei bestimmten Ereignissen so an, dass eine Sprachausgabe erfolgt oder ein mp3-File abgespielt wird. Manchmal funktioniert es, dann wieder nicht . nach einiger Zeit dann erneut. Es funktioniert immer, wenn ich den raspberry und die Sonos stromlos stelle, dann erst fhem starte und nach einer Weile die Sonos-Boxen unter Strom stelle. Woran könnte das liegen? Kann ich irgendwas einstellen, dass das System besser läuft? Vielen Dank für Mithilfe

Elektrolurch

Manchmal funktioniert, manchmal nicht....

Damit kann man manchmal auch nichts einstellen.

1. systematisch vorgehen und das logging für Sonos einstellen.
2. systematisch herausfinden, nach welchem Vorgang es dann nicht mehr funktioniert. Ich hatte bspw. das Problem, dass bei playURITemp mit Pfadangabe zu einer mp3-Datei sich der Sonos-Subprozess grußlos verabschiedete. Gesendete Befehle wurden danach einfach nicht mehr ausgeführt. Ursache dafür war, dass ich den Pfad falsch angegeben hatte. Wohingegen die Sprachausgabe immer funktionierte.
3. Das Neustarten ist nicht notwendig. Mit
attr Sonos disable 1
werden die Sonos-Subprozessse beendet. Warte dann 1 Minute und setze

attr Sonos disable

startet dann alles neu.
Dann kannst Du weiter versuchen, die Ursache für die Disfunktionalität herauszufinden.

Elektrolurch
configDB und Windows befreite Zone!

schlingi

Vielen Dank. Ich werde das probieren

Otto123

Das mit den Sonos Subprozessen neu starten ist eine gute Idee! Das werde ich bei mir mal einbauen.
Ich habe auch den Effekt, das nach längerer Laufzeit (ich sage mal Wochen) plötzlich ein paar Dinge nicht mehr gehen. Nach einem kompletten Neustart geht dann alles wieder.
Z.B. steure ich früh drei Sonos Lautsprecher einzeln mit einer Rampe von leise nach laut. Die letzten Tage wurde der dritte im Bunde nicht mehr "bedient". Obwohl das Lautstärke auf null fahren in Nacht problemlos funktioniert.
Hintergrund: Ich mag die Werbung nicht, die beim Start des Radiostreams vorangestellt wird. Ich drehe also die Lautstärke ganz zeitig früh auf null und starte den Stream. Bei Aufwachen wird dann nur laut gedreht.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Elektrolurch

Wegen dem relativ hohem Stromverbrauch der Player (je nach Typ zwischen 8 - 12 W), schalte ich meine 5 Player über FS20 Dosen ein und aus. Mit dem schalten der FS20 weiß ich ja dann, ddass nach ca. 30 bis 40 s ein presence - Event vom Player kommen sollte. Wenn das nicht kommt, setze ich das
attr Sonos disable 1
und nach ca. 1 Minute wieder auf 0.
Damit halte ich das Sonos-System aus fehm - Sicht am Leben.

Da die meisten Sonos - Befehle bzgl. fhem ein "result" - Ereignis zurück liefern, könnte man auch das während des laufendem Betriebs zur Funktionskontrolle verwenden. Zumindest hätte man sofort beim ersten Ausbleiben des results den Befehl, der den Sonos-Subprozess zum hängen gebracht hätte.

Elektrolurch
configDB und Windows befreite Zone!

schlingi

Das ist eine interessante Idee. Würdest Du mir einen Auszug aus Deiner cfg. zukommen lassen? Dann könnte ich mir das auch aufbauen...

Elektrolurch

Geht leider nicht, da ich mir ein Modul SonosCC gebastelt habe, um die Sonos-Gruppierungen für Durchsagen und die angeschlossenen SAT-Receiver zu verwalten.
Im Prinzip geht das so:
a) Einschalten der Steckdose -> ein Timer wird gestartet, der dann nach 120 s eine perl-Routine aufrufen soll.
b) kommt vorher das presence present - Ereignis für den Player, dann wird der timer gelöscht.
c) wird die Routine aufgerufen, so wird die Sequenz von attr Sonos disable 1 / 0 aufgerufen und damit die sub-Prozesse neu gestartet.

Elektrolurch
configDB und Windows befreite Zone!

schlingi

Vielen Dank. Dann probier ich das mal.

Devender

Hallo!

da ich auch immer Probleme mit dem Ausschalten des SonosDevice hatte habe ich die Angaben von Elektrolurch mal schriftlich im Sonos Wiki festgehalten.
Bei mir ist das DOIF seit Vorgestern im Einsatz und es funktioniert endlich nach jedem An und Aus. -Schalten.

http://www.fhemwiki.de/wiki/SONOS#Betrieb_des_Sonos_an_einer_Funksteckdose_.28regelm.C3.A4.C3.9Figes_Ausschalten.29_-_Verbindungsprobleme


define RebootSonosDOIF DOIF ([FunksteckerSonos:state] eq "on" )(deleteattr MeinSonosDevice disable) (save)
                       DOELSEIF ([FunksteckerSonos:state] eq "off" )(attr MeinSonosDevice disable 1)(save)


Vielleicht hilft es dem Ein oder Anderem trotzdem noch!

Grüsse,
Dirk
FHEM 5.8 auf RasPi mit Jessy - CUL868, JeeLink Lacrosse
Komponenten: HM, IT, ELV, FB7390, FritzPL543,Sonos Play3
Mehrere Wandtablets sowie einen Smart Mirror
https://wiki.fhem.de/wiki/Anwesenheitserkennung#PRESENCE-Modul

Ralli

Hallo Reiner,

ich möchte gerne einen Spotify-Titel starten, der im Reading currentTrackURI den folgenden Eintrag hat:


x-sonos-spotify:spotify:track:42SCX70vvdFxSNIsrEBh7a?sid=9&flags=8224&sn=5


Aufgrund der Sonderzeichen scheitere ich daran, diesen Titel mit einem PlayURI oder PlayURITemp auszulösen. Auch mit gedoppeltem Semikolon habe ich keinen Erfolg. Was tun?
Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240420) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa

marko67

Hallo guten Tag,

ich habe ein Problem beim Anlegen meiner Box (Play1)

Fhem läuft im Netzwerk an einem Kable Router. Mein Wlan macht eine Fritzbox am Router. Die Box wurde eingerichtet mit der Sonos App und läuft im Wlan und lässt sich mit dem Handy steuern.

Nun zum Problem:

Wenn die Box im Wlan ist und ich im Fhem lt. Wiki definiere wird das Modul angelegt und sucht die Box. Nach einiger Zeit wenn ich refresh im Browser mache geht das Modul auf opend. Sonst wird nichts angelegt.

Als ich die Box mit dem Lan Kabel angeschlossen habe wurde mit dem gl. Vorgang alles sauber angelegt und ich konnte die Box mit Fhem steuern. Allerdings ist sie dann nicht mehr im Wlan und lässt sich nicht mehr per App steuern was ich aber parallel machen möchte.

Ich habe dies bezgl. nichts in Google o.ä. gefunden, auch der Sonossupport konnte mir bisher nicht helfen.

Hätte jemand einen Tipp für mich was ich ändern müsste / sollte??

Danke schon mal im voraus

Marko

Otto123

Hallo Marko,

wie ist Deine Fritzbox angebunden? Als IP-Client oder als Router?

Hintergrund FHEM (Sonos Modul) und die Box (Play1) müssen sich per UPnP erreichen. Ich vermute deine FB verhindert das, getrennte Netzwerke?

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

marko67

#2549
Hallo Otto,

deine Vermutung wird wohl richtig sein. Die fritzbox hängt am Kabelmodem und erzeugt mein WLan (Kosten bei Kable Deutschland 5€ extra p/Monat).
Eingerichtet ist sie (fritzbox) nach einer der vielen Anleitungen im WWW https://www.router-faq.de/?id=router_fb&router=kabelmodem_2
Von Sonos habe ich mitlerweile auch eine Antwort bekommen die das gleiche aussagt:

Einfach den Player per LAN in das selbe Netzwerk hängen, auf das Ihr I-Phone per WIFI zugreift.

Das geht aber bei mir nicht. Der Kabelrouter versorgt über Lan alle Zimmer. Die fritzbox hat durch den Betrieb "Internetzugang über Lan1" keinen Ausgang mehr frei um an die Sonosbox zu kommen. Folglich muss ich einen Tod sterben, ich weiss nur noch nicht welchen. Vermutlich werde ich das Fhem Modul fallen lassen... leider.

Sollte jemand noch eine Idee haben wie ich evtl. die fritzbox tunen kann dann bin ich über Ideen dankbar.

Viele Grüße Marko