Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Reinerlein

Hallo zusammen,

leider bin ich dieses Wochenende wegen privater Verpflichtungen nicht zum weiterbasteln gekommen.
Aber ich wollte mich trotzdem noch kurz zu Wort melden.

Schön, das es bei manchen schon prinzipiell läuft. Ein paar Fragen kann ich hier aber schon beantworten:
- Unterschied Stop / Pause: Stop gibt es auf dem Original-Controller nur bei Streams (z.B. Radio). Bei Stop wird alles zurückgesetzt. Bei einer normalen Abspielliste wird der erste Titel aktiv gesetzt. Bei Pause bleibt die aktuelle Position erhalten, und wird bei Play fortgesetzt.

- Das mit den einzelnen Stücken ist noch nicht implementiert. Wird aber kommen, wenn mehrere Player funktionieren, und hier Stabilität eingekehrt ist.

- Zu den mehreren Playern: Ich muss mir Gedanken über die Nebenläufigkeiten machen. Das Problem ist, dass der zweite Player beim Discovern (und nur dort tritt das Problem auf, wie hier ja schon festgestellt wurde) bereits in der Pipeline liegt, und sich der Thread deswegen nicht so einfach beseitigen läßt...

- Wenn ein Player verschwindet und wieder auftaucht, kann es immer noch zu einzelnen Problemen kommen. Leider ist FHEM nicht Objektorientiert aufgebaut, sodass ich die Referenzen auf die Steuerungs-Proxy Zentral halten muss, und dort auch auflösen muss. Desweiteren gibt es kein vernünftiges Exception-Handling, weswegen solche fehlerhafte Anfragen nicht sauber abgefangen werden können. Diese müssen sozusagen verhindert werden, was nicht immer so einfach ist...

- Was noch mal gut zu testen wäre, wäre wie sich zwei (bereits konfigurierte) Player in FHEM verhalten, wenn mal keine Sonderbedingungen wie Ausfall o.ä. auftreten. Werden z.B. die Cover und Titelinformationen sauber zugeordnet (dabei ist zu beachten, dass für das aktuelle Cover vom Browser aus min. ein Reload notwendig ist, sonst wird nur das alte Cover angezeigt)? Klappen die Aktualisierungen sauber? Gibt es dort große Verzögerungen? Das kann man per "longpoll" auch per Ajax aktualisiert bekommen.

Ansonsten wird es im Laufe der Woche wohl weiteres geben..

Bis dahin, Grüße
Reinerlein

det.

Hallo Reiner,

es funktioniert schon sehr gut, wenn man es nicht quält!

- 2 Player spielen einzeln und gemeinsam
- Lautstärke lässt sich einstellen etc.
- Cover etc. stimmt nur auf dem zuerst gestarteten Player (die Cover Anzeige finde ich in FHEM eh eher störend, also kein Problem)

Melde Dich, wenn es weiter was zum Testen gibt, aber mach Dir keinen Stress. SONOS ging bisher auch ohne FHEM, schön wenn es irgendwann geht, aber nicht so wichtig wie die Heizung im Winter.
LG
det.

Christoph

Kann auch noch eine kurze Rückmeldung geben:

Habe meinen Play3 über die Bridge angebunden, funktioniert ohne Probleme :-)


Gruß Christoph

Reinerlein

Hallo zusammen,

ich habe mal einige Kleinigkeiten geändert. Vielleicht haben wir damit bereits die Discovery-Problematik erledigt...

Bitte nochmal testen. Danke schon mal..

Grüße Reinerlein

Christoph

Hi Reiner,

habs mal kurz ausprobiert und alles alte gelöscht und wieder per define sonos ... eingebunden.
Nach dem save der fhem.cfg gibts nen Absturz.
Perl-log ist leer, Fhem Log hab ich angehängt.


Gruß Christoph

Reinerlein

Hi Christoph,

danke schon mal.. hmm.. im Prinzip sieht das alles schon gar nicht schlecht aus. Ich sehe noch nicht, warum er an dieser Stelle dann hängenbleibt.

Ich habe an dieser Stelle nochmal kurz was angepasst. Wenn du das nochmal in den Test werfen könntest? Danke schon mal...

Grüße Reiner

det.

Hallo Reiner,

Hatte keinen Absturz mehr, ging alles wie gewünscht! Nach Ausschalten SONOS an der Funksteckdose blieb der Radiosender im Webinterface auf PLAY,
wenn man dann z.B. sTOP drückt kommt:
Exception ERROR: 500 Can't connect to 192.168.2.33:1400 (No route to host) at /usr/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 785 thread 1
aber FHEM läuft weiter. Denke mal, dass ist ein echter Fortschritt.
LG
det.

Reinerlein

Hi Detlev,

das klingt doch schon mal gut. Diese Ausgabe stammt auch von mir, das bedeutet, mein Exception Handling klappt wohl in diesem Bereich...
Jetzt räume ich da noch ein bißchen die Referenzen auf, dann sollte das an der Stelle OK sein.

Warum das Problem an sich noch auftritt, schaue ich mir aber auch nochmal an...

Bin auch parallel dazu dabei ein paar neue Features einzubauen. Bin gerade an der Zwischendurchsage :-)

Grüße Reiner

Reinerlein

Hallo zusammen,

ich habe mal ein wenig gebastelt, und die fehlenden Abspielmöglichkeiten hinzugefügt.

Man kann jetzt also Durchsagen über den Player machen, und danach wird wieder der vorhergehende Abspielzustand wieder hergestellt.
Dazu habe ich das Wiki auch angepasst: http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Set-Befehle_an_den_SONOSPLAYER.

Bitte testen, und auch nochmal ein kurzes Feedback zu der Funktionalität bei mehreren Playern geben.
Wie immer komplett, obwohl sich immer nur die beiden Perl-Dateien von mir ändern...

Danke schon mal.

Grüße Reinerlein

Will

Cool, hier lohnt sich jeden Tag das rein schauen!!!

Werde das heute abend testen und berichten :-)

W

det.

Hallo Reiner,

Danke, perfekt!
LG
det.

Christoph

Hallo Reiner,

wollte fhem jetzt mal wieder mit mehr als nur dem Sonos Modul beschäftigen *g*
Sobald ich irgendwas in die fhem.cfg hinzufüge gabs beim speichern einen Crash...

Hab dann sie Sonos Sachen auf der fhem.cfg gelöscht, und danach gab es wenn etwas hinzugefügt habe keinen Crash mehr.

Habe jetzt nur den Play3 angeschlossen und wieder in die fhem.cfg eingebunden -> fhem stürzt ab

Gruß Christoph

Will

Hallo Leute,

ich musste mein Linux System komplett neu aufsetzen, da mein USB Stick das zeitliche gesegnet hat....jetzt sauber aufgesetzt.

Habe alle Schritte befolgt - FHEM laeuft. Sobald define sonos SONOS gemacht wird bringt er
/opt/fhem $ Undefined subroutine &main::readingsSingleUpdate called at ./FHEM/00_SONOS.pm line 185.


Was kann das sein?

Danke.

W

Zorin

Hallo allerseits,

habe (wie Christoph) die Dateien genommen und nach dem "define Sonos SONOS"
leider keine Reaktion mehr von FHEM (Absturz).

Log:
2013.02.02 14:03:33 3: SONOS0: UPnP-Thread is now dead or has not exists!
2013.02.02 14:03:33 3: SONOS0: New UPnP-Thread started. Thread-ID: 1
2013.02.02 14:03:33 3: SONOS1: I am the new UPnP-Thread. Nice to meet you...
2013.02.02 14:03:36 2: SONOS1: Discover SonosPlayer 'Küche' (S3) Software Revision 3.8.4 with ID 'RINCON_000E5870572801400_MR'
2013.02.02 14:03:37 3: SONOS1: ReRead-Command: fhem('set ANDRODisplay rereadicons');
2013.02.02 14:03:37 3: SONOS1: ReRead-Command: fhem('set WEB rereadicons');
2013.02.02 14:03:37 3: SONOS1: ReRead-Command: fhem('set WEBphone rereadicons');
2013.02.02 14:03:37 3: SONOS1: ReRead-Command: fhem('set WEBtablet rereadicons');
2013.02.02 14:03:37 1: SONOS1: Successfully autocreated SonosPlayer 'K_che' (S3) Software Revision 3.8.4 with ID 'RINCON_000E5870572801400_MR'
2013.02.02 14:03:37 1: SONOS1: Killing and Restarting Discovery Thread due to SONOS device creation!
2013.02.02 14:03:38 3: SONOS0: UPnP-Thread exists... Trying to kill Thread 1...
2013.02.02 14:03:38 3: SONOS1: Trying to Stop Handling...
2013.02.02 14:03:38 3: SONOS1: Trying to Stop Searching...
2013.02.02 14:03:38 3: SONOS1: Trying to Undef Reference...
2013.02.02 14:03:38 3: SONOS1: All is done successfully in StopControlPoint!
2013.02.02 14:03:38 3: SONOS1: Thread has stopped all ControlPoint-Actions.


Evtl. ein Umlautproblem (Küche/K_che) ?
Oder etwas ähnliches wie bei Christoph ?

Danke schonmal für die Hilfe, und toll das es solche ein Modul gibt...

Grüße,

Zorin

det.

Hallo Christoph, hallo Will,

kann ich bei mir nicht bestätigen - habe FHEM auf RPI mit COC, COC im MAX Mode (so empfängt es keine FS20 etc. Sachen, die in Massen an der FB hängen und rumfunken), OWServer mit 4 Thermometern und 1 Switch am 1wire vom COC angebunden und die RpiValues. Läuft alles prima zusammen und stürzt auch nicht bei Veränderungen an der Config oder nach Ausschalten des SONOS ZP90 und Aufruf desselben danach über das webinterface ab.
Habt Ihr die letzte Version von SONOS installiert(sicherlich, aber der Fehler sitzt oft vor der Tastatur und schaut auf den Bildschirm...)? Sonst fehlt mglw. noch einer der vielen nachzuinstallierenden Perl Bibliotheken. Reiner konnte am Anfang auch nicht wirklich sagen, was alles dazu genau gebraucht wird. Im Laufe der Nachinstallation kam da so manches drauf, was alles , wozu und warum - keine Ahnung. Da kann im WIKI evtl. auch noch was fehlen - einfach die Schritte dort noch mal abarbeiten? Bei meiner Installation gab es da mehrfach Fehler, irgendwann war dann alles Erforderliche richtig drauf und lief.
LG
det.