Sonos: Neues Kleinfeature Dockanzeige verbessert...

Begonnen von Reinerlein, 02 Januar 2015, 18:23:37

Vorheriges Thema - Nächstes Thema

Reinerlein

Hallo zusammen,

ich habe ein paar Anpassungen durchgeführt.
Einiges ist von Loredo inspiriert, anderes durch Dock-Benutzer wie der-Lolo...

Changelog:

  • Anzeige bei der Wiedergabe eines Docks verbessert. Dort werden nun die Titel und Album/Artist-Informationen und ein Dock-Cover angezeigt.
  • Getter/Setter bei Bedarf um ":noArg" erweitert.
  • Getter/Setter sind nun nicht mehr CaseSensitive
  • Getter/Setter habe nun soweit möglich eine Auswahlliste der möglichen Werte (alle on/off Setter, sowie Wifi und RoomIcon)
  • Setter für "Treble" und "Bass" haben nun auch einen Slider
  • Setter "Icon" in "RoomIcon" umbenannt, damit die Auswahlliste den aktuellen vorauswählt
  • Beim Erzeugen der Sonosplayer-Devices wird nun das Attribut "alias" auf den Sonos-Raumnamen gesetzt.
  • Zusätzlich zu "StopAll" oder "PauseAll" gibt es am Sonos-Device nun auch "Stop" und "Pause" mit der gleichen Funktionalität

Grüße
Reinerlein

CQuadrat

Hallo Reinerlein,

vielen Dank für das Modul und die ständige Weiterentwicklung  ;)

Was heißt denn "verbesserte Anzeige vom Dock-Cover"? Wenn mein iPod auf dem Dock sitzt sehe ich ich zwar am iPod das Cover dargestellt in FHEM (entsprechendes AlbumArt habe ich angelegt) allerdings das Standard-Leer-Cover.

Ist das so Absicht oder sollte ich das original Cover in der AlbumArt zu sehen bekommen?


Viele Grüße

Christoph
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

Reinerlein

Hi Christoph,

hier ging es darum, wenn du den Dock hörst, machst du das ja in einem "anderen" Raum, da der Dock selbst ja keine Ausgabemöglichkeit hat, oder? (Ich selber habe keinen, weswegen ich hierbei so ein bißchen rumvermuten muss :) )
Nun sollte an dem Ausgabeplayer in Fhem nicht mehr was von "iPod von Irgendwem" stehen, sondern die Originaltitel und Albuminformationen (also von dem wirklichen Titel) und als Cover das Standard-Sonos-Dock-Cover (mit dem stilisierten iPod).
So wie ich das verstanden habe, ist das auf dem Original-Controller auch so. Oder nicht?

Da ich es nicht testen kann, kann es natürlich auch immer noch fehlerhaft sein... weswegen ich ja euch zum Testen brauche :)
Was genau wird denn bei dir in Fhem und gleichzeitig dazu am Controller angezeigt?

Danke schon mal...

Grüße
Reinerlein

CQuadrat

Okay, da habe ich wohl gedacht, dass Dein Modul mehr kann als der Sonos-Controller.

Am Sonos-Controller sehe ich nämlich auch kein Cover, wenn ich das Sonos-Dock auswähle (nur die Titel-Informationen). Cover sehe ich nur direkt am iPod, welcher im Dock steckt. Wäre auch zu schön gewesen, wenn der Dock-Connector das Cover weitergibt.


FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

CQuadrat

Da war ich wohl leider zu schnell.

Ich musste feststellen, dass mein FHEM-Update nicht vollständig war.
Deshalb erstmal FHEM geupdatet.

Folge: SONOS-Modul stürzt ab (aber nur wenn der Dock-Connector Strom hat).

Erster Versuch das Problem zu lösen: Sonos-Update war überfällig -> also erstmal Sonos-System noch geupdatet.

Folge: SONOS-Modul stürzt ab (aber nur wenn der Dock-Connector Strom hat).

Folgende Meldungen kommen im Log (wenn der Connector an ist):

Zitat
2015.01.03 18:22:58.975 1: SONOS0: Nothing could be read from TCP-Channel (the first level) even though the Read-Function was called.
2015.01.03 18:22:58.984 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
2015.01.03 18:23:11.811 1: SONOS0: Nothing could be read from TCP-Channel (the first level) even though the Read-Function was called.
2015.01.03 18:23:11.820 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
2015.01.03 18:23:25.132 1: SONOS0: Nothing could be read from TCP-Channel (the first level) even though the Read-Function was called.
2015.01.03 18:23:25.141 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
2015.01.03 18:23:37.006 1: SONOS0: Nothing could be read from TCP-Channel (the first level) even though the Read-Function was called.
2015.01.03 18:23:37.014 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
2015.01.03 18:23:50.660 1: SONOS0: Nothing could be read from TCP-Channel (the first level) even though the Read-Function was called.
2015.01.03 18:23:50.668 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
2015.01.03 18:24:04.877 1: SONOS0: Nothing could be read from TCP-Channel (the first level) even though the Read-Function was called.
2015.01.03 18:24:04.886 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...

Klemme ich den Dock-Connector ab verschwinden die Log-Meldungen und (nach einer kurzen Zeit) ist wieder alles normal.
Schließe ich den Dock-.Connector wieder an, kommen die Fehlermeldungen und Sonos lässt sich über FHEM nicht mehr steuern.
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

Reinerlein

Hi Christoph,

ups, das klingt ja gar nicht gut. Kannst du mir einen Verbose 5 Log des SubProzesses (also das, was auf der Konsole rauskommt, nicht im Fhem-Log) zuschicken, wenn dieser Absturz passiert?

Das kann ja nur eine Kleinigkeit mit verheerender Wirkung sein...
Passiert das nur, wenn im Dock ein iPod drinsteckt und an ist, oder wenn er aus ist, oder wenn er gar nicht drin ist?

Danke schon mal für die Hilfe...

Grüße
Reinerlein

der-Lolo

Bei mir die gleichen Meldungen im Log, wobei es scheinbar nur kommt wenn ein iPod steckt, aktualisiert wird auch nicht - die Anzeige bleibt bei der letzten Wiedergabe, ich mach mal Shutdown und über Konsole Neustart... Log5 in der Konsole, ähm - wie?

Reinerlein

Hallo der-Lolo,

du kannst am Sonos-Device den Verbose Level setzen. Dort auf 5 stellen, und Fhem neustarten. Dabei gleichzeitig schauen, was auf der Linux-Konsole rauskommt.
Dort sollten nur Meldungen des Sonos SubProzesses auftauchen, da diese einfach nach STDOUT rausgeschrieben werden...

Notfalls Fhem manuell starten, falls dein Startskript keine Ausgabenumlenkung in eine Datei enthält:

sudo perl fhem.pl fhem.cfg > ausgabe.txt
Dann landet die Ausgabe komplett in der Datei ausgabe.txt, die du hier anhängen kannst...

Grüße
Reinerlein

Reinerlein

Hallo,

wir können auch einen schnellen Patchversuch manuell versuchen.
Ich habe eine Vermutung, bitte mal die folgende Zeile

$tmpTitle = '' if (!defined($tmpTitle));
Hinter die Zeile 4662 (beginnt mit "my $tmpTitle..."). Damit wird sichergestellt, dass kein undef übergeben wird... vielleicht ist das ein Problem...

Wenn das geht checke ich das gleich ein...

Grüße
Reinerlein

CQuadrat

Wo? in 00_SONOS oder 21_SONOSPLAYER?

Bei mir das gleiche, wie bei der-Lolo: Hänger nur wenn iPod im Doch steckt.

Anbei noch die Log-Ausgabe:

Den iPod habe ich bei ca. 20:27:18.392 eingesteckt und nach 20:28:33.531 rausgenommen. Danach hat sich alles wieder normalisiert.

FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

der-Lolo

Der Schnellschuß scheint nicht zu funktionieren -
wenn ich alles richtig verstehe hängt sich der UPNP Server weg.

CQuadrat

FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

Reinerlein

Hi,

sorry für diesen Fehler. Das ist passiert, weil ich es nicht ausführen konnte  :(

Ich habe nun einen Fehlerbehebung eingecheckt. Bitte aus dem SVN rausholen:
https://sourceforge.net/p/fhem/code/HEAD/tree/trunk/fhem/FHEM/00_SONOS.pm

Grüße
Reinerlein

der-Lolo

Schaut erstmal gut aus - ich kann jetzt aber leider nicht ausführlich testen...

Reinerlein

Hi der-Lolo,

das ist doch schon mal gut.
Ich bin gerade dabei noch die Aktualisierung der abspielenden Player des Docks einzubauen.

Momentan wird das nur einmal aktualisiert...

Grüße
Reinerlein

CQuadrat

Danke!

Ein erster Test sieht vielversprechend aus.   :)
FHEM auf Mini-ITX-Server mit Intel Quad-Core J1900:
+ HM: HM-LAN, HM-USB, HM-MOD-UART mit div. HM-Komponenten
+ RFXtrx: Funkwetterstation Bresser mit ext. Thermometer, Regenmesser und Windmesser
+ TUL (KNX-Anbindung), KM271 (per ser2net), SONOS (div. Gimmicks), OneWire, Hue

Reinerlein

Hi,

schön :)
Ich habe gerade die laufende Titelaktualisierung für die Dock-Wiedergabe eingebaut. Ich hoffe, dass da nicht wieder so ein Schnitzer drin ist, kann es aber leider auch nicht testen....

Ab Nachher im Update, oder jetzt im SVN...

Grüße
Reinerlein

der-Lolo

Guten Morgen Reinerlein,
ich glaube ich habe noch ein kleines problem entdeckt.
Es ist ja über die Sonos - App möglich auch das aktuelle Bediengerät als quelle zu wählen -
wenn ich die App auf dem iPad nutze und in der Musikwahl "dieses iPad" nutze kann ich Titel aussuchen, auch starten, nach etwa 10 Sekunden Spielzeit stürzt aber die Sonos App auf dem iPad ab.
In meiner Anzeige tauchen zuerst die richtigen Titelinformationen auf - später steht dort:
ZitatERROR Radiostream
Sender:
Info:
Läuft:
Im reading currentTrackUri steht sowas:
Zitathttp://mobile-ipad-9346b4ff-127f-4276-a069-0de067fd5c9b.x-udn/music/track.adts?id=3A56E0CD0F84
Komischerweise läuft es bei gleichem vorgehen über Androide Endgeräte. Die Titelinformationen werden korrekt angezeigt, Coverinformationen werden übermittelt.

Vielleicht liegt es auch an meinem setup hier - vielleicht kann aber jemand das verhalten bei Nutzung des ipads als quelle nachstellen.

Reinerlein

Hallo der-Lolo,

hmmm, also abstürzen tut bei mir nichts. Das einzige, was ich feststellen kann, ist das Standardverhalten von Apps, die im Hintergrund liegen: Der Stream bricht nach einer Weile ab, wenn die Sonos-App nicht mehr aktiv ist (nicht mehr im Vordergrund ist).

Das habe ich auf dem iPad aber mit vielen Apps, und wurde von Sonos vielleicht nur nicht richtig programmiert. Vielleicht geht es auch gar nicht... Aber es stürzt nix ab. Es beendet sich nur der Stream...

Was ich dabei aber festgestellt habe, ist, dass das Cover vom Sonos-Modul nicht korrekt geladen wird. Das schaue ich mir mal an...

Grüße
Reinerlein

Reinerlein

Hallo,

soo, die Cover von diesen "Gerätewiedergaben" werden nun auch ordentlich angezeigt. Zumindest bei meinem iPad, kann das bitte jemand bei Gelegenheit mit einem Android-Gerät testen?
Danke schon mal...

Ab Morgen im Update oder ab jetzt im SVN...

Grüße
Reinerlein