Sonos steuern

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

Vorheriges Thema - Nächstes Thema

chregu

Bin grad nicht sicher, ob das der richtige Ort ist, oder ob ich einen neuen Thread eröffnen soll. Ich versuch's mal hier

Ich hab FHEM installiert, das SONOS modul funktioniert prinzipiell auch. Ich habe 4 Sonos Player, einen Play:1, zwei als Stereo gepaarte Play:5 und einen Connect. Das Modul erkennt den Play:1 (beinahe) korrekt, die Play:5 auch nach einiger Zeit, aber es zeigt keine Metainformationen an und den Connect gar nicht (bis jetzt).

Bei der Play:5 Erkennung hatte ich folgendes


2013.12.08 12:07:48 4: SONOS1: RoomName: 'Living Room', SaveRoomName: 'Living_Room', ModelNumber: 'S5', DisplayVersion: '4.2', SerialNum: '00-0E-58-5B-03-CC:C', IconURI: '/img/icon-S5.png', IconOrigPath: 'http://192.168.1.35:1400/img/icon-S5.png', IconPath: 'icoSONOSPLAYER_icon-S5.png'
2013.12.08 12:07:48 2: SONOS1: Discover Sonosplayer 'Living Room' (S5) Software Revision 4.2 with ID 'RINCON_000E585B03CC01400_MR'
2013.12.08 12:07:48 4: SONOS1: SubDevice found: uuid:RINCON_000E585B03CC01400_MS
2013.12.08 12:07:49 4: SONOS1: SubDevice found: uuid:RINCON_000E585B03CC01400_MR
2013.12.08 12:07:49 4: SONOS1: ControlProxies wurden gesichert
2013.12.08 12:07:49 4: SONOS1: Retrieve Current Volumelevels. Master: "12", Balance: "0"
2013.12.08 12:07:49 1: SONOS1: Successfully autocreated SonosPlayer 'Living_Room' (S5) Software Revision 4.2 with ID 'RINCON_000E585B03CC01400_MR'
2013.12.08 12:07:49 2: SONOS1: SonosPlayer 'Living_Room' is now updated
2013.12.08 12:07:49 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_000E585B03CC01400_sub0000000057" and Timeout="86400s"
2013.12.08 12:07:49 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_000E585B03CC01400_sub0000000058" and Timeout="86400s"
2013.12.08 12:07:49 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_000E585B03CC01400_sub0000000059" and Timeout="86400s"
2013.12.08 12:07:49 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E585B03CC01400_sub0000000060" and Timeout="86400s"
2013.12.08 12:07:49 3: SONOS1: Discover: End of discover-event for "Living Room".
2013.12.08 12:07:49 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Living_Room".
2013.12.08 12:07:49 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_000E585B03CC01400_MR'
2013.12.08 12:07:49 4: SONOS1: Transport-Event: GroundURL: http://192.168.1.35:1400
2013.12.08 12:07:49 4: SONOS1: Transport-Event: LastChange: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/AVT/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/"><InstanceID val="0"><TransportState val="PLAYING"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="1"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="x-rincon:RINCON_000E582B613C01400"/><CurrentTrackDuration val=""/><CurrentTrackMetaData val=""/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val=""/><r:EnqueuedTransportURIMetaData val=""/><PlaybackStorageMedium val="NETWORK"/><AVTransportURI val="x-rincon:RINCON_000E582B613C01400"/><AVTransportURIMetaData val=""/><NextAVTransportURI val=""/><NextAVTransportURIMetaData val=""/><CurrentTransportActions val="Play, Stop"/><TransportStatus val="OK"/><r:SleepTimerGeneration val="0"/><r:AlarmRunning val="0"/><r:SnoozeRunning val="0"/><r:RestartPending val="0"/><TransportPlaySpeed val="NOT_IMPLEMENTED"/><CurrentMediaDuration val="NOT_IMPLEMENTED"/><RecordStorageMedium val="NOT_IMPLEMENTED"/><PossiblePlaybackStorageMedia val="NONE, NETWORK"/><PossibleRecordStorageMedia val="NOT_IMPLEMENTED"/><RecordMediumWriteStatus val="NOT_IMPLEMENTED"/><CurrentRecordQualityMode val="NOT_IMPLEMENTED"/><PossibleRecordQualityModes val="NOT_IMPLEMENTED"/></InstanceID></Event>
2013.12.08 12:07:50 4: SONOS1: Transport-Event: CurrentTrackMetaData:
2013.12.08 12:07:50 4: SONOS1: Transport-Event: Normal erkannt!
Thread 1 terminated abnormally: Invalid value for shared scalar at FHEM/00_SONOS.pm line 4495, <$client> line 2.
^@^@Use of uninitialized value $udn in concatenation (.) or string at ./FHEM/00_SONOS.pm line 997.


Dann bei der Steuerung:
Beim Play:1 gehen die Volume-Controls, aber nicht Play/Pause, ich krieg da ein


^@Use of uninitialized value $udn in concatenation (.) or string at ./FHEM/00_SONOS.pm line 997.
2013.12.08 12:14:23 3: SONOS0: Received: 'DoWork::pause:'


Bei der Play:5 dieselben Meldungen, aber die reagieren auch nicht auf die Volume-Controls.

Eine Idee, an was das liegen könnte?

Das ganze läuft übrigens auf einem Laptop mit Ubuntu 13.04

Lieber Gruss

Christian

chregu

Update: nach einem Neustart der FHEM hat er nun den CONNECT auch erkannt, aber mit dem selben Error wie die Play:5, also nicht steuerbar und Events krieg ich auch keine in FHEM

chregu

Und nochmal ein Update, nachdem ich alles nochmals instalierte und auf Ubuntu 13.10 updated habe, geht's nun. Vielen dank für das Modul

Christian

djhans

Hallo Reiner,
Besten Dank. Dann ist ja alles in Butter! wollte halt nur meine Erfahrungen mit diesem Verhalten teilen...
Gruß,
Christian.

kwbo

hallo zusammen,
ich bin nicht sicher, ob ich das jetzt richtig mache, aber da sich alle Sonos relevanten Fragen in diesem Thread zu sammeln scheinen, versuche ich mal, mich da reinzumogeln. Meine Frage wurde zwar schon vom Anfängerforum nach Multimedia verschoben, scheint aber dort keine weitere Beachtung gefunden zu haben.
Ich versuche auf einem RPi, auf dem FHEM problemlos läuft die Sonos Einbindung hinzubekommen. Ich meine, nach Reinerlein's Beschreibung der Installation alles richtig gemacht zu haben. Trotzdem hängt sich FHEM komplett weg, sobald ich versuche das Sonos device zu definieren. Mangels echter Unix-Kenntnisse weiss ich nicht recht, wie ich prüfen kann, woran es tatsächlich hakt. Ich verwende einen RPi mit COC und dem busware Image. Die Sonos und UPnP Dateien liegen daher unter /opt/fhem/FHEM/. Wie in dem Case "Frage zu Sonos Definitionsparameter" http://forum.fhem.de/index.php/topic,17261.0.html beschrieben, hängt nach Eingabe der Definitionszeile FHEM und ich habe keinen Zugriff mehr über das Webinterface. Der RPi läuft aber noch, denn ich kann eine Verbindung über PuTTY herstellen. Es wäre sehr schön, wenn mir hier jemand auf die Sprünge helfen könnte.
Danke und Gruß, Werner

Reinerlein

Hallo zusammen,

@Werner: Ich gehe auf deine Frage in dem von dir dazu eröffneten Thread ein. Ich habe jetzt auch das ganze Multimedia-Subforum abonniert, damit mir das nicht mehr durch die Lappen geht :-)

@Alle: Ich verliere gerade ein bißchen den Überblick, welche Bug-Themen noch hochaktuell sind. Ich habe auf dem Schirm die Sache von Christian, mit den Thread-Abstürzen. Dazu habe ich an den gefundenen Stellen eine Abfrage eingebaut, bin mir aber nicht sicher, ob das das eigentliche Problem löst. Es könnte also sein, dass noch weitere Folgefehler auftreten.
Um nicht den "normalen" Installationsstand zu beeinflussen, habe ich das mal im Dev-Bereich bereitgestellt. Diese Test-Version kann also mit update thirdparty http://fhem.lmsoft.de/sonos_dev sonos installiert werden.

Grüße
Reinerlein

JR

Hallo Reiner,

meine Crashes sind auch noch aktuell (vermutlich wegen fehlgeschlagener Lautstärke-Abfrage des Play:1). Habe mal testweise die Developer-Version installiert - bekomme zwar immer noch Crashes, aber dafür keine interessanten Debug-Infos mehr. Versuche es morgen weiter.

Gruß
  Jens

chregu

Rainer, danke viel mal fürs Update, meine Sonos Integration hat in letzter Zeit eigentlich wieder besser funktioniert, hab's aber auch nicht allzu sehr tesetn können, da selten zu Hause. Hab jetzt mal die dev-Version installiert, um zu schauen, was passiert

det.

Hallo Reiner,
Danke für das Update in der Dev. Version. Ich hatte seit der Installation auf meinem Cubieboard2 keinerlei FHEM Abstürze wegen Deinem Modul, allerdings hat SONOS nach Stromabschalten über Funksteckdose nicht gemerkt, dass die Audiohardware nicht mehr PRESENT ist (mit den unterschiedlichen sync Varianten gespielt - kein Erfolg). Das scheint jetzt zu gehen - ich werde das weiter beobachten und berichten.
LG
det.

PumpkinEater

Hallo Reiner,
ich sehe im Logfile diverse Fehlermeldungen:
Zitat2013.12.12 06:26:11 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E5xxxxx2801400_MR:Balance:35
2013.12.12 06:26:11 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E5xxxxx2801400_MR:Volume:2
2013.12.12 06:26:11 0: SONOS0: Fehlerhafter Aufruf von GetReadingsToCurrentHash: RINCON_000E5xxxxx2801400_MR:0
2013.12.12 06:26:11 0: SONOS0: Fehlerhafter Aufruf von CurrentBulkUpdate: RINCON_000E5xxxxx2801400_MR
2013.12.12 06:26:16 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E5xxxxx2801400_MR:Balance:35
2013.12.12 06:26:16 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E5xxxxx2801400_MR:Volume:0
2013.12.12 06:26:16 0: SONOS0: Fehlerhafter Aufruf von GetReadingsToCurrentHash: RINCON_000E5xxxxx2801400_MR:0
2013.12.12 06:26:16 0: SONOS0: Fehlerhafter Aufruf von CurrentBulkUpdate: RINCON_000E5xxxxx2801400_MR

Dieser Fehler tritt scheinbar bei unterschiedlichen Aktionen auf, z.B. bei Durchsagen, aber auch schon dann, wenn ich im Sonos-PC-Client einfach die Lautstärke ändere.
Ich habe testweise mal Deine dev-Version installiert -> gleiches Verhalten.

Gruß
Peter

Reinerlein

Hi Peter,

diese Meldung mit dem fehlerhaften Aufruf kommt immer dann, wenn er die dort angezeigte UDN des Players nicht einem Fhem-SonosPlayer-Device zuordnen konnte (sprich: das Device nicht gefunden hat). Das deutet auf ein fehlendes Player-Device hin, bzw. auf einen Fehler in der Konfiguration eines Players.

Man darf z.B. auf keinen Fall einen Player, der automatisch erkannt und angelegt wurde, aus Fhem löschen. Wenn man den Player nicht sehen/steuern möchte, dann muss man das Attribut 'disable' setzen...

Kontrollier doch bitte mal die entsprechenden Konfigurationen, und schreib mal...

Grüße
Reiner

PumpkinEater

#521
Hallo Reiner,
ich habe mir jetzt noch mal ein ein frisches fhem.cfg erstellt, in dem eigentlich nur die autocreate-Zeilen und  die Zeile "define Sonos SONOS localhost:4711 30" enthalten ist. Vor dem Start von FHEM habe ich dann im Logverzechnis die Datei fhem.save und alle logs gelöscht. Soweit ich verstehe, sollte fhem nun alle Sonos-Geräte neu entdecken und in der fhem.cfg anlegen. (Oder gibt es noch eine andere Datei, in der Fhem früher mal erkannte Geräte abspeichert?)

In der fhem.cfg wird durch autocreate u.a. dann eingetragen:
define Sonos_Wohnzimmer SONOSPLAYER RINCON_000E5xxxxx2801400_MR
...
define Sonos_BRIDGE SONOSPLAYER RINCON_000E5xxxxx1601400_MR
...

Direkt nach Start von FHEM tauchen im Logfile dann bereits die Zeilen:
Zitat
2013.12.12 14:19:02 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 sekunden darauf...
2013.12.12 14:19:10 3: Opening Sonos device localhost:4711
2013.12.12 14:19:10 3: Sonos device opened
2013.12.12 14:19:10 0: Server started with 8 defined entities (version $Id: fhem.pl 3872 2013-09-07 11:58:33Z rudolfkoenig $, os linux, user root, pid 27193)
2013.12.12 14:19:22 0: SONOS0: Fehlerhafter Aufruf von ReadingsBeginUpdate: RINCON_000E5xxxxxx2801400_MR
2013.12.12 14:19:22 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E5xxxxxx2801400_MR:presence:appeared
2013.12.12 14:19:22 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E5xxxxxx801400_MR:Volume:0
2013.12.12 14:19:22 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E5xxxxx2801400_MR:Balance:35
auf.

Wenn ich dann mit "/usr/local/fhem/fhem.pl localhost:7072 'set Sonos_Wohnzimmer Volume 0'"
die Lautstärke setze, sehe ich im Log keine weiteren Fehlermeldungen.

Meine SONOS-Umgebung: Bridge und 2 Play3 (als Stereopaar)

Gruß
Peter

Reinerlein

Hi Peter,

ok, dann muss ich mir das mit dem Stereopaar mal anschauen. Da scheint es ein Problem zu geben.
Er versucht anscheinend den nicht in Fhem gemeldeten Player anzusprechen. Könntest du mir dazu den vollständigen Log vom Start von Fhem über das Erkennen der Player bis zu diesem Ende zukommen lassen?
Da könnte ich vielleicht schon was erkennen. Ich vermute nämlich, dass es wie beim Sub eine Namensgleichheit der Komponenten gibt, und Fhem in deinem Fall den falschen ablegt.

Ich werde das bei Gelegenheit mal selber probieren...
Ich muss da aber mal einen Zeitpunkt abwarten, wo ich meinem Sohn seinen Play5 entwenden kann :-)

Grüße
Reiner

PumpkinEater

Hallo Reiner,
ich habe Dir eine PM dazu geschickt.

Gruß
Peter

Reinerlein

Hi Peter,

danke, ist angekommen.
Dort sieht es so aus, wie ich befürchtet habe. Das Stereopaar verursacht zwei Einrichtungs-Events (mit zwei verschiedenen UDNs), hat aber denselben Zonennamen. Das verursacht beim Anlegen unter Fhem den gleichen Fehler wie der Sub (der den Namen des zugehörigen Players erhält).

Kannst du mir noch die Konsolenausgabe des SubProzesses auf Level 5 zukommen lassen?
Dann kann ich daran schon mal festlegen, was ich tun muss, um das Problem zu umgehen...

Danke schon mal.

Grüße
Reiner