Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Reinerlein

Hallo zusammen,

das ganze hat doch leider etwas länger gedauert... Rattenschwänze... wo man hinschaut :-)

Im Anhang also wieder eine neue Version mit folgenden Umbauten/Erweiterungen:
- Discover-Thread wird nicht mehr beendet. Damit bleiben die Threads immer am Leben, und sollten damit deutlich weniger Probleme verursachen
- Perfomance-Optimierungen, da keine (bzw. weniger :-) überflüssige Dinge mehr abgefragt werden
- minVolume und maxVolume hinzugefügt. Damit kann pro Player eine minimale und/oder maximale Lautstärke festgelegt werden. Wenn dieses Feature aktiviert ist, gibt es die Lautstärkeänderungen ab sofort frei Haus geliefert
- minVolumeHeadphone und maxVolumeHeadphone hinzugefügt. Das gleiche wie bei minVolume, nur wirken diese Enstellungen ausschließlich, wenn ein Kopfhörer eingesteckt ist.
- Wenn man diese Lautstärke-Features aktiviert hat, erhält man folgende Werte per Event mitgeteilt (also stets aktuell):
-- Volume
-- HeadphoneConnected
-- Mute-Zustand
-- Balance-Wert
- InfoSmmarize um die neu hinzugekommenen Readings erweitert

Soo, das ist einiges. Vielleicht kann ein Besitzer eines S5 mal die Sache mit dem Kopfhöreranschluss testen. Den habe ich nämlich nicht :-)

Die Version ist bei mir jetzt einen Tag ohne Ausfall im Test gelaufen, und sollte damit einigermaßen stabil sein...

Grüße Reiner

krikan

Hallo Reiner,

bin zwar noch nicht viel zum Testen gekommen, aber kann positiv berichten, dass ich seit 2 Tagen keinen Absturz/Probleme meines Sonos-/Fhem-Testsystems hatte.
Vermutlich gehen die Abstürze zuvor aber gar nicht auf Dein Konto ;-). Nach Hinweisen hier im Forum zu Problemen mit Perl 64-bit bin ich auf Activestate Perl 32-bit umgestiegen.

Gruß, Christian

PS: Dock liefert noch Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "HASH(0x483c2b4)"

Reinerlein

Hi Christian,

das klingt doch super.
Das mit der Fehlermeldung ist das normale und erwünschte Verhalten. Immerhin hast du ja versucht, dem Dock eine Anweisung zu geben, die nicht ausgeführt werden konnte :-)

Ich werde allerdings die Meldung noch weiter aufdröseln, da steht ja noch eine Hash-Referenz, die ich für die Anzeige noch in einen String umwandeln werde... Ich bin ja gespannt, was da eigentlich drin steht :-)

Danke für die Rückmeldung...

Grüße Reiner


pinz

Hallo,

ersmal Danke für die Sonos Module! Ich habe vor einigen Tagen begonnen mit FHEM etwas rumzuspielen insbesondere um ein paar Dinge mit Sonos zu realisieren. Mir sind also einige (Anfänger)Dinge rund um FHEM noch nicht 100% klar...

Soweit habe ich es schon geschafft meinen Play:5 und meinen Connect zum Laufen zu bekommen (aktuellste Sonos Modul Version). Als letztes habe ich jetzt Versucht etwas zur fhem.cfg hinzuzufügen (nichts Sonos spezifisches). Bekomme jetzt aber beim Speichern der Fehlermeldung folgenden Error:

Unknown command rke:, try help Cannot open aktiv" ifempty=" ~ Kein Kopfhö: No such file or directory Unknown command rer", try help

In der Shell sehe ich folgenden Error:

Bareword found where operator expected at (eval 245) line 1, near ""<Volume prefix="Lautst"
        (Missing operator before Lautst?)
Bareword found where operator expected at (eval 177) line 1, near ""<Volume prefix="Lautst"


Vielleicht passt hier bei den neuen Kopfhörer Funktionen irgendwas nicht?

Gruß,
Andreas

Reinerlein

Hi Andreas,

herzlich Willkommen bei FHEM (und diesem Modul :-)

Da scheint ein Zeilenumbruch in die Attribut-Definition gerutscht zu sein. Das ist im Wiki leider etwas unübersichtlich geraten, da die Zeilenbreite dort ja auch begrenzt ist :-)

Schau mal, ob in deiner Konfigurationsdatei jede Attributdefinition genau eine Zeile lang ist, bzw. an jedem Zeilenende ein Backslash (\) ohne ein weiteres Zeichen dahinter steht.
Am Besten vielleicht einfach im Eingabefeld (wenn du es über die Web-Oberfläche machst) alles markieren und kopieren, und anschließend in einem guten Editor deiner Wahl pasten, um das zu überprüfen.

Vielleicht hat er aber auch Probleme mit dem "ä" von "Lautstärke" (und natürlich auch mit den anderen Umlauten). Das lasse ich als HTML-Entity anlegen, also mit "&auml;". Das wird dann vom Web-Editor natürlich in ein "echtes" ä umgewandelt, und beim Speichern dann auch so übertragen. Da gibt es also durchaus noch potential für Probleme :-)

Genauer gesagt, sieht es so aus, als würde er bei genau diesen Umlauten einen Zeilenumbruch interpretieren. Das zu verhindern, ist hier jetzt das Ziel :-)

Ich habe diese Probleme bei mir nicht beobachten können. Ich verwende FHEM auf dem Raspberry Pi und mein iPad als Browser. Das scheint, in dieser Hinsicht zumindest, eine funktionierende Kombination zu sein...

Grüße Reiner

pinz

Hallo Reiner,

es dürft tatsächlich etwas mit den Umlauten zu tun haben. Ich lasse meine beiden Player mittels autoconf anlegen. Wenn ich dann die Config im Browser speichern möchte scheint da immer etwas durcheinander zu geraten. Mein Setup ist FHEM auf dem Raspberry Pi und als Browser verwende ich Firefox/IE unter Windows.

Ich hab mich gestern Abend noch einige Stunden mit MSGMail und notify gespielt (Ich besitze keinerlei CUL/FS20 HW und muss deswegen solche Features benutzen um FHEM zu ergründen;) ) und bin dann nicht mehr dazu gekommen zu testen ob sich der Fehler reproduzieren lässt. Ich werde auch mit dem IPAD testen und poste dann meine Ergebnissen.

Gruß,
Andreas


Will

Hallo Reinerlein,

also nach ein paar Tagen weg von zu Hause habe ich mir jetzt zu meinem Play connect ein Play 3 und einen rasperry pi gegoennt. Bin jetzt also komplett vonn der fritzbox weg, system laeuft jetzt seit einigen stunden ohne absturz :-)

ging dieses mal auch alles wesentlich schneller ;-) hab was gelernt dank Eurer Hilfe!!

Eine Sache, die noch interessant sein koennte ist das Gruppieren aller Player.....also wenn man eine Durchsage macht, kann man den spezifischen Player definieren oder sagen Speak XYZ auf allen Playern gleichzeitig....fuer mich im moment jedoch unktritisch.

Ganz tolle arbeit von allen Beteiligten und grosses Lob an die Community und vor allem an Reiner (natuerlich).

W

Reinerlein

Hallo Will,

das mit der Zonentopologie habe ich mir auch schon mal gedacht. Nur brauche ich dafür zwingend mehrere Player, um das auch sehen und testen zu können.

Das dauert also noch etwas, ich werde es aber schon mal als Idee ins Wiki übertragen...

Grüße Reiner

geraldS

Hallo,

Danke erstmal für die Zeit & Energie die bisher für die Entwicklung der Sonos-Module aufgewendet wurde.
Ich bekomme das Modul allerdings nicht rund zu laufen:
Meine Umgebung: raspberry / Bridge / 2x Play:3
Das Discovery läuft zäh - wenn nach einigen Restarts alle Komponenten discovered sind - ist die Information relativ statisch (kein Update: Cover - Play / Stopped / initialized - etc).
Schickt man einen SET Befehl an den Player - stürzt fhem ab.

Einziger Anhaltspunkt ist folgender Fehler In der Konsole:
Thread 1 terminated abnormally: Can't call method "subscribe" on an undefined value at ./FHEM/00_SONOS.pm line 1331.

Hat jemand eine Idee?

Dank' Euch
Gerald

Reinerlein

Hi Gerald,

schön dich hier zu lesen :-) Herzlich willkommen bei FHEM.

Zu deinem Problem:
Ohne Log kann man allgemein sehr wenig aussagen. Aber was mir an deiner Fehlermeldung auffällt, ist, das die Ausgabe nicht zur aktuellen Version passt. An der von die geposteten Stelle 1331 steht im aktuellen Codestand keine Subscribe-Anweisung.

Bist du sicher, dass du den aktuellsten Code aus dem Posting 65521 verwendest?

Desweiteren stelle deine Log-Ausgabe in einem ersten Schritt auf 3 und poste hier das Log bezogen auf die Discovery-Prozedur. Damit kann man dann schon einiges sehen. Sollten wir dem Problem dann immer noch nicht auf der Spur sein, können wir da noch auf 5 gehen. Das wird dann aber eine ganze Menge :-)

Danke schon mal...

Grüße Reiner

geraldS

Hi Reiner,

...gut beobachtet - die Version war nicht die aktuellste, da ich in der Historie zurückgegangen bin um zu schauen ob sich am Verhalten etwas ändert.
Jetzt ist wieder die aktuelle drauf, aber mit demselben Verhalten / "subscribe"-Error.
Aus den Logs werde ich nicht schlau - für mich schaut´s so aus, als wenn der Thread während dem Discovery "verstirbt".

Danke & Grüße
Gerald

Reinerlein

Hi Gerald,

ok, das Problem ist tatsächlich die Bridge, bei der man kein Subscribing für Transport-Events machen kann.
Ist ja eigentlich auch logisch. Ich dachte nur, dass hier zwei Personen bereits eine Bridge in Betrieb hatten...

Also im Anhang mal ein Code, der dieses Subscribing nur durchführt, wenn es auch geht :-)
Bitte damit nochmal testen...

Grüße Reiner

geraldS

Hi Reiner,

wow - das ging aber fix....
Und das schaut schon sehr gut aus - beide Player haben in der View den aktuellen Status und können auch bedient werden.
Ob auch wirklich Töne rauskommen kann ich von remote nicht sagen (aber ich nehm´s mal an...)

Vielen Dank!
Gerald

Reinerlein

Hi Gerald,

das ging bei dir aber auch fix... ein Hoch auf die VPNs :-)
Ich kann so etwas nur sehr eingeschränkt machen, da bei mir zuhause meistens jemand da ist, der sich an wundersamerweise startender Musik eher stören würde :-)

Schön, dann haben wir ja wieder jemanden in der erfolgreichen Benutzung dieses Moduls...

Grüße Reiner

geraldS

Hi Reiner,

Ja, das funktioniert jetzt schon wirklich toll..

Ein kleines Problemchen: Der presence-state wird nicht gepollt / upgedated
Der Status presence state ist statisch "appeared" auch wenn <LastSetActionResult = ERROR: SonosPlayer disappeared> ist.
Hab das Problem nur ich??

Beste Grüße
Gerald