Sonos steuern

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

Vorheriges Thema - Nächstes Thema

det.

Hallo Reiner,

bitte poste doch noch mal um die Verwirrung zu beenden die Zeilen in der fhem.cfg, die die Geschichte zum Ziel führen sollen,

ist es so richtig?

define Sonos SONOS
attr Sonos pingType syn

Ich will da jetzt keinesfalls was kritisieren, aber das steht im WIKI schon sehr verstreut und kaum jemand liest sich heute noch alles durch, bevor er was probiert.
LG
det.

Reinerlein

Hi Detlev,

das sollte so richtig sein.
Das steht im Wiki natürlich an der Stelle der Attributbeschreibung für die Sonos-Komponente... Aber das Wiki ist mittlerweile ja auch etwas größer geworden, da gebe ich dir Recht :-)

Wenn das bei euch auch erfolgreich läuft, werde ich "syn" als Standard deklarieren, dann gibt es vermutlich weniger Probleme, als so wie es jetzt ist...
Ab Loglevel 4 gibt der IsAlive-Check auch eine Logausgabe, welche Variante er versucht, und wie das Ergebnis lautet.
Aber Vorsicht, da kommt dann noch eine ganze Menge mehr an Logausgaben...

Zu deiner Frage bzgl. Ping-Root-Rechten:
Wie man die Rechte nur für den Ping bekommt habe ich nicht herausgefunden. Bei mir ist der Raspberry nur für die Haussteuerung da, und läuft dementsprechend einfach als root.... dann geht das natürlich auch...
Vielleicht weiß da aber auch jemand andes bereits Rat...

Grüße Reinerlein

det.

Hallo Reiner,

WOW !!! Es spielt Radio und FHEM stürzt nicht mehr ab - kurz es funktioniert!
Schreib bitte, was ich testen soll.

Die komischen Ausgaben im fhem.log poste ich mal hier, Du kannst damit sicher was anfangen:

2013.01.18 15:43:38 3: SONOS2: -Event: received service urn:upnp-org:serviceId:AVTransport
2013.01.18 15:43:38 1: SONOS2: -Event receive error: UDN does not start with 'RINCON_', but was 'a31f0afe-6145-4a02-a236-e1bc12420c84::urn:schemas-upnp-org:service:ContentDirectory:1'!
2013.01.18 15:43:39 3: SONOS2: -Event: received service urn:upnp-org:serviceId:AVTransport
2013.01.18 15:43:39 1: SONOS2: -Event receive error: UDN does not start with 'RINCON_', but was 'a31f0afe-6145-4a02-a236-e1bc12420c84::urn:schemas-upnp-org:service:ContentDirectory:1'!
2013.01.18 15:43:58 3: SONOS2: -Event: received service urn:upnp-org:serviceId:AVTransport
2013.01.18 15:43:58 1: SONOS2: -Event receive error: UDN does not start with 'RINCON_', but was 'a31f0afe-6145-4a02-a236-e1bc12420c84::urn:schemas-upnp-org:service:ContentDirectory:1'!
2013.01.18 15:46:02 3: SONOS2: -Event: received service urn:upnp-org:serviceId:AVTransport
2013.01.18 15:46:02 1: SONOS2: -Event receive error: UDN does not start with 'RINCON_', but was 'a31f0afe-6145-4a02-a236-e1bc12420c84::urn:schemas-upnp-org:service:ContentDirectory:1'!


Man merkt übrigens keine Verlangsamung der Reaktionszeit des RaspbPi im webinterface wenn Sonos läuft.
LG
det.

Reinerlein

Hi Detlev,

da du auch nur einen Zoneplayer hast, ist der Test von deiner Seite aus abgeschlossen :-)
Du hast dafür gesorgt, dass die Dokumentation besser wird, was bei diesem Thema ziemlich wichtig ist...

Warst du derjenige der eine Bridge in Betrieb hat? Dann könnte ich das schon auf die Gedankliche "Funktioniert"-Liste setzen...

Ich würde sagen, hab Spaß damit und überleg dir, was für Möglichkeiten noch einzubauen wären. Dann schauen wir, wie wir das umgesetzt bekommen. Im Wiki habe ich dafür einen Bereich gemacht, damit ihr sehen könnt, was ich noch machen möchte...

Zu den Log-Ausgaben:
Du solltest den Loglevel allgemein auf 1 stellen, sonst wirst du mit Meldungen ja zugeworfen :-)

Aber da gab es ja auch Ausgaben mit Level 1:
Die habe ich auch, und bei mir hilft da ein Neustart von FHEM.

Kurz zur Beschreibung des Phänomens:
Ich subscribe mich am Zoneplayer für Aktualisierungen des Players. Das bedeutet, dass ich Mitteilungen haben will, die den Abspiezustand u.ä. betreffen. Das funktioniert auch gut (weiter oben müsste im Log dazu auch eine entsprechende Meldung stehen).
Nun habe ich meine Callback-Methode, die aufgerufen wird, wenn ein Event gemeldet wird. Ab und zu kommt an dieser Stelle bei mir ein Paket von meiner Fritzbox an (Du könntest die geloggte UDN mit der deiner Fritzbox vergleichen, um rauszufinden, ob das bei dir auch so ist). Dieses Paket kann ich natürlich nicht verarbeiten.
Ich bin noch dabei rauszufinden, ob ich mit der Mitteilung trotzdem noch was sinnvolles anfangen kann, bin mir dabei aber nicht sicher.

Also: Zoneplayer wird aufgefordert mir was zu sagen -> Sagen tut mir dann aber die Fritzbox was... very strange

Wenn das Auftritt, tritt es bei mir entweder immer oder nie auf (bezogen auf einen Neustartzyklus).

Grüße Reiner

Christoph

Ich bin der mit der Bridge *g*


Aber bei mir läuft es immer noch nicht....
2013.01.18 20:05:39 1: reload: Error:Modul 00_SONOS deactivated:
 Attempt to reload LWP/Simple.pm aborted.
Compilation failed in require at /usr/share/fhem/FHEM/00_SONOS.pm line 54.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 54.

2013.01.18 20:05:39 0: Attempt to reload LWP/Simple.pm aborted.
Compilation failed in require at /usr/share/fhem/FHEM/00_SONOS.pm line 54.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 54.



sudo cpan LWP::Simplepi@raspberrypi ~ $ sudo cpan LWP::Simple
Going to read '/root/.cpan/Metadata'
  Database was generated on Thu, 17 Jan 2013 00:53:02 GMT
LWP::Simple is up to date (6.00).

Reinerlein

Hi Christoph,

sorry, das mit der Bridge habe ich dann verwechselt :-)

Zu deinem Problem:
Hmmm... Ich frage mich, was das mit dem Reload soll... das hatte ich hier nicht, ich habe auch kein Perl-Modul-Reload eingebaut, ich benutze die nur... ich habe auch diesselbe Version von LWP::Simple...

Wie startest du das Modul?
Erst FHEM, und dann in der Eingabezeile "define Sonos SONOS"?
Oder ist es in einer fhem.cfg definiert? Es sollte zwar eigentlich alles gehen (zumindest in meinen Tests ging das alles), aber vielleicht sieht man da was...
Kannst du mal umliegende Logs (natürliche nur sinnvolle) inspizieren und hier posten?

Grüße Reiner

Reinerlein

@Christoph,

was mir noch einfällt:
Manchmal steht auf der Konsolenausgabe noch was anderes dazu.
Etwas was es nicht mehr in das Log schafft :-)

Vielleicht ist dort noch was?

Grüße Reinerlein

Christoph

Zitat von: Reinerlein schrieb am Fr, 18 Januar 2013 21:45Wie startest du das Modul?
Erst FHEM, und dann in der Eingabezeile "define Sonos SONOS"?
Oder ist es in einer fhem.cfg definiert?

Hi Reiner

Hab beides ausprobiert:

Wenn ich es über die Eingabezeile versuche oder in der fhem.cfg definier kommt nach

define Sonos SONOS

Cannot load module SONOS

und im Log steht folgendes:

2013.01.18 21:13:29 5: Cmd: >define Sonos SONOS<
2013.01.18 21:13:29 5: Loading /usr/share/fhem/FHEM/00_SONOS.pm
2013.01.18 21:13:29 1: reload: Error:Modul 00_SONOS deactivated:
 Attempt to reload LWP/Simple.pm aborted.
Compilation failed in require at /usr/share/fhem/FHEM/00_SONOS.pm line 54, <$fh> line 35.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 54, <$fh> line 35.

2013.01.18 21:13:29 0: Attempt to reload LWP/Simple.pm aborted.
Compilation failed in require at /usr/share/fhem/FHEM/00_SONOS.pm line 54, <$fh> line 35.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 54, <$fh> line 35.



Gruß Christoph


det.

Hallo Reiner,

was mir inzwischen aufgefallen ist, wenn der Zoneplayer aus ist (vom Netz) und man über FHEM sinnlos PLAY oder sonst was am SONOS_Player drückt, verabschiedet sich FHEM sofort ins Nirwana.
Kannst Du das irgendwann versuchen abzufangen?
LG
det.

Reinerlein

Hi Detlev,

ok, hab ich mir verzeichnet.
Da werden Referenzen auf Proxy-Objekte beim disapearen des Players nicht aufgeräumt. Jaja.. manche Dinge stellen nur die anderen fest :-)

Grüße Reinerlein

det.

Hallo Reiner,

klar doch, Du gehst mit Deinem Baby pfleglich um, hast es ja selbst zur Welt gebracht. Quälen tun es die Anderen, die es selber nie zustande gebracht hätten. Das ist genau wie im realen Leben...
LG
det.

Christoph

Mir ist gerade auch noch was eingefallen, FHEM läuft bei mir auf dem angepassten Busware Raspian.
Kanns damit was zutun haben?

det.

Hallo Christoph,

eher nicht. Das habe ich wegen dem COC auch drauf. Allerdings habe ich wegen OWFS, Samba für den Zugriff über Windows, FHEM Info und Debian Mail schon öfter mal wild was nachinstalliert und div. Tipps hier aus dem Forum angewendet um das Ding stabil laufen zu lassen. Da ergibt sich dann eine nicht mehr vergleichbare Ausgangslage. Aus dem Grund lief das Modul bei Reiner auch schon, als es z.B. bei mir noch regelmäßig FHEM schlafen geschickt hat. Nicht verzagen, weiter probieren!
LG
det.

Reinerlein

Hi zusammen,

kurzes Update für zwischendurch:
- Proxy-Referenzen werden nun korrekt aufgeräumt
- Die verwirrenden Datenpakete kann ich nun zuordnen. Das war eine fehlerhafte Ermittlung meinerseits. In dem Paket steht regulär gar nicht drin, von welchem Player das kommt. Das muss man suchen...
- Man kann nun einstellen, ob die Set-Kommandos 'Success' bzw. neue Werte zurückgeben, oder einfach undef. Das hat den Vorteil, dass in der Übersicht die Darstellung bestehenbleibt. Momentan gibt es da noch die Unschönheit, das z.B. nach der Ausführung von VolumeU im State dann 'VolumeU' steht, und nicht mehr der Titel... Das wird aber gerade in einem anderen Thread besprochen...

@Christoph: Zu dem Reload-Thema. Hast du vorher irgendwelche Module geladen, die LWP::Simple bereits verwenden? Kannst du mal eine temporäre Minimalkonfiguration erzeugen, und nur Sonos laden?
Damit könntest du ausschließen, ob es am Rechner oder was anderem liegt...

Ich werde den Code dann Morgen nochmal hier veröffentlichen. Vielleicht kommt ja noch was dazu :-)

Grüße Reiner

Christoph

Hi Reiner,

Raspberry hab ich heute komplett neu aufgesetzt:

Busware Raspbian
Samba installiert
LWP::Simple installiert
SOAP::Lite installiert

Per Autocreate wurde noch CUL_EM und _WS erkannt und angelegt.
Mehr ist noch nicht drauf

Sonos per "Define Sonos SONOS" in die fhem.cfg eingefügt und gespeichert

Und jetzt hab ich folgendes im log:



2013.01.20 10:21:38 5: Cmd: >define Sonos SONOS<
2013.01.20 10:21:38 5: Loading /usr/share/fhem/FHEM/00_SONOS.pm
2013.01.20 10:21:38 1: reload: Error:Modul 00_SONOS deactivated:
 Can't locate HTTP/Status.pm in @INC (@INC contains: /etc/perl /usr/local/lib/perl/5.14.2 /usr/local/share/perl/5.14.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.14 /usr/share/perl/5.14 /usr/local/lib/site_perl .) at /usr/local/share/perl/5.14.2/LWP/Simple.pm line 14, <$fh> line 67.
BEGIN failed--compilation aborted at /usr/local/share/perl/5.14.2/LWP/Simple.pm line 14, <$fh> line 67.
Compilation failed in require at /usr/share/fhem/FHEM/00_SONOS.pm line 54, <$fh> line 67.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 54, <$fh> line 67.



Gruß Christoph