Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Reinerlein

Hi Christian,

klasse, ich glaube dir:-)
Dann war es schon der Tippfehler, der das Problem gelöst hat... das ist gut...

Jetzt brauchen wir nur noch den Test von Sacha zu dem Thema, dann hätten wir diese Baustelle auch erstmal dicht...

Grüße
Reiner

djhans

Hi,
habe jetzt weder diese Abstütze! Und zwar nachdem ich den Speak Befehl ausgeführt habe. fhem ist so dermaßen abgesemmelt, dass es sich weder "stop" noch mit "kill 9" abschießen lässt.

Den Speak Befehl hat er noch ausgeführt, dann war Schluss! Hier mal der Code, vielleicht fällt ja jemandem etwas auf:
define sayTemperatur at *13:59:00 \
{ my $temp = ReadingsVal("Wetter","fc1_low_c","unbekannt");;;;\
fhem "set Sonos_Bad Speak 20 de Aussentemperatur: $temp Grad."}
attr sayTemperatur room Wecker

djhans

JoeALLb

Also bei mir haben die letzten Tage auch die Speaks wieder gut funktioniert, ohne absturz.
Was ich festgestellt habe ich, dass sich ein anderer UPNP server (die Fritzbox mit beta-firmware)
mit dem sonos verbindung aufgenommen hat und sonos somit nicht mehr ordentlich zum steuern war.
Ich habe im Sonos-controller auf stopp gedrückt, 2 sekunden später war der radio wieder an.
Seit dem deaktivieren des medieservers auf der fritzbox gehts wieder. das war mehr oder weniger ein zufallsfund,
da ich die fritzbox dafür niemals konfiguriert hatte.

Eines ist mir jedoch noch aufgefallen: Sonos war aus, dann habe ich eine Durchsage nach einem Telefoneingang programmiert
so in etwa "Speak Stelle musik leiser da anruf".
Diese durchsage funktionierte, danach hat sich Sonos jedoch eingeschaltet. Ich denke, es sollte in den Ausgangszustand zurückkehren?!?


liebe Grüße
Joe
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

djhans

Hallo,
das mit dem "Einschalten nach der Durchsage" habe ich nicht. Der Player geht in den letzten Zustand wieder zurück. Wenn er aus war, blaeibt er nach der Durchsage auch aus, wenn Musik läuft, wird diese danach auch fortgesetzt (die Pause zwischen Ende Durchsage und Fortsetzung der Musik ist ein wenig lang). Der Fritten Mediaserver ist aus.  Allerdings läuft ein Twonky Mediaserver auf meiner qnap.

Sonst sollte da abernix sein. Ggf. noch die Dreambox. Möglicherweise läuft da noch ein Server, der den Sonos stören könnt. Wie kann man das herausfinden? Mit nem UPNP-Scanner? Da hatte Reiner mal etwas zu gepostet..

Christian.

djhans

Guten Abend,
ich habe noch mal eine Frage:
Im Wiki gibt es ein Bsp. um auf TastenEvents zu reagieren. Wenn ich das richtig verstehe, dann ist das doch genau das, was derzeit doch sowieso mit dem Sonos klappt.

kurzes Drücken auf Mute, Sonos Play
erneutes Drücken auf Mute, Sonos Pause (Radio Stop)
2 x kurzes Drücken auf Mute, Track weiterschalten (nicht bei Radio)

Play und Stop über fhem zu machen, macht doch nach dem Sonos FW-Update keinen Sinn mehr, oder erweitert man die Funktionalität der Buttons mit Reiners Bsp. und könnte damit beispielsweise einen Radiosender laden und einen Sleeptimer starten. Nur was passiert dann,  wenn man 2 x innerhalb einer Sekunde die Mute-taste drückt?

Christian


Reinerlein

Hi Christian,

das stimmt, diese Button-Events waren für die alte Firmware. Seit der neuen macht das nicht mehr soviel Sinn.
Man kann noch die Volume-Up und -Down Funktion verwenden... die alte Mute-Taste ist ja jetzt eine Play/Pause-Taste, die auch genau diese Events erzeugt (und kein Mute-Event mehr)...

Ich werde den Wiki-Eintrag mal entsprechend anpassen...

Grüße
Reiner

JoeALLb

Nur eine kleine Info:
Heute wusste mein Sonos_Wohnzimmer plötzlich seinen Namen nicht mehr...  Der Sonos Controller wollte,  dass ich einen neuen Namen vergebe. Sehr seltsam,  irgendwas geht da vor ;-)

Gesendet von meinem Xperia Pro mit Tapatalk

FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

JoeALLb

Da sWohnzimmer schaltete jetzt alle paar Sekunden ein und aus, ohne dass ich in
FHEM nur eingeloggt war.
2014-02-08 12:22:28 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
2014-02-08 12:22:29 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
2014-02-08 12:22:36 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
2014-02-08 12:22:37 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
2014-02-08 12:22:54 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
2014-02-08 12:22:55 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
2014-02-08 12:23:01 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
2014-02-08 12:23:04 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
2014-02-08 12:23:09 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
2014-02-08 12:23:10 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
2014-02-08 12:23:17 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
2014-02-08 12:23:18 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
2014-02-08 12:23:25 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
2014-02-08 12:23:26 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
2014-02-08 12:23:34 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
2014-02-08 12:23:35 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
2014-02-08 12:23:44 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
2014-02-08 12:23:45 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
2014-02-08 12:23:51 Global global DELETED Sonos


Als ich das mit dem Controller nicht in den Griff bekommen habe,
habe ich in FHEM delete Sonos eingetragen.
Danach stürzte FHEM komplett ab.
Anbei da sLog dazu.
Seither funktioniert Sonos wieder, also denke ich, war das Modul an diesem Effekt irgendwie beteiligt...?!? Kann das sein?

root@raspberrypi:~# 2014.02.08 12:23:51 3: SONOS0: Disconnecting client...
2014.02.08 12:23:51 3: SONOS0: Trying to kill Sonos_Thread...
2014.02.08 12:23:51 3: SONOS0: Trying to kill PlayerRestore_Thread...
2014.02.08 12:23:51 1: SONOS2: Restore-Thread wurde beendet.
Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/21_SONOSPLAYER.pm line 322.
2014.02.08 12:23:53 3: SONOS1: Controlpoint-Listener wurde beendet
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

Reinerlein

Hi JoeALLb,

die Zeile 322 ist der Start für eine Durchsage. Kann es sein, dass Fhem bei dir, vielleicht auf Basis irgendeines Events, eine Durchsage machen wollte?

Im ersten Schritt würde ich mal die Notifies, die sich irgendwie auf Sonos beziehen deaktivieren, und das Modul wieder aktivieren. Das kann ja fast nur ein wildgewordenes Event-Notify-Konstrukt sein...

Grüße
Reiner

JoeALLb

Anbei meine Notifys im Zusammenhanfg mit Sonos, ich erkenne da nichts, was dieses Verhalten produzieren könnte.

Notify #1 auf einem Taster, sollte das Problem also nicht sein
set Sonos Groups [Sonos_Wohnzimmer,Sonos_Kueche];
set Sonos_Wohnzimmer StartFavourite BAYERN%%203;
sleep 1;;
Sonos_Wohnzimmer Volume 45;;
set Sonos_Kueche Volume 30;;
sleep 1;;
set Sonos_Wohnzimmer Mute off
sleep 1;;
set Sonos_Kueche Mute off


Notify #2, ebenfalls Taster

set Sonos StopAll;
sleep 1;
set Sonos Groups [Sonos_Bad], [Sonos_Kueche],[Sonos_Schlafzimmer],[Sonos_Wohnzimmer];


Notify #3
set Sonos Groups [Sonos_Bad], [Sonos_Kueche],[Sonos_Schlafzimmer],[Sonos_Wohnzimmer]

Notify #4 am Taster
set Sonos_Wohnzimmer Speak 70 de Kalender gespeichert

Notify #5 am Taster, nur für testzwecke
{fhem("set HomeStatus %")}
{fhem("set Sonos_Kueche Volume 32")}
{fhem("set Sonos_Wohnzimmer Volume 32")}
{fhem("set Sonos_Kueche AddMember Sonos_Wohnzimmer")}
{fhem("set Sonos_Kueche Play")}


Notify #6 FritzboxTelefon
FritzBox:event:.*ring { fhem("set Sonos_Bad VolumeSave 15")};
{ fhem("set Sonos_Schlafzimmer VolumeSave 15")};
{ fhem("set Sonos_Wohnzimmer VolumeSave 15")};
{ fhem("set Sonos_Kueche VolumeSave 15")};
{ fhem("set Sonos_Wohnzimmer Speak 40 de Telefon stelle leiser")}


Also ich hab echt keine Idee, was das auslösen könnte!

Hab aber nach dem Neustart wieder einen Absturz von FHEM, nachdem ich nicht zuhause war.
Habe das Löschen des Sonos-devices nicht gespeichert und beim FHEM-Neustart nicht dran gedacht.
Als ich gerade eben heimgekommen bin war folgendes im Log zu sehen:

Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
2014.02.08 12:51:12 2: SONOS1: Error during UPnP-Handling:
2014.02.08 12:51:12 3: SONOS1: UPnP-Thread wurde beendet.
Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 4839, <$client> line 7.
Perl exited with active threads:
        2 running and unjoined
        0 finished and unjoined
        0 running and detached


die CPU-Last war 100% und FHEM antwortete nicht mehr. Der Prozess lief aber noch.
Was mich ebenfalls wundert ist, dass das Logging aller Daten bereits um 12:20 aufgehört hat,
die Konsole aber noch bis 12:51 weiterlief.....

Übrigens musste ich jetzt meinen "Sonos_Kueche" komplett neu in das Sonos-.Netz aufnehmen, er war einfach nicht mehr da und tauchte
nach einem Restart auch nicht auf. Muss ich die Ghostbusters rufen ;-)?
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

der-Lolo

Mein Sonos Modul ist auskommentiert, schon ne ganze Weile - ich hatte aber trotzdem gestern Probleme meinen play3 den ich meist vom Strom trenne in die bestehende Landschaft zu integrieren...

Vielleicht gibt es grundsätzlich ein Problem von Sonos. Vielleicht seit deren letztem update...

Reinerlein

Hallo zusammen,

sind die Player vielleicht schon etwas älter, und der integrierte Akku ist nicht mehr so stabil, sodas irgendwelche Informationen verloren gehen, wenn sie zulange aus sind?
Vielleicht gibt es aber auch eine Maximalzeit, die so ein Player aus sein darf...
Am Besten mal im Sonos-Forum suchen/posten. Vielleicht gibt es ja bereits eine Lösung/Antwort dazu...

zum Modul: Ich habe nun die Namensvergabe bei der Playererkennung zusammen mit Sacha getestet und soweit korrigiert, dass es bei ihm sauber funktioniert. Bitte mal in anderen Konstellationen testen...

Des Weiteren habe ich den Fehler mit dem Absturz bei fehlerhaften Devicenamen bei "AddMember" und "RemoveMember" entfernt. Es kommt jetzt eine saubere Fehlermeldung, mit den möglichen Werten...

Grüße
Reiner

JoeALLb

Zitat von: Reinerlein am 09 Februar 2014, 12:13:48
sind die Player vielleicht schon etwas älter, und der integrierte Akku ist nicht mehr so stabil, sodas irgendwelche Informationen verloren gehen, wenn sie zulange aus sind?

Meine Player waren gar nicht aus.... Ich verstehe es zur Zeit sowieso nicht.
Davor war FHEM tagelang stabil, gestern 2x die Abstürze, heute funktioniert wieder alles
sein 18h problemlos. Auch durchsagen werden wieder problemlos abgespielt.

Ich werds einfach beobachten, vielleicht entdecke ich noch einen Zusammenhang. Danke für die ganze Unterstützung!
FHEM-Server auf IntelAtom+Debian (8.1 Watt), KNX,
RasPi-2 Sonos-FHEM per FHEM2FHEM,RasPi-3 Versuchs-RasPi für WLAN-Tests
Gateways: DuoFern Stick, CUL866 PCA301, CUL HM, HMLan, JeeLink, LaCrosse,VCO2
Synology. Ardurino UNO für 1-Wire Tests, FB7270

der-Lolo

Der play3 ist noch nichtmal ein Jahr alt... War aber wirklich recht lange vom Strom getrennt... Ich wusste gar nicht das es da einen Akku gibt... Ich glaube aber den Zusammenhang erkannt zu haben, mal meldet er sich am ZP an, mal am Amp - das sind dann unterschiedliche Knoten hier im Netzwerk...

Hm...

herman

Hallo Reiner,

ich leide doch noch unter vielen Abstürzen, die sporadisch stattfinden. Mein FHEM stürzt Cas eins bis zwei Mal am Tag ab und das in folgenden Konstellationen:

- Alle Sonos Steckdosen aus, keiner im Haus, keine Befehle werden abgesetzt. Der Sonos-Thread logt sogar noch Nachrichten, dass irgendetwas abgelaufen wäre.
- Alle Sonos-Geräte in Betrieb, keine Befehle abgesetzt

Die Log-Datei hat keine Hinweise. Der Fhem-Prozess und Songs-Thread haben keine konstante Auslastung.
Eben hatte ich beim Neustart folgende Meldungen in der Konsole:


2014.02.09 21:52:42 3: SONOS0: Disconnecting client...
2014.02.09 21:52:42 3: SONOS0: Trying to kill Sonos_Thread...
2014.02.09 21:52:42 3: SONOS0: Trying to kill PlayerRestore_Thread...
2014.02.09 21:52:42 1: SONOS2: Restore-Thread wurde beendet.
2014.02.09 21:52:42 3: SONOS1: Controlpoint-Listener wurde beendet.
2014.02.09 21:52:48 1: SONOS0: Connection accepted from localhost:43246
2014.02.09 21:52:48 3: SONOS0: Disconnecting client...
2014.02.09 21:52:48 3: SONOS0: Sonos_Thread is already killed!
2014.02.09 21:52:50 1: SONOS0: Connection accepted from localhost:43248
2014.02.09 21:53:04 3: SONOS3: UPnP-Thread gestartet.
2014.02.09 21:53:05 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
2014.02.09 21:54:14 2: SONOS1: Error during UPnP-Handling:
2014.02.09 21:54:14 3: SONOS1: UPnP-Thread wurde beendet.


Hast Du Tipps, wie ich das ganze strukturiert debguggen könnte? Mir fehlt gerade der Ansatz, da die Abstürze nicht mit Aktivitäten meinerseits verbunden sind.

Vielen Dank für Deine Unterstützung!

Grüße,
Merhan