FHEM Forum

FHEM - Anwendungen => Multimedia => Thema gestartet von: Will am 05 Januar 2013, 15:51:12

Titel: Sonos steuern
Beitrag von: Will am 05 Januar 2013, 15:51:12
Hallo,

betreibe seit einigen Tagen FHEM auf einer Fritzbox (Schaltsteckdosen, Temperaturmessung) und frage mich nun, ob es moeglich ist mein Sonos System ueber FHEM zu steuern. Wollte das erst mal ganz simpel machen --> Pause / Play auf Knopfdruck oder per notify bei Event, spaeter vielleicht abspielen einer speziellen Playlist bei Knopfdruck (Stichwort WAF).
Muss dazu sagen, dass ich keinerlei Erfahrung mit Perl oder PHP habe.

Bei recherchieren bin ich unter anderem auf diese Projekte gestossen:

http://www.purple.org/sonos/ (//www.purple.org/sonos/)  (wohl in Perl programmiert)

http://www.ip-symcon.de/wiki/PHPSonos (//www.ip-symcon.de/wiki/PHPSonos)   (PHP Modul fuer IP symcon)

Da es fertige Loesungen fuer andere Plattformen gehe ich davin aus, dass das prinzipiell funktionieren kann. Sniffen der BEfehle mit Wireshark bringt mich nicht weiter, da ich nicht weiss, wie und was ich dann davon in FHEM bringen muss.

Hat sich irgendjemand schon damit beschaeftigt bzw. koennt ihr mir sagen, ob ein fertiges Modul mit wenig Aufwand fuer FHEM einsetzbar waere?

Vielen Dank schon mal.

W
Titel: Aw: Sonos steuern
Beitrag von: Will am 05 Januar 2013, 15:58:51
weiteres Beispiel (Loxone):

http://blog.loxone.com/de/2011/11/04/sonos-der-miniserver-home-automation-meets-multiroom-audio/ (//blog.loxone.com/de/2011/11/04/sonos-der-miniserver-home-automation-meets-multiroom-audio/)
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 05 Januar 2013, 21:37:56
Hi,

ich bin seit einer Woche dabei ein Sonos-Modul für FHEM zu schreiben.
Bis jetzt habe ich die Konsumentenseite fertig. Ich kann also auf Ereignisse meines Player reagieren (Songwechsel, Abspielzustandsänderungen wie Play und Pause, an und abschalten des Players) und weiteres.

Jetzt kommt die Steuerung dran, sodass ich den Player z.B. starten kann.

Allgemein gilt: Da die Grundlage der Kommunikation mit den Zoneplayern UPnP ist, wird dieses Modul auch nur mit installiertem UPnP-Perl-Modul funktionieren.
Das wird zum einen nicht auf jeder Hardware laufen, zum anderen muss man sich mal Gedanken über die Auslieferung dieser Library machen. Man könnte sie theoretisch auch mit FHEM ausliefern...

Ich denke, dass ich in ein paar Tagen hier was einigermaßen stabiles Veröffentlichen kann.

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 06 Januar 2013, 02:46:12
Hi reinerlein,

Das klingt ja super - habe mich ehrlich gesagt gewundert, dass da noch nichts verfügbar ist. Integration des sonos macht meiner Ansicht nach voll Sinn.
Wenn du sagst "läuft nicht auf jeder Hardware" klingt das erst mal so als wuerde eine fritzbox nicht ausreichen? Raspberry Pi?

Warte dann mal gespannt auf dein Ergebnis.

Danke!

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 06 Januar 2013, 11:26:13
Hi,

das mit der Hardware ist znächst mal eine Vermutung, da hier im Forum immer wieder erwähnt wird, das man auf der FritzBox manchmal Probleme mit extra Modulen hat. Auf einem Raspberry wird es auf jeden Fall laufen, da es dort bei mir eingesetzt werden soll :-) Fritzbox werde ich nicht testen können. Da müsste dann jemand testen, der sowas laufen hat...
Momentan entwickeln tue ich auf einem Windows 2003, dort läuft es also auch schon mal...

Für die Ausführung werden auch Threads eingesetzt, da man ständig lauschen muss, und aus dem UPnP Aufruf nicht mehr zurückkommt - damit wäre FHEM dann aktiv blockiert :-) Das könnte also auch noch ein Engpass für Hardware werden...

Also, wie gesagt, es kann/wird noch ein paar Tage dauern, da das leider nicht ganz so trivial ist, wie es auf den ersten Blick scheint. Bin aber dran :-)

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: det. am 06 Januar 2013, 11:27:10
Hallo Reinerlein,

Das klingt ja vielversprechend! Ich nutze FHEM seit ca. 1 Jahr, der SONOS Zoneplayer hängt mit dem Rest der Musikanlage an einer FS20 Schaltsteckdose. Wenn ich die mittels iPad über FHEM einschalte, startet auch der SONOS. Danach muss ich jetzt in die SONOS App. wechseln. Die Playlistenauswahl und der Zugriff auf die Ordner auf dem Heimserver über die App. finde ich sehr gelungen , das fehlt mir nicht in FHEM. Was ich als absolutes Highlight einer Integration in FHEM finden würde: nach SONOS Start über einen Button meine Lieblingsradiostation Radio Paradise starten und die Lautstärke steuern. Das wäre für mich der richtige Schritt in Richtung Hausautomatisierung in dem Zusammenhang.
Programmieren kann ich es leider nicht, aber mit testen gern, sowohl auf FB7390 als auch auf RasPi.
Titel: Aw: Sonos steuern
Beitrag von: Will am 06 Januar 2013, 13:39:45
Ich sehe das ähnlich. Wäre erst auch nicht an einer sonos Oberfläche in fhem interessiert (hat abet was)  
Ich würde steuern wollen:
Auf Knopfdruck / notify play/pause/mute/leiser/lauter
Auf Knopfdruck vordefinierte playlist abspielen (Max 3)


In anderen Foren machen die Jungs durchsagen über Events gesteuert :-) , nicht mein Plan.

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 11 Januar 2013, 02:21:59
Hi zusammen,

seit meiner letzten Mitteilung sind nun ein paar Tage vergangen, und ich wollte mal ein kurzes Update einwerfen:
Das Modul nimmt Form an. Ich habe jetzt einen Stand, der bereits eine ganze Menge kann.
Aus diesem Grunde werde ich mal ein kurzes Feature-Freeze einwerfen, und die Doku nachziehen.

In der Doku werden die Mittlerweile doch recht umfangreichen Möglichkeiten und auch zu berücksichtigende Dinge beschrieben. Desweiteren werde ich gleich ein paar Beispiele reinpacken.
Parallel dazu teste ich das ganze natürlich in meiner Umgebung. Leider habe ich nur einen ZonePlayer, so dass bei euch mit mehreren Playern durchaus noch etwas auftreten kann was gefixt werden muss.

Ein Abriss, was bei mir zum Testen bereits läuft:
- Alle Player werden automatisch erkannt und in FHEM mit den wichtigsten Attributen angelegt. Desweiteren wird das Icon des Players heruntergeladen und als Attribut zugewiesen
- An/Aus des Players. Das wird einfach über einen Ping-Check realisiert, da ich dazu keine Mitteilungen bekomme. Natürlich werden dazu dann FHEM-Events generiert, auf die reagiert werden kann
- Anzeige aller Titel, Interpreten und Album-Informationen, sofern verfügbar. Das erfolgt Event-gesteuert. Also in dem Augenblick, wo eine Information am Sonos wechselt. Dazu werden dann auch FHEM-Events generiert, auf die wieder reagiert werden kann. z.B. Interpret == Psy, dann die Steckdose schnell wieder ausmachen :-)
- Das aktuelle Cover wird auf den FHEM-Rechner heruntergeladen, und kann per Weblink o.ä. angezeigt werden
- Nahezu vollständige Steuerung des Players (z.B. Play, Stop, Pause, Next, Previous, Leiser, Lauter, Lautstärke einstellen, Mute, Playlists laden/speichern/leeren)
- Informationstexte können frei (per XML-ähnlicher Notation) zusammengestellt werden (bis zu vier verschiedene Definitionen). Damit kann man z.B. LCD-Anzeigen mit fertigen Textzeilen beliefern (natürlich Event-getriggert)
- Leider sind Radiostationen nicht trivial in der Einbindung, da Sonos die Favoriten nicht im System ablegt, sondern vom Controller selbst aus dem Internet geholt werden. Da muss ich mir noch was einfallen lassen, um die URL eines bestimmten Senders herauszufinden/zu speichern. Desweiteren kann man momentan auch nur Playlisten laden. Nicht direkt selber Titel angeben. Kommt aber noch... mal schauen... Nach dem First Release :-)

Ich habe hier auch mal zwei einfache Notify-Zeilen im Zusammenspiel mit dem FB_Callmonitor geschrieben, welche bei einem Anruf die Lautstärke um 20 Einheiten runter dreht, und bei Beendigung des Anrufs wieder zurück auf die vorhergehende Stellung geht. Das berücksichtigt keine Sonderfälle oder so, sondern ist einfach ein Cooles Beispiel :-)

Also, ich stürze mich jetzt auf die Doku und den Test, und komme bald wieder durch...

Grüße Reinerlein

P.S.: Im Anhang mal ein Screenshot meiner Übersichtsanzeige in FHEM. So sieht das aus, wenn es automatisch erzeugt wurde, inkl. Weblink, Gruppe und dem Original-Bezeichner des ZonePlayers. Lediglich der FileLog ist Handarbeit...
Titel: Aw: Sonos steuern
Beitrag von: Will am 11 Januar 2013, 13:24:00
Hi reinerlein,

Klingt sehr vielversprechend. Kanns kaum erwarten das bei mir zu testen. Sag bescheid wenn du versuchskan inchen brauchst. :-)

W
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 11 Januar 2013, 18:41:09
Zitat von: Reinerlein schrieb am Fr, 11 Januar 2013 02:21- Leider sind Radiostationen nicht trivial in der Einbindung, da Sonos die Favoriten nicht im System ablegt, sondern vom Controller selbst aus dem Internet geholt werden. Da muss ich mir noch was einfallen lassen, um die URL eines bestimmten Senders herauszufinden/zu speichern. Desweiteren kann man momentan auch nur Playlisten laden. Nicht direkt selber Titel angeben. Kommt aber noch... mal schauen... Nach dem First Release :-)

Oder die Favoriten in Fhem anlegen und über die URL aufrufen
Zwar keine schöne Lösung aber es funktioniert. ;-)


$sonos->SetRadio("x-rincon-mp3radio://mp3-live.swr3.de/swr3_m.m3u", "SWR3");
$sonos->Play();


Stelle mich auch gerne zum testen zur Verfügung, hab nen Play3 + Connect +Bridge.

Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 13 Januar 2013, 11:10:05
Hi Christoph,

ich habe die Radiostationen (Favoriten) doch noch im Player gefunden. Die waren etwas versteckt: normalerweise ist der komplette Inhalt selbstbeschreibend hierarchisch, nur hier muss man zwischendurch nochmal eine kleine Root-ID beim Browse angeben, und erhält dann die Definition der Radioabteilung.

Also, das ist auch schon drin.
Außerdem gibt es immer noch Probleme, wenn der Player verschwindet und wieder auftaucht. Es gibt ungünstige Zeitpunkte für sowas, da muss ich mal schauen, ob man sowas ähnliches wie ein "Exception Handling" in Perl gebaut bekommt. Die Fehler treten nämlich in der von mir benutzten Klasse für den UPnP Zugriff auf (der versucht gerade irgendwas vom Player zu laden).
Allerdings ist das Auftauchen eines Players (ich denke das wichtigere) im großen und ganzen stabil. In meinem Szenario wird dann per FHEM-Event beim Auftauchen des Players einer Playlist geladen, die Lautstärke gesetzt, ein bestimmter Titel in der Liste angesprungen und dann das Abspielen gestartet.
Das ist doch schon mal was...

Die Doku geht auch voran. Dann kann es ans Testen bei euch gehen.

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: det. am 13 Januar 2013, 11:38:53
Hallo Reinerlein,

Das klingt ja sehr erfreulich! Mein Wochenende Lieblingsfrühstücksradio mit einem Klick aus FHEM starten - bisher erst Strom an über FHEM, dann SONOS App. starten, warten bis die verbunden ist, 5x klicken bis Radiosender läuft... Das wird eine wesentliche Erleichterung mit hohem WAF!
Ich freue mich schon auf's Testen.
Titel: Aw: Sonos steuern
Beitrag von: Will am 13 Januar 2013, 13:18:48
Super.

W
Titel: Sonos steuern
Beitrag von: Reinerlein am 16 Januar 2013, 16:40:14
Hallo zusammen,

nun ist es also soweit. Ich habe meinen internen Umzug auf meinen produktiven Raspberry Pi erfolgreich durchgeführt. Dabei sind noch ein paar Bugs behoben worden :-)

Also:
Unter http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel (//www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel) habe ich einen Wiki-Eintrag erzeugt, der sowohl die Installation als auch die Einrichtung und Beispiele bringt.

Die Dateien habe ich hier an den Forumseintrag gehangen. Solange das Modul noch nicht offiziell ist, werden wir das hierüber abwickeln...

Zum Start braucht man nur in die Eingabezeile oben ein
define Sonos SONOS
einzugeben. Der Rest sollte dann bereits automatisch erkannt und eingerichtet werden. Dann braucht man sich noch nichts in die Konfiguration schreiben...

Dann erstmal viel Spaß, und hoffentlich sind nicht mehr soviele Bugs drin...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: det. am 16 Januar 2013, 20:17:16
Hallo Reinerlein,

hab es sofort mal getestet, bin leider nicht der Linuxcrack - nach dem setzen der File Rechte entsprechend der anderen Modulen tat sich auf meinem RasbPi was:

reload 00_SONOS.pm ->

Can't locate UPnP/ControlPoint.pm in @INC (@INC contains: /usr/share/fhem/FHEM/lib/UPnP/lib /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 . /usr/share/fhem/FHEM) at /usr/share/fhem/FHEM/00_SONOS.pm line 64.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 64.


Sorry
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 16 Januar 2013, 20:51:08
Hi Detlev,

Keine Panik :-)

da fehlt nur die UPnP-Library. Diese muss in das Verzeichnis entpackt werden, wie es in der Installationsanweisung im Wiki steht.
http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Installation (//www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Installation)

Das ist ein Open-Source Fremdprodukt, und muss während dieser Testphase noch selbst hinkopiert werden...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: det. am 16 Januar 2013, 21:06:34
Hallo Reinerlein,

hab das prima WIKI schon gelesen und die Dateien dort alle reingepackt und die Rechte auf fhem / root gesetzt.
Es liegt das Problem wo anders, mglw. sitzt es auch vor meinem Bildschirm... das kann ich leider nicht ausschliessen.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 16 Januar 2013, 21:16:18
Hi Detlev,

ok, kein problem, wollte das nur sicherstellen :-) ... kannst du mal bitte ein
find /usr/share/fhem/FHEM/lib/UPnP
ausführen?

Nur um zu sehen, ob das nicht eine Ebene zu "tief" liegt.
Titel: Aw: Sonos steuern
Beitrag von: det. am 16 Januar 2013, 21:30:54
pi@raspberrypi ~ $ sudo find /usr/share/fhem/FHEM/lib/UPnP
/usr/share/fhem/FHEM/lib/UPnP
/usr/share/fhem/FHEM/lib/UPnP/README
/usr/share/fhem/FHEM/lib/UPnP/Makefile.PL
/usr/share/fhem/FHEM/lib/UPnP/MANIFEST
/usr/share/fhem/FHEM/lib/UPnP/lib
/usr/share/fhem/FHEM/lib/UPnP/lib/UPnP
/usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/DeviceManager.pm
/usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/Common.pm
/usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/ControlPoint.pm
/usr/share/fhem/FHEM/lib/UPnP/t
/usr/share/fhem/FHEM/lib/UPnP/t/description1.xml
/usr/share/fhem/FHEM/lib/UPnP/t/01-ControlPoint-Module.t
/usr/share/fhem/FHEM/lib/UPnP/t/03-DeviceManager-Module.t
/usr/share/fhem/FHEM/lib/UPnP/t/04-DeviceManager-Protocol.t
/usr/share/fhem/FHEM/lib/UPnP/t/description2.xml
/usr/share/fhem/FHEM/lib/UPnP/t/02-ControlPoint-Protocol.t
/usr/share/fhem/FHEM/lib/UPnP/t/RendererControl.xml
pi@raspberrypi ~ $
ohne sudo kommt Permission denied
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 16 Januar 2013, 21:44:35
Hi Detlev,

die Pfade stimmen also schon mal. Das mit dem Permission denied ist noch etwas hinderlich...

Für mal folgende Anweisung im Verzeichnis "FHEM/lib" aus
sudo chown -R pi.pi .
Natürlich muss pi.pi durch deine Benutzername.Gruppenname Kombination ersetzt werden, wie es bei dir passt.

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: det. am 16 Januar 2013, 21:58:01
Hallo Reinerlein,

ich bin offenbar keine große Hilfe

pi@raspberrypi /usr/share/fhem/FHEM/lib $ sudo chown -R fhem.root .
pi@raspberrypi /usr/share/fhem/FHEM/lib $


geändert hat es nichts an der Meldung.


Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 16 Januar 2013, 22:03:26
Hi Detlev,

eine Ausgabe gibt es dabei auch nicht. Diese Zeile hat die Rechte an den Dateien in diesem Verzeichnis (und Rekursiv in den darunter liegenden auch) umgesetzt. Jetzt sollte beim oben geschriebenen "Find" eigentlich kein "Permission denied" mehr kommen.

Wenn das so ist, dann solltest du dein FHEM einfach mal neustarten, und es sollte gehen :-)

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: det. am 16 Januar 2013, 22:11:18
sorry - ich gebe auf und warte ab... Neugestartet hatte ich mehrmals...Permission denied
kommt immer noch - lass es von jemanden Testen, der fitter in Linux ist.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 16 Januar 2013, 23:01:08
Hi Detlev,

das sollte doch hinzukriegen sein :-)

Also, wenn du, wie du sagst, FHEM mit dem User "fhem" laufen läßt, und du mit dem Benutzernamen "pi" angemeldet bist, dann "siehst" du die Dateien auch anders als FHEM das tut.

Prüf mal bitte mit der Ausgabe von
ps aux | grep fhem.pl
In welchem Benutzerkontext dein FHEM läuft. Das ist die erste Angabe ganz vorne in der Zeile, in der nicht deine grep-Anweisung steht. Die wird natürlich auch gefunden... du suchst ja gerade :-)

Damit weisst du schon mal das sicher.

Dann kannst du mit der Anweisung
sudo su fhem
bzw. dem herausgefundenen Benutzernamen in den Kontext dieses Benutzers wechseln. Du "siehst" das Filesystem nun auf die gleiche Art wie FHEM.
Nun kannst du nochmal versuchen dir die Dateien anzuzeigen. Wenn das nicht gelingt, dann hat FHEM auch keine Chance.

Wenn du die Dateien siehst, aber FHEM damit immer noch nicht arbeiten will, dann können wir immer noch verzweifeln :-)

Wenn du die Dateien nicht siehst, dann müssen wir eben noch ein bißchen an den Dateirechten rumschrauben...

Poste mal deine Erfahrungen dazu...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Martin Fischer am 17 Januar 2013, 08:54:33
> da fehlt nur die UPnP-Library. Diese muss in das Verzeichnis entpackt werden,
> wie es in der Installationsanweisung im Wiki steht.

ohne es näher geprüft zu haben:
da in dem cpan-paket für upnp ein makefile enthalten ist, gehe ich davon aus, dass dieses nicht nativ auf den verschiedenen architekturen (mips, arm, ix86, etc.) laufen wird. das perlmodul upnp wäre demnach für jede architektur zu compilen.

das wäre dann auch ein grund, warum das fhem modul höchstens im contrib und nicht im trunk von fhem landen würde, da upnp nicht zu den standard perlmodulen gehört und das fhem modul somit nicht "out of the box" auf allen systemen läuft.

hier heisst es nur:
entweder die benötigten upnp routinen in dem fhem modul "nachbauen", eine andere alternative nutzen oder damit leben, das es im contrib landet. dann sollte der anwender darauf hingewiesen werden, was er zu tun hat z.b. modul über cpan installieren, etc. wobei letzteres auch nicht auf jeder architektur geht. denn es muss dann zwingend ein compiler vorhanden sein, was ich schon mal für die fritzbox images und synonolgie's ausschliesse.

gruss martin
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Januar 2013, 09:40:17
Hi Martin,

also ich habe da zumindest nichts nach dem runterladen kompilieren müssen. Ich habe bei mir auch schon die UPnP Library auf die beiden von mir benutzten Perlmodule verkleinert. Dazu ist diese Phase ja jetzt schließlich da.
Das sieht bei mir also schon so aus, wie bei Boris' 1wire Modulen, die ja auch ein OWNet.pm im "lib"-Verzeichnis benötigen.

Diese UPnP-Library sollte wohl mal an CPAN gehen, hat das aber nie geschafft, und kann deswegen auch gar nicht per CPAN installiert werden. Die bei CPAN bereitgestellte UPnP-Library verfolgt einen anderen Ansatz, und ist meiner Meinung nach längst nicht komplett. Es fehlen Subscriptions, die UPnP ja gerade so interessant machen...

Das Makefile der von mir benutzten Library beschreibt nur die Vorraussetzungen die das Modul hat:
SOAP::Lite
LWP::UserAgent
HTTP::Daemon

Das sollte eigentlich Standard bei Perl sein... Diese verwende ich bei mir im Modul zum Teil dann auch wieder...

Also, alles gut... wir müssen nur herausfinden, was bei Detlev hängt...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Martin Fischer am 17 Januar 2013, 10:13:34
> Also, alles gut... wir müssen nur herausfinden, was bei Detlev hängt...

wie ich schon schrieb: es war von mir ungeprüft.

es sollte nur als tip zur fehlereingrenzung dienen, bevor ihr euch irgendwo "verzettelt". wenn dem so ist, dann kann das sicherlich ausgeschlossen werden und der fehler ist woanders zu suchen.

gruss martin
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 17 Januar 2013, 11:45:08
Vielleicht postet noch jemand ne Anleitung für Dummies ;-)

Brauchen die module irgendwelche besonderen Rechte bzw der Ordner ?


Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Januar 2013, 12:02:27
Hi Christoph,

eigentlich dachte ich, die Anleitung im Wiki wäre geeignet... Was vermisst du denn? Dann pflege ich das noch nach...

Also, Rechte müssen nur so gesetzt sein, dass FHEM diese Dateien auch lesen kann (bzw. bei den Ordnern, diese auch "betreten" kann, das ist das x-Recht).
Es sind ja normale Perlmodule, die vom Interpreter gelesen werden können müssen.

Wenn man die neuen OW-Module von Boris laufen hat, dann kann man sich an den Rechten für den Ordner "lib" und die Datei OWNet.pm darin orientieren.

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 17 Januar 2013, 13:13:52
Hi Reiner,

An deiner Anleitung im Wiki liegt es sicher nicht, die ist super :-)

Hab es gestern mal kurz installiert und auch die selben oder ähnlichen Probleme wie Detlev.

Vielleicht kann jemand die Ordnerrechte posten?
Hab bisher noch keinen lib Ordner gehabt und auch kein OW am laufen.



Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Will am 17 Januar 2013, 13:21:31
Ich habs auf meiner fritzbox installiert. Ähnliches verhalten. Liegt es an rechten oder soll ich gleich aufgeben wegen Hardware?

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Januar 2013, 14:09:21
Hi zusammen,

hmmm...  Das finde ich jetzt ja schade. Es sollte eigentlich einfach funktionieren, aber wie das immer so ist :-)

Hier also mal meine Rechte im "FHEM/lib"-Ordner:
pi@raspberrypi /etc/fhem/fhem/FHEM/lib $ find . -ls
134858 4 drwxr-xr-x 3 pi pi 4096 Jan 15 12:29 .
134859 24 -rw-r--r-- 1 pi pi 21370 Dec 30 16:15 ./OWNet.pm
134860 4 drwxr-xr-x 3 pi pi 4096 Jan 17 00:04 ./UPnP
134861 4 drwxr-xr-x 3 pi pi 4096 Jan 15 12:29 ./UPnP/lib
134866 4 drwxr-xr-x 2 pi pi 4096 Jan 17 13:57 ./UPnP/lib/UPnP
134874 20 -rw-r--r-- 1 pi pi 18062 Jan 25 2008 ./UPnP/lib/UPnP/Common.pm
134875 44 -rw-r--r-- 1 pi pi 41376 Jan 25 2008 ./UPnP/lib/UPnP/ControlPoint.pm


Ich bin gerade dabei diese Library zusammenzustauchen. Im Prinzip werden nur die beiden Dateien benötigt, die ich noch übrig gelassen habe. Ich habe auf meiner Testmaschine auch schon die Ordner vereinfacht (da ist ja im Prinzip ein überflüssiges "/lib/UPnP/" drin), aber noch nicht den Code zum veröffentlichen fertig...

Das sollten eigentlich normale Rechte sein. Es kann halt sein, dass in dem ZIP-File die Rechte völlig quer sind. Man muss das auf jeden Fall kontrollieren und an die eigenen Benutzernamen anpassen.

Kommt denn bei euch allen die Fehlermeldung im Log, dass die Library nicht gefunden werden konnte?
Unter Umständen benötigt man zum Betrieb dann weitergehende Rechte, es wird ja ein Serverport aufgemacht, um auf die Player zu lauschen. Das passiert aber alles etwas später...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Will am 17 Januar 2013, 14:42:38
Hallo Reinerlein,

mein Eintrag im Logfile sieht so aus:

2013.01.17 07:40:04 1: reload: Error:Modul 00_SONOS deactivated:
 Can't locate LWP/Simple.pm in @INC (@INC contains: /var/media/ftp/Sony-StorageMedia-00/fhem/lib/perl /var/media/ftp/Sony-StorageMedia-00/fhem/lib/perl/arch /home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl . ./FHEM) at ./FHEM/00_SONOS.pm line 54.
BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 54.

2013.01.17 07:40:04 0: Can't locate LWP/Simple.pm in @INC (@INC contains: /var/media/ftp/Sony-StorageMedia-00/fhem/lib/perl /var/media/ftp/Sony-StorageMedia-00/fhem/lib/perl/arch /home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl . ./FHEM) at ./FHEM/00_SONOS.pm line 54.
BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 54.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Januar 2013, 15:13:17
Hi Will,

ok, das ist eine Stufe weiter, und etwas was ich offensichtlich noch ins Wiki schreiben muss.

Bei mir war/ist LWP::Simple bereits installiert, weil ich in meiner 99_myUtils.pm das bereits brauche...

OK, zur Lösung:
Kannst du auf der Maschine Dinge per CPAN installieren?

Die Anweisung dazu wäre
sudo cpan LWP::Simple

Das sollte das ganze installieren. Wenn es installiert ist, wie bei mir, ergibt dann ein erneuter Aufruf der Zeile folgende Ausgabe:
pi@raspberrypi ~ $ sudo cpan LWP::Simple
Reading '/root/.cpan/Metadata'
Database was generated on Thu, 17 Jan 2013 11:06:59 GMT
LWP::Simple is up to date (6.00).


Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 17 Januar 2013, 15:35:08
Als Linux Dau wirds jetzt spannend fuer mich :-)

Sitze wie gesagt an ner fritzbox.....tippe das halt mal ab...

W
Titel: Aw: Sonos steuern
Beitrag von: Will am 17 Januar 2013, 15:43:07
offensichtlich nicht, ich bin per telnet auf meiner fritzbox.


# sudo cpan LWP::Simple
-sh: sudo: not found

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Januar 2013, 15:55:03
Hi Will,

ups.. kein sudo?

Da bin ich jetzt überfragt, was auf der FritzBox getan werden muss, um "sudo" verwenden zu dürfen. Kann das jemand beantworten, der sowas auf einer FritzBox macht?

Vielleicht geht es einfach ohne?
cpan LWP::Simple

Schwacher Versuch, ich weiss. Aber da weiss ich jetzt nicht weiter...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Will am 17 Januar 2013, 15:59:31
# cpan LWP::Simple
-sh: cpan: not found

Da brauche ich nochmal Unterstuetzung wie ich hier jetzt weitermachen soll...
Funktioniert das ueberhaupt mit telnet, sitze an einem windoof rechner und gehe mitbordmitteln auf die fritzbox


W
Titel: Aw: Sonos steuern
Beitrag von: Will am 17 Januar 2013, 16:08:42
Reinerlein,

wo kommt eigentlich dieser Pfad her:
/home/rudi/fbperl/lib/perl/arch /home/rudi/fbperl/lib/perl

Sollte es doch bei mir gar nicht geben...

W
Titel: Aw: Sonos steuern
Beitrag von: Martin Fischer am 17 Januar 2013, 16:17:46
wie ich schon versucht habe in meinem anderem beitrag darauf hinzuweisen:

auf systemen wie fritzbox oder synologys wird man tools wie cpan oder sudo vergeblich suchen. besonders die fritzbox ist da stark eingeschränkt.

gruss martin
Titel: Aw: Sonos steuern
Beitrag von: Will am 17 Januar 2013, 16:21:10
also keine chance?
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Januar 2013, 16:21:49
Hi Will,

diese Pfadliste sind Perl-Suchpfade. Dort wird überall nach der gewünschten Library gesucht. Diese Suchpfade kann man selber im Skript erweitern.

So mache ich das ja bei mir auch im Skript:
use lib "$attr{global}{modpath}/FHEM/lib";

Da wird also in irgendeinem Modul noch was altes (absolutes) von Rudi drinhängen :-)
Meine Pfadangabe ist ja eine Relative zur definierten Variable "ModPath"

Das bedeutet also nicht, dass es den Pfad bei dir gibt, sondern nur, dass er in durchsuchen möchte, wenn er ihn finden würde...

Zu deiner Code-Ausgabe. Da scheint ein Suchpfad in deiner Shell nicht gesetzt zu sein. Der findet keine Binaries.
Kannst du mal
bash
oder
/bin/bash
ausführen?
Manchmal werden dann mit dem Starten der Bash (ein Kommandozeileninterpreter) Einstellungen geladen...

Wenn das geht, dann einfach nochmal mit dem "sudo" bzw. "cpan" versuchen... Dann aber "innerhalb" der bash...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: det. am 17 Januar 2013, 16:22:55
Hallo Reinerlein,

etwas Zeit zwischen Arbeit und Abend Verpflichtungen freigeschaufelt und weiter getestet. Da die Berechtigungen setzen über telnet von Windows auf RasbPi offenbar nichts gebracht haben - Maus+Tastatur+Monitor dran - alles in FHEM/lib rw und user fhem group root gemacht - und es kommt eine neue Fehlermeldung - immerhin -
Can't locate SOAP/Lite.pm in @INC (@INC contains: /usr/share/fhem/FHEM/lib/UPnP/lib /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 . /usr/share/fhem/FHEM) at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/Common.pm line 85.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/Common.pm line 85.
Compilation failed in require at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/ControlPoint.pm line 14.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/ControlPoint.pm line 14.
Compilation failed in require at /usr/share/fhem/FHEM/00_SONOS.pm line 64.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 64.

Kann das sein, dass Du auf Deinem RaspbPi noch andere PERL Module drauf hast, die für FHEM + OWFS + FHEM Info nicht notwendig sind und daher z.B. bei mir nicht drauf sind?
Die Sache mit "Permission denied" ist jedenfalls erst mal weg - und an fehlendem shutdown restart liegt es auch nicht
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Januar 2013, 16:29:53
Hi Detlev,

ja das kann sein. Ich verwende FHEM jetzt bestimmt schon über ein Jahr... Da installiert man einiges, ohne dass man es genauer merkt :-)

Zu Sache: Ja, auch SOAP::Lite ist notwendig.

Installation über
sudo cpan SOAP::Lite

Ich trage es gleich im Wiki nach...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: det. am 17 Januar 2013, 17:16:34
Hallo Reiner,

Stunden und mehrere Kaffee später... CPAN auf dem RaspbPi erfordert wenn man das zum ersten mal aufruft unendlich Zeit und einen Neustart zwischendurch, vorher jede Menge "Make" Fehler - das solltest Du für Linux Deppen wie mich unbedingt mit ins Wiki schreiben. Nach dem Neustart und alles noch mal von vorn dauert es dann immer noch ewig und installiert Sachen was weiß ich was - und bringt div. Make Fehler. Zwischendurch die Liste:

Feature                       Prerequisites                Install?
----------------------------- ---------------------------- --------
Core Package                  [*] Scalar::Util             always
                              [*] URI
                              [*] constant
                              [*] Test::More
                              [*] MIME::Base64
                              [*] Class::Inspector
                              [*] XML::Parser (v2.23)
                              [*] Task::Weaken
Client HTTP support           [*] LWP::UserAgent           always
Client HTTPS support          [ ] Crypt::SSLeay            [ no ]
Client SMTP/sendmail support  [ ] MIME::Lite               [ no ]
Client FTP support            [ ] SOAP::Transport::FTP (v0.711) [ no ]
Client TCP support            [ ] SOAP::Transport::TCP (v0.714) [ no ]
Standalone HTTP server        [*] HTTP::Daemon             [ yes ]
Apache/mod_perl server        [ ] Apache                   [ no ]
FastCGI server                [ ] FCGI                     [ no ]
POP3 server                   [ ] MIME::Parser             [ no ]
                              [*] Net::POP3
IO server                     [*] IO::File                 [ yes ]
MQ transport support          [ ] SOAP::Transport::MQ (v0.712) [ no ]
JABBER transport support      [ ] SOAP::Transport::JABBER (v0.712) [ no ]
MIME messages                 [ ] MIME::Parser             [ no ]
DIME messages                 [ ] IO::Scalar (v2.105)      [ no ]
                              [ ] DIME::Tools (v0.03)
                              [ ] Data::UUID (v0.11)
SSL Support for TCP Transport [*] IO::Socket::SSL          [ yes ]
Compression support for HTTP  [*] Compress::Zlib           [ yes ]
MIME interoperability w/ Axis [ ] MIME::Parser (v6.106)    [ no ]
--- An asterix '[*]' indicates if the module is currently installed.

Do you want to proceed with this configuration? [yes]


wenn man das vor - angekreuzte installiert, geht es hinterher jedenfalls immer noch nicht wirklich weiter:

Can't locate SOAP/Lite.pm in @INC (@INC contains: /usr/share/fhem/FHEM/lib/UPnP/lib /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 . /usr/share/fhem/FHEM) at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/Common.pm line 85.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/Common.pm line 85.
Compilation failed in require at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/ControlPoint.pm line 14.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/lib/UPnP/lib/UPnP/ControlPoint.pm line 14.
Compilation failed in require at /usr/share/fhem/FHEM/00_SONOS.pm line 64.
BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 64.
Titel: Aw: Sonos steuern
Beitrag von: det. am 17 Januar 2013, 17:21:42
Hallo Will,

wenn Du meine bisher vergeblichen Mühen oben liest, die erforderlichen Bibliotheken auf dem RaspbPi nachzuinstallieren vergeht Dir hoffentlich die Lust, das alles auf die FB zu bekommen. Bei mir läuft FHEM auch auf der FB7390, aber so einen kleinen Linux PC kann man da gut daneben stellen und einen Teil der Last mit tragen lassen - find ich.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Januar 2013, 19:23:14
Hallo zusammen,

das klingt ja alles irgendwie doof.

Ich habe unter Wiki-Installation-SOAP-Lite (//www.fhemwiki.de/w/index.php?title=Sonos_Anwendungsbeispiel&action=submit#Installation_SOAP::Lite) eine kurze Beschreibung geschrieben, wie man das Modul manuell installiert bekommt.

Es ist anscheinend ein steiniger Weg zur Nutzung von Sonos, und wir sind noch nicht mal bei meinem Code angekommen...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Januar 2013, 19:25:03
Der Link ist falsch, das ist der auf die Editieren-Seite.

Hier der richtige: http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Installation_SOAP::Lite (//www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Installation_SOAP::Lite)

Sorry, Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: det. am 17 Januar 2013, 22:06:47
Hallo Reiner,

Danke für die prima Anleitung, die SOAP:Lite Geschichte ist drauf, SONOS zeigt sich in FHEM und jetzt ist es sicher nur noch ein lösbares Problem der Rechte unter Linux. Da ich einen RaspbPi und einen Zoneplayer sowie die Motivation zu helfen habe, aber ein Linux DAU bin, brauche ich da noch etwas Unterstützung.

pi@raspberrypi ~ $ icmp ping requires root privilege at /usr/share/fhem/FHEM/00_SONOS.pm line 832
Perl exited with active threads:
        1 running and unjoined
        0 finished and unjoined
        0 running and detached
Titel: Aw: Sonos steuern
Beitrag von: det. am 17 Januar 2013, 22:19:27
für alle die sich vielleicht aufraffen könnten, das mitzutesten mal ein screenshot, aufgenommen kurz vor dem Absturz:


(siehe Anhang / see attachement)


Ich finde da hat Reiner eine coole Sache entwickelt, das sieht schon mal sehr gut aus! Danke!!!
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Januar 2013, 22:36:38
Hi Detlev,

danke für das Kompliment. Und schön, dass es trotz Frustration noch geklappt hat :-)
Fehlt denn jetzt noch was für Nachahmer im Wiki, oder hat die manuelle Installationsbeschreibung geholfen?

Dein Absturz ist tatsächlich eine erklärbare Sache.

Kurze Erklärung:
Um einen Zoneplayer als lebend zu führen, habe ich einen regelmäßigen Ping eingebaut. Ich bekomme nämlich eine super Benachrichtigung, wenn der Player wieder da ist, aber verabschieden tut sich da keiner offiziell. Das bedeutet, dass ich das auf anderem Wege herausfinden muss.
In diesem Fall hatte ich mich für die ICMP-Ping Variante entschieden, da sie sehr Ressourcenschonend ist.

Leider braucht man dafür anscheinend mehr Rechte...

Zum kurzfristigen Umgehen kannst du bei der Definition von Sonos das Intervall mit angeben. Stell einen hohen Wert ein, an dem du dein FHEM töten lassen willst :-)

Ich recherchiere mal, was man da tun kann. Wenn noch jemand anderes eine spontane Idee hat... immer her damit...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: det. am 17 Januar 2013, 22:51:08
Hallo Reiner,

die manuelle Installationsanweisung im WIKI ist umfassend und ausreichend. Wer das damit nicht hin bekommt, sollte so einen RaspbPi besser nicht anschaffen. Da mein Produktivsystem zum Glück auf der FB läuft, ist es nicht von Belang, wenn im Büro auf meinem Schreibtisch mal über Nacht nicht 3 x Temperatur 1 x Luftfeuchte und ein Switch ohne Funktion Werte loggen.
Ich warte also gern bis Du eine Lösung gefunden hast und teste dann gern weiter. Wie schon mal gepostet, meine Motivation ist Radio Paradise mit einem Klick aus FHEM einschalten und die Lautstärke regeln. Wäre schön, wenn sich die Oberfläche anpassbar soweit reduzieren lässt. Dann kauf ich noch einen Play:3 fürs Bad, denn mit iPAD zum Steuern mag ich da bisher lieber nicht reingehen.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Januar 2013, 23:35:12
Hi Detlev und andere Mitstreiter,

ich habe ein paar Sachen geändert:
- Die Library ist nun auf die beiden nötigen Dateien eingestampft. Überflüssige Verzeichnisebenen wurden entfernt
- Es gibt jetzt ein Attribut pingType am Device SONOS. Damit kann man nun die Art des Pings einstellen. Am Besten mal 'syn' testen.
- Die Doku ist entsprechend angepasst

Also beachten:
Die Verzeichnisse der UPnP-Library müssen angepasst werden, sonst findet er die Library nicht mehr (sorry Detlev, dass du da schon wieder was ändern musst, aber so ist es übersichtlicher)!

Im Anhang nochmal alle aktuellen Dateien...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 17 Januar 2013, 23:56:39
Hi,

Dann werde ich wohl am Wochenende mal eine Linux Installation aufsetzen.
Habt ihr einen Tipp für eine schlanke Distribution die ich auf einem USB Stick aufsetzen kann?

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 18 Januar 2013, 00:15:49
Hi Will,

hmmm... schlank... vielleicht kannst du was mit den zum Raspberry Pi veröffentlichten Distributionen was werden:
http://www.raspberrypi.org/downloads (//www.raspberrypi.org/downloads)

Die sind ca. 2GB groß und natürlich für eine SD-Card gedacht, gehen aber ja vielleicht auch auf einem USB-Stick...

Ansonsten finde ich Ubuntu immer ganz nett :-)

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 18 Januar 2013, 01:03:39
Öhmmmm das passt wohl so nicht oder ? *gg*

root@raspberrypi:/home/pi# cpan LWP::Simple
Going to read '/root/.cpan/Metadata'
  Database was generated on Thu, 17 Jan 2013 00:53:02 GMT
Running install for module 'LWP::Simple'
Running make for G/GA/GAAS/libwww-perl-6.04.tar.gz
Checksum for /root/.cpan/sources/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz ok
Uncompressed /root/.cpan/sources/authors/id/G/GA/GAAS/libwww-perl-6.04.tar.gz successfully
Using Tar:/bin/tar xf "libwww-perl-6.04.tar":
Couldn't untar libwww-perl-6.04.tar
Package seems to come without Makefile.PL.
  (The test -f "/root/.cpan/build/GAAS-fABNlW/Makefile.PL" returned false.)
  Writing one on our own (setting NAME to LWPSimple)
  Had problems unarchiving. Please build manually
Running make test
  Make had some problems, won't test
Running make install
  Make had some problems, won't install
Titel: Aw: Sonos steuern
Beitrag von: det. am 18 Januar 2013, 07:59:11
Hallo Reiner,

sorry, noch immer Totalabsturz kurz nach automatischem Anlegen des Device:

icmp ping requires root privilege at /usr/share/fhem/FHEM/00_SONOS.pm line 832
Perl exited with active threads:
        1 running and unjoined
        0 finished and unjoined
        0 running and detached
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 18 Januar 2013, 09:01:23
Hallo zusammen,

@Christoph: Da steht in dem Wiki was unter der Rubrik Installation zum Thema SOAP::Lite. Leider hat das Modul LWP::Simple bei dir anscheinend diesselben Schwierigkeiten bei der automatischen Installation.

Ich werde das nachher entsprechend erweitern. Vielleicht hilft dir bis dahin die Beschreibung von SOAP::Lite, das sollte eigentlich Analog dazu sein:
http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Installation_SOAP::Lite (//www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Installation_SOAP::Lite)

Irgendwie scheinen die Module "gunzip" nicht richtig aufrufen zu können. Der Fehler ist nämlich, das nach der Zeile mit dem "uncompressed" in dem Verzeichnis immer noch die .gz-Datei liegt, und tar dementsprechend nix findet...

@Detlev: Hast du das Attribut "pingType" am Sonos-Device gesetzt? Das sieht so aus, als würde er bei dir immer noch ICMP verwenden (das ist immer noch der Standard). Wenn die Tests bei euch allen erfolgreich waren, kann ich den Standard ja auch noch umstellen.
Als erste Variante würde ich dir "syn" empfehlen. Das erscheint mir ähnlich Ressourcensparsam wie "icmp".

Hattest du bei der Installation von LWP::Simple auch die Probleme wie bei Christoph?

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: det. am 18 Januar 2013, 11:33:29
Hallo Reiner,

bin jetzt nicht in der Nähe meiner Geräte, kann aber nachdem ich heute früh schnell getestet hatte wenigstens Deine Fragen beantworten.

> Hast du das Attribut "pingType" am Sonos-Device gesetzt? < ja mit: attr Sonos pingType syn
das hat nach Neustart FHEM nichts gebracht oder verändert; ich habe den Verdacht, dass Du die Datei SONOS.pm nicht ausgetauscht hast (stand immer noch Version 1.0)?
> Hattest du bei der Installation von LWP::Simple auch die Probleme< nein, aber nach der vorgestrigen Installationsorgie kann ich auch nicht sagen, wann und auf welchem Weg das drauf gekommen ist. Die händische Installation nach Anleitung wie bei SOAP::Lite halte ich für sehr anschaulich und einfach. Damit ersparst Du sicher vielen DAU's wie mir eine Menge Frust. Wer in Linux richtig firm ist, kann es dann ja einfach anders machen.

Der root Zugriff für ICMP ist wohl nicht so einfach zu realisieren?
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 18 Januar 2013, 11:58:40
Hi Detlev,

ahhh, viel banaler.. ich habe das Attribut an dem falschen Device ausgelesen (am Player, nicht am Zentralen Sonos). Manche Sachen sollte man nicht mehr Nachts machen...
Dabei habe ich auch gleich mal die Versionsnummer hochgesetzt :-)

Um Installierfreudige nicht zu verwirren, hänge ich wieder alle Dateien ran, obwohl sich jetzt nur die 00_SONOS geändert hat...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: det. am 18 Januar 2013, 12:12:05
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.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 18 Januar 2013, 13:18:59
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
Titel: Aw: Sonos steuern
Beitrag von: det. am 18 Januar 2013, 15:55:22
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.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 18 Januar 2013, 16:34:14
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
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 18 Januar 2013, 21:11:19
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).
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 18 Januar 2013, 21:45:54
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
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 18 Januar 2013, 21:52:14
@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
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 18 Januar 2013, 22:15:50
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

Titel: Aw: Sonos steuern
Beitrag von: det. am 18 Januar 2013, 22:18:10
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?
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 18 Januar 2013, 22:22:34
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
Titel: Aw: Sonos steuern
Beitrag von: det. am 18 Januar 2013, 22:30:33
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...
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 18 Januar 2013, 22:30:57
Mir ist gerade auch noch was eingefallen, FHEM läuft bei mir auf dem angepassten Busware Raspian.
Kanns damit was zutun haben?
Titel: Aw: Sonos steuern
Beitrag von: det. am 18 Januar 2013, 23:02:24
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!
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 20 Januar 2013, 00:03:32
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
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 20 Januar 2013, 11:34:20
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
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 20 Januar 2013, 11:56:06
Hatte bei der LWP::Simple Installation einige Warnungen oder kann man die ignorieren ?


root@raspberrypi:/home/pi/lwpsimple/libwww-perl-6.04# perl Makefile.PL
Warning: prerequisite Encode::Locale 0 not found.
Warning: prerequisite File::Listing 6 not found.
Warning: prerequisite HTML::Entities 0 not found.
Warning: prerequisite HTML::HeadParser 0 not found.
Warning: prerequisite HTTP::Cookies 6 not found.
Warning: prerequisite HTTP::Daemon 6 not found.
Warning: prerequisite HTTP::Date 6 not found.
Warning: prerequisite HTTP::Negotiate 6 not found.
Warning: prerequisite HTTP::Request 6 not found.
Warning: prerequisite HTTP::Request::Common 6 not found.
Warning: prerequisite HTTP::Response 6 not found.
Warning: prerequisite HTTP::Status 6 not found.
Warning: prerequisite LWP::MediaTypes 6 not found.
Warning: prerequisite Net::HTTP 6 not found.
Warning: prerequisite URI 1.10 not found.
Warning: prerequisite URI::Escape 0 not found.
Warning: prerequisite WWW::RobotRules 6 not found.
Writing Makefile for LWP
Writing MYMETA.yml
Titel: Aw: Sonos steuern
Beitrag von: det. am 20 Januar 2013, 12:19:30
Hallo Chistoph,

Hab auch nur gefährliches Halbwissen, aber ignorieren kannst Du die Fehler nicht. Mach Dir vorsichtshalber eine Kopie der SD Card auf einen anderen PC, dann kannst Du den Stand vor " total vermurkst" jederzeit wieder zurückspielen, lies das inzwischen sehr lange Posting noch mal durch, da stehen verstreut alle Infos zu den erforderlichen Linux Modulen drin. Wenn Du was noch mal installierst, was schon richtig drauf ist, merkt das das System. Mir hat auch ein reboot nach Installation jeweils der einzelnen Module geholfen.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 20 Januar 2013, 12:31:25
Hi Christoph,

da ist LWP::Simple bei der Installation darauf gestossen. dass ihm noch etwas fehlt :-)
Hast du das per CPAN installiert? So wie es aussieht ja nicht...

Wenn nicht, dann muss ich das Wiki wohl noch erweiterrn, dass LWP::Simple anscheinend noch Vorraussetzungen hat, die man auch nachziehen muss, da sie offenbar nicht bereits vorhanden sind...

Das mit der Neuinstallation war zwar eine große Keule, hilft uns aber gerade das Wiki zu vervollständigen :-)
Wenn ich auf der CPAN-Seite bei den Vorraussetzungen nachschaue, kommt einiges zusammen:

        'Digest::MD5'
        'Encode'
        'Encode::Locale'
        'File::Listing'
        'HTML::Entities'
        'HTML::HeadParser'
        'HTTP::Cookies'
        'HTTP::Daemon'
        'HTTP::Date'
        'HTTP::Negotiate'
        'HTTP::Request'
        'HTTP::Request::Common'
        'HTTP::Response'
        'HTTP::Status'
        'IO::Select'
        'IO::Socket'
        'LWP::MediaTypes'
        'MIME::Base64'
        'Net::FTP'
        'Net::HTTP'
        'URI'
        'URI::Escape''
        'WWW::RobotRules'


Davon wird einiges bereits im Standard von Perl mitgeliefert sein. Es ist jetzt halt interessant, was da jetzt noch wirklich fehlt. Ich denke, da hilft deine Fehler/Warnungsausgabe aus dem letzten Post.

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 20 Januar 2013, 12:44:07
Hi Christoph,

ich habe nochmal Google bemüht, und folgendes herausgefunden:
Es gibt die meisten Perl-Module für Debian (und deren Abkömmlinge) als Paket mittels apt-get.

Siehe dazu auch http://www.perlmonks.org/?node_id=753416 (//www.perlmonks.org/?node_id=753416).

Das bedeutet für LibWWW:
sudo apt-get install libwww-perl

Vielleicht kannst du das ja noch darüber nachziehen lassen?

Wenn das funktioniert, werde ich das im Wiki als Hinweis für die Debian-System mit aufnehmen...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 20 Januar 2013, 14:06:06
Hallo,

so jetzt werfe ich meine probleme auch mal in die runde:

ich habe heute komplett neu aufgesetzt eine Linux Mint 14 installation.

SOAP::Lite
LWP::Lite
sollten installiert sein (sagt mir der Paketmanager)

FHEM habe ich via dem Deb Paket nicht installiert bekommen - einfach dei tar.gz dateien genommen - FHEM laeuft

Im log kommt dann folgendes:
2013.01.20 12:30:45 1: reload: Error:Modul 00_SONOS deactivated:
 Can't locate UPnP/ControlPoint.pm in @INC (@INC contains: ./FHEM/lib /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 . ./FHEM) at ./FHEM/00_SONOS.pm line 64.
BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 64.

2013.01.20 12:30:45 0: Can't locate UPnP/ControlPoint.pm in @INC (@INC contains: ./FHEM/lib /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 . ./FHEM) at ./FHEM/00_SONOS.pm line 64.
BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 64.

Und das MOdul wird natuerlich nicht geladen.

Ich habe im FHEM ordner jedem lese und schreibrechte gegeben...

Hat jemand einen Tipp?

Danke,

W
Titel: Aw: Sonos steuern
Beitrag von: det. am 20 Januar 2013, 14:15:38
sieht so aus, als ob Du die Dateien
FHEM/lib
FHEM/lib/UPnP
FHEM/lib/UPnP/Common.pm
FHEM/lib/UPnP/ControlPoint.pm

siehe WIKI  http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel (//www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel) nicht an die richtige Stelle kopiert hast?
Titel: Aw: Sonos steuern
Beitrag von: Will am 20 Januar 2013, 14:17:53
mint@mint /usr/share/fhem $ find /usr/share/fhem/lib/UPnP
/usr/share/fhem/lib/UPnP
/usr/share/fhem/lib/UPnP/Common.pm
/usr/share/fhem/lib/UPnP/ControlPoint.pm


Correct?

W
Titel: Aw: Sonos steuern
Beitrag von: det. am 20 Januar 2013, 14:24:18
Bei meinem RasbPi ist das so:

/usr/share/fhem/FHEM/lib/UPnP
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 20 Januar 2013, 14:47:00
Stimmen Owner / Group ?

cd /usr/share/fhem/lib/UPnP
ls -l
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 20 Januar 2013, 14:52:27
Hi Will,

kannst du mal ein
find /usr/share/fhem/lib -ls
also eine Ebene höher, ausführen?

Da müsste dann auch die Datei OWNet.pm zu sehen sein... Und wir sehen hier mal die Rechte :-)

Und ich glaube, da fehlt eine Ebene. Der originale FHEM-Ordner (also der mit den FHEM-eigenen Libraries) wird großgeschrieben...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 20 Januar 2013, 14:56:41
mint@mint /usr/share/fhem/FHEM/lib/UPnP $ ls -1
Common.pm
ControlPoint.pm
Titel: Aw: Sonos steuern
Beitrag von: Will am 20 Januar 2013, 15:02:30
ich habe den lib ordner jetzt im FHEM (nicht fhem) ordner verschoben

mint@mint /usr/share/fhem/FHEM/lib/UPnP $ find /usr/share/fhem/FHEM
/usr/share/fhem/FHEM
/usr/share/fhem/FHEM/00_CM11.pm
/usr/share/fhem/FHEM/00_CUL.pm
/usr/share/fhem/FHEM/00_FHZ.pm
/usr/share/fhem/FHEM/00_HMLAN.pm
/usr/share/fhem/FHEM/00_KM271.pm
/usr/share/fhem/FHEM/00_LIRC.pm
/usr/share/fhem/FHEM/00_OWX.pm
/usr/share/fhem/FHEM/00_TCM.pm
/usr/share/fhem/FHEM/00_TUL.pm
/usr/share/fhem/FHEM/00_ZWDongle.pm
/usr/share/fhem/FHEM/01_FHEMWEB.pm
/usr/share/fhem/FHEM/02_HTTPSRV.pm
/usr/share/fhem/FHEM/02_RSS.pm
/usr/share/fhem/FHEM/09_BS.pm
/usr/share/fhem/FHEM/09_CUL_FHTTK.pm
/usr/share/fhem/FHEM/09_USF1000.pm
/usr/share/fhem/FHEM/10_CUL_HM.pm
/usr/share/fhem/FHEM/10_CUL_IR.pm
/usr/share/fhem/FHEM/10_EIB.pm
/usr/share/fhem/FHEM/10_EnOcean.pm
/usr/share/fhem/FHEM/10_FS20.pm
/usr/share/fhem/FHEM/10_IT.pm
/usr/share/fhem/FHEM/10_ZWave.pm
/usr/share/fhem/FHEM/11_FHT.pm
/usr/share/fhem/FHEM/11_FHT8V.pm
/usr/share/fhem/FHEM/12_HMS.pm
/usr/share/fhem/FHEM/13_KS300.pm
/usr/share/fhem/FHEM/14_CUL_TX.pm
/usr/share/fhem/FHEM/14_CUL_WS.pm
/usr/share/fhem/FHEM/15_CUL_EM.pm
/usr/share/fhem/FHEM/16_CUL_RFR.pm
/usr/share/fhem/FHEM/17_SIS_PMS.pm
/usr/share/fhem/FHEM/18_CUL_HOERMANN.pm
/usr/share/fhem/FHEM/20_OWFS.pm
/usr/share/fhem/FHEM/20_X10.pm
/usr/share/fhem/FHEM/21_OWAD.pm
/usr/share/fhem/FHEM/21_OWCOUNT.pm
/usr/share/fhem/FHEM/21_OWID.pm
/usr/share/fhem/FHEM/21_OWLCD.pm
/usr/share/fhem/FHEM/21_OWMULTI.pm
/usr/share/fhem/FHEM/21_OWSWITCH.pm
/usr/share/fhem/FHEM/21_OWTEMP.pm
/usr/share/fhem/FHEM/21_OWTHERM.pm
/usr/share/fhem/FHEM/22_ALL3076.pm
/usr/share/fhem/FHEM/23_ALL4027.pm
/usr/share/fhem/FHEM/23_WEBIO.pm
/usr/share/fhem/FHEM/23_WEBIO_12DIGITAL.pm
/usr/share/fhem/FHEM/23_WEBTHERM.pm
/usr/share/fhem/FHEM/24_NetIO230B.pm
/usr/share/fhem/FHEM/40_RFXCOM.pm
/usr/share/fhem/FHEM/41_OREGON.pm
/usr/share/fhem/FHEM/42_RFXMETER.pm
/usr/share/fhem/FHEM/43_RFXX10REC.pm
/usr/share/fhem/FHEM/45_TRX.pm
/usr/share/fhem/FHEM/46_TRX_ELSE.pm
/usr/share/fhem/FHEM/46_TRX_LIGHT.pm
/usr/share/fhem/FHEM/46_TRX_SECURITY.pm
/usr/share/fhem/FHEM/46_TRX_WEATHER.pm
/usr/share/fhem/FHEM/49_IPCAM.pm
/usr/share/fhem/FHEM/50_WS300.pm
/usr/share/fhem/FHEM/56_POKEYS.pm
/usr/share/fhem/FHEM/57_Calendar.pm
/usr/share/fhem/FHEM/59_Twilight.pm
/usr/share/fhem/FHEM/59_Weather.pm
/usr/share/fhem/FHEM/60_EM.pm
/usr/share/fhem/FHEM/61_EMWZ.pm
/usr/share/fhem/FHEM/62_EMEM.pm
/usr/share/fhem/FHEM/63_EMGZ.pm
/usr/share/fhem/FHEM/64_ESA2000.pm
/usr/share/fhem/FHEM/66_ECMD.pm
/usr/share/fhem/FHEM/67_ECMDDevice.pm
/usr/share/fhem/FHEM/70_SCIVT.pm
/usr/share/fhem/FHEM/70_SISPM.pm
/usr/share/fhem/FHEM/70_SML.pm
/usr/share/fhem/FHEM/70_STV.pm
/usr/share/fhem/FHEM/70_TellStick.pm
/usr/share/fhem/FHEM/70_USBWX.pm
/usr/share/fhem/FHEM/70_WS3600.pm
/usr/share/fhem/FHEM/75_MSG.pm
/usr/share/fhem/FHEM/76_MSGFile.pm
/usr/share/fhem/FHEM/76_MSGMail.pm
/usr/share/fhem/FHEM/80_M232.pm
/usr/share/fhem/FHEM/80_xxLG7000.pm
/usr/share/fhem/FHEM/81_M232Counter.pm
/usr/share/fhem/FHEM/82_LGTV.pm
/usr/share/fhem/FHEM/82_M232Voltage.pm
/usr/share/fhem/FHEM/87_WS2000.pm
/usr/share/fhem/FHEM/88_ALL4000T.pm
/usr/share/fhem/FHEM/88_IPWE.pm
/usr/share/fhem/FHEM/88_Itach_Relay.pm
/usr/share/fhem/FHEM/88_VantagePro2.pm
/usr/share/fhem/FHEM/88_WEBCOUNT.pm
/usr/share/fhem/FHEM/90_at.pm
/usr/share/fhem/FHEM/91_notify.pm
/usr/share/fhem/FHEM/91_sequence.pm
/usr/share/fhem/FHEM/91_watchdog.pm
/usr/share/fhem/FHEM/92_FileLog.pm
/usr/share/fhem/FHEM/93_FHEM2FHEM.pm
/usr/share/fhem/FHEM/95_FLOORPLAN.pm
/usr/share/fhem/FHEM/95_holiday.pm
/usr/share/fhem/FHEM/95_PachLog.pm
/usr/share/fhem/FHEM/98_autocreate.pm
/usr/share/fhem/FHEM/98_average.pm
/usr/share/fhem/FHEM/98_dewpoint.pm
/usr/share/fhem/FHEM/98_dummy.pm
/usr/share/fhem/FHEM/98_PID.pm
/usr/share/fhem/FHEM/98_structure.pm
/usr/share/fhem/FHEM/98_SVG.pm
/usr/share/fhem/FHEM/98_telnet.pm
/usr/share/fhem/FHEM/98_weblink.pm
/usr/share/fhem/FHEM/98_WOL.pm
/usr/share/fhem/FHEM/99_backup.pm
/usr/share/fhem/FHEM/99_CULflash.pm
/usr/share/fhem/FHEM/99_JsonList.pm
/usr/share/fhem/FHEM/99_SUNRISE_EL.pm
/usr/share/fhem/FHEM/99_update.pm
/usr/share/fhem/FHEM/99_Utils.pm
/usr/share/fhem/FHEM/99_XmlList.pm
/usr/share/fhem/FHEM/DevIo.pm
/usr/share/fhem/FHEM/FhemUtils
/usr/share/fhem/FHEM/FhemUtils/release.pm
/usr/share/fhem/FHEM/FritzBoxUtils.pm
/usr/share/fhem/FHEM/HttpUtils.pm
/usr/share/fhem/FHEM/TcpServerUtils.pm
/usr/share/fhem/FHEM/00_SONOS.pm
/usr/share/fhem/FHEM/21_SONOSPLAYER.pm
/usr/share/fhem/FHEM/lib
/usr/share/fhem/FHEM/lib/UPnP
/usr/share/fhem/FHEM/lib/UPnP/Common.pm
/usr/share/fhem/FHEM/lib/UPnP/ControlPoint.pm
Titel: Aw: Sonos steuern
Beitrag von: Will am 20 Januar 2013, 15:05:59
hmmm, so wie ich das sehe habe ich jetzt ein anderes problem:

logfile gibt aus:

2013.01.20 13:53:24 1: telnetPort: Can't open server port at 7072: Address already in use. Exiting.

danach werden die weiteren Befehle der cfg nicht weiter ausgefuehrt...

Danke fuer die Hinweise.

W
Titel: Aw: Sonos steuern
Beitrag von: Will am 20 Januar 2013, 15:28:24
Aslo neuer Versuch, alles nochmal gebootet, jetzt steht im logfile:

2013.01.21 06:22:00 1: Including fhem.cfg
2013.01.21 06:22:01 3: telnetPort: port 7072 opened
2013.01.21 06:22:01 3: WEB: port 8083 opened
2013.01.21 06:22:01 3: WEBphone: port 8084 opened
2013.01.21 06:22:01 3: WEBtablet: port 8085 opened
2013.01.21 06:22:01 1: configfile: Unknown module SONOS, choose one of ALL3076 ALL4000T ALL4027 BS CM11 CUL CUL_EM CUL_FHTTK CUL_HM CUL_HOERMANN CUL_IR CUL_RFR CUL_TX CUL_WS Calendar ECMD ECMDDevice EIB EM EMEM EMGZ EMWZ ESA2000 EnOcean FHEM2FHEM FHEMWEB FHT FHT8V FHZ FLOORPLAN FS20 FileLog HMLAN HMS HTTPSRV IPCAM IPWE IT Itach_Relay KM271 KS300 LGTV LIRC M232 M232Counter M232Voltage MSG MSGFile MSGMail NetIO230B OREGON OWAD OWCOUNT OWFS OWID OWLCD OWMULTI OWSWITCH OWTEMP OWTHERM OWX PID POKEYS PachLog RFXCOM RFXMETER RFXX10REC RSS SCIVT SISPM SIS_PMS SML STV SVG TCM TRX TRX_ELSE TRX_LIGHT TRX_SECURITY TRX_WEATHER TUL TellStick Twilight USBWX USF1000 VantagePro2 WEBCOUNT WEBIO WEBIO_12DIGITAL WEBTHERM WOL WS2000 WS300 WS3600 Weather X10 ZWDongle ZWave at autocreate average dewpoint dummy holiday notify sequence structure telnet watchdog weblink xxLG7000
2013.01.21 06:22:01 1: Including ./log/fhem.save
2013.01.21 06:22:01 1: usb create starting
2013.01.21 06:22:01 1: usb create end
2013.01.21 06:22:01 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute.  Restart fhem for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
2013.01.21 06:22:01 0: Server started (version Fhem 5.3 (DEVELOPMENT), $Id: fhem.pl 1996 2012-10-20



Er laedt das Modul wohl nicht, korrekt? Woran koennte das liegen?

W
Titel: Aw: Sonos steuern
Beitrag von: Will am 20 Januar 2013, 15:36:55
Rechte der 2 relevanten Dateien:

224515   72 -rwxrwxrwx   1 root     root        65538 Jan 20 20:28 ./00_SONOS.pm
224516   24 -rw-rw-rw-   1 root     root        22591 Jan 20 20:28 ./21_SONOSPLAYER.pm
Titel: Aw: Sonos steuern
Beitrag von: Will am 20 Januar 2013, 15:56:50
bei reload 00_SONOS
kommt
Can't read ./FHEM/00_SONOS.pm: No such file or directory

Ich gebs jetzt erst mal auf.

Dank an all die Geduldigen, die sich diese Logfiles hier durchlesen und auch Antworten!
Meine Linuxkenntnisse sind jetzt bei "ein bisschen" kommend von "gar nix".

Gute Nacht.

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 20 Januar 2013, 16:03:32
Hi Wll

nicht verzweifeln.. wir haben das noch bei jedem hinbekommen.

In deiner Fileliste steht zwar jetzt wunderbar unter FHEM/lib der UPnP Kram. Allerdings fehlen im Ordner FHEM (großgeschrieben) jetzt wohl die beiden Dateien 00_SONOS.pm und 21_SONOSPLAYER.pm.

Die sind wohl bei deinen Verschiebeaktionen verloren gegangen...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 20 Januar 2013, 16:04:38
ahh zurück.. die waren nur an einer anderen Stelle sortiert in deiner Ausgabe.. hmm... ich gehe nochmal in mich...
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 20 Januar 2013, 17:55:49
Hi Will,

welche FHEM-Version betreibst du denn?

Es könnte durchaus sein, dass es bei älteren Versionen zu Problemen kommen kann. Ich entwickle ja auf dem aktuellsten Entwicklungsstand von FHEM.

Normalerweise sollte nämlich auch eine Datei OWNet.pm (das Modul wird von OWServer benötigt) im Ordner "lib/" vorhanden sein. Dies passiert aber erst ab einer Version von irgendwann Ende Dezember...

Vielleicht solltest du mal updaten (mittels "update" über die FHEM-Oberfläche), und dann nochmal probieren...

Grüße Reinerlei
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 22 Januar 2013, 11:07:38
Hi zusammen,

ich wollte mal ein kurzes Update bringen.

Ich habe einen Punkt entdeckt, der dafür sorgen dürfte, dass mehrere Player in einem Netz nicht funktionieren. Da bin ich gerade dabei, dies zu beheben. Desweiteren sind kleinere Bugs von mir bereits entdeckt und auch behoben worden.

Ich werde also die nächste Veröffentlichung bis zur Behebung dieses Punkts verzögern... Wird aber nicht mehr lange dauern...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: det. am 22 Januar 2013, 11:53:54
Hallo Reiner,

das klingt ja sehr erfreulich! Der PLAY:3 fürs Bad ist schon unterwegs, kann also spätestens ab Donnerstag mit 2 Geräten testen. Habe übrigens eine sehr günstige Quelle für die Dinger, wenn jemand noch welche braucht - pm - an mich.
Titel: Aw: Sonos steuern
Beitrag von: Will am 22 Januar 2013, 13:19:34
Ich betreibe fhem 5.3

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 22 Januar 2013, 16:06:08
Hi Will,

OK, dann wäre noch interessant. ob du jemals mal "update" ausgeführt hast. Erst dann wird auf die aktuellste Developer-Version aktualisiert.
Da ist einiges seit dem 5.3er Release passiert. Allerdings muss man bei manchen Sachen auch was anpassen. Wenn das nur eine Parallel-Installation ist, dann sollte das kein Problem sein. Im anderen Fall solltest du das erstmal versuchsweise machen...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: det. am 23 Januar 2013, 10:46:35
Hallo Reiner,

kurze Zwischeninfo: der soeben angekommene PLAY:3 wird vom FHEM System mit absoluter Nichtachtung gestraft (bisher).
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 23 Januar 2013, 14:51:36
Gut dann liegt es nicht an mir *gg* Bei mir funktioniert es mit dem Play3 auch nicht...

Connect funktioniert ohne Probleme
Wenn ich Play und oder Bridge dazunehme und wird nichts mehr erkannt.

Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: det. am 23 Januar 2013, 15:02:00
na, dann brauch ich nicht weiter zu probieren. Habe den ZP90 aus der config rausgelöscht - sobald der PLAY:3 am Netz ist geht nach shutdown restart der RaspbPi schlafen - und Neustart funktioniert erst wieder, wenn der PLAY:3 definitiv aus ist.
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 23 Januar 2013, 17:56:12
Auf die Idee den Play3 auszustecken bin ich net gekommen...
Hab gedacht es liegt an fhem bzw dem Sonos Modul, hab dann auf der Konsole händisch das "define Sonos SONOS" aus der fhem.cfg rausgenommen. Und nach reboot des Raspberry ging fhem irgendwann wieder :-)

Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 23 Januar 2013, 20:27:45
Hi zusammen,

hmmm, ok, jetzt wird es also interessant mit zwei Geräten im Netz. Das ist bei mir bislang ja nur im Kopf gelaufen... und da kann ja auch immer einiges schief gehen :-)

Zur Einschränkung des Problems:
Funktioniert es denn, wenn nur der Play:3 am Netz hängt, und der andere aus ist?

Ich möchte herausfinden, ob die mehreren Player das Problem sind, oder der Play:3...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 23 Januar 2013, 20:35:06
Zitat von: Reinerlein schrieb am Mi, 23 Januar 2013 20:27Zur Einschränkung des Problems:
Funktioniert es denn, wenn nur der Play:3 am Netz hängt, und der andere aus ist?

Also bei mir hat es nicht funktioniert.
Titel: Aw: Sonos steuern
Beitrag von: det. am 23 Januar 2013, 20:52:28
Hallo Reiner,

Der PLAY:3 wird völlig ignoriert. Ich hab den RaspbPi heute bestimmt 10 x neu gestartet mit Stecker raus....
1. Fall ZP90 in FHEM eingetragen und läuft  - PLAY:3 dazu FHEM stirbt
2. Fall dto., nur ZP90 ist aus und PLAY:3 hängt mit Netzwerkkabel am Netz, nach shutdown restart .....s.o.
3. Fall ZP90 Einstellungen aus der config genommen, PLAY:3 wird nicht erkannt ...s.o.
ich würde Dir viel lieber was aufmunterndes schreiben, aber da gibt es noch eine große Baustelle.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 23 Januar 2013, 21:37:56
Hi Detlev,

das kriegen wir schon hin. Es wird nur ein bißchen Informationsübertragung nötig, da ich hier ja nur einen ZP90 habe...

Was mir helfen würde:
-Loglevel auf 4 stellen
-Log bzgl. der Sonos-Ausgaben (fangen alle mit SONOS_ an, wobei der Unterstrich immer eine Zahl ist)
-Konsolenausgabe des Perl-Prozesses. Ich vermute, dass der Thread stirbt, und auf der Konsole eine Ausgabe dazu steht

Im Log taucht dann auch eine sehr lange Ausgabe auf: Eine XML-Datei des Zoneplayers. Die hilft mir dann beim Analysieren des Problems...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: det. am 23 Januar 2013, 23:01:35
Doch noch Save gelöscht, alles rausgeworfen und Kaltstart:
2013.01.23 22:17:17 1: Including /etc/fhem.cfg
2013.01.23 22:17:20 4: FHEMWEB directories:
2013.01.23 22:17:20 4:   web server root: /usr/share/fhem/www
2013.01.23 22:17:20 4:   icon directory: /usr/share/fhem/www/images
2013.01.23 22:17:20 4:     Notice: if style-specific subdirectories /usr/share/fhem/www/images/default etc. exist, icons are only read from there and not from /usr/share/fhem/www/images!
2013.01.23 22:17:20 4:   doc directory: /usr/share/fhem/docs
2013.01.23 22:17:20 4:   css directory: /usr/share/fhem/www/pgm2
2013.01.23 22:17:20 4:   gplot directory: /usr/share/fhem/www/gplot
2013.01.23 22:17:20 4:   javascript directory: /usr/share/fhem/www/pgm2
2013.01.23 22:17:20 3: WEB: port 8083 opened
2013.01.23 22:17:20 3: telnetPort: port 7072 opened
2013.01.23 22:17:20 4: FHEMWEB directories:
2013.01.23 22:17:20 4:   web server root: /usr/share/fhem/www
2013.01.23 22:17:20 4:   icon directory: /usr/share/fhem/www/images
2013.01.23 22:17:20 4:     Notice: if style-specific subdirectories /usr/share/fhem/www/images/default etc. exist, icons are only read from there and not from /usr/share/fhem/www/images!
2013.01.23 22:17:21 4:   doc directory: /usr/share/fhem/docs
2013.01.23 22:17:21 4:   css directory: /usr/share/fhem/www/pgm2
2013.01.23 22:17:21 4:   gplot directory: /usr/share/fhem/www/gplot
2013.01.23 22:17:21 4:   javascript directory: /usr/share/fhem/www/pgm2
2013.01.23 22:17:21 3: WEBtablet: port 8085 opened
2013.01.23 22:17:21 3: Opening CUL_RASPI device /dev/ttyAMA0
2013.01.23 22:17:22 3: Setting CUL_RASPI baudrate to 38400
2013.01.23 22:17:22 3: CUL_RASPI device opened
2013.01.23 22:17:22 3: CUL_RASPI: Possible commands: mCFiAZOGMRTVWXefltux
2013.01.23 22:52:40 1: usb create starting
2013.01.23 22:52:41 4: ### ttyAMA0: checking if it is a CUL
2013.01.23 22:52:41 4: already used by the CUL_RASPI fhem device
2013.01.23 22:52:41 1: usb create end
2013.01.23 22:52:41 0: Server started (version Fhem 5.3 (DEVELOPMENT), $Id: fhem.pl 2553 2013-01-22 19:16:46Z rudolfkoenig $, pid 1824)
2013.01.23 22:52:41 3: SONOS0: UPnP-Thread is now dead or has not exists!
2013.01.23 22:52:43 4: SONOS1: <?xml version="1.0" encoding="utf-8" ?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
  <specVersion>
    <major>1</major>
    <minor>0</minor>
  </specVersion>
  <device>
    <deviceType>urn:schemas-upnp-org:device:ZonePlayer:1</deviceType>
    <friendlyName>192.168.2.36 - Sonos PLAY:3</friendlyName>
    <manufacturer>Sonos, Inc.</manufacturer>
    <manufacturerURL>http://www.sonos.com</manufacturerURL>
    <modelNumber>S3</modelNumber>
    <modelDescription>Sonos PLAY:3</modelDescription>
    <modelName>Sonos PLAY:3</modelName>
    <modelURL>http://www.sonos.com/products/zoneplayers/S3</modelURL>
    <softwareVersion>19.4-60120</softwareVersion>
    <hardwareVersion>1.8.1.2-2</hardwareVersion>
    <serialNum>00-0E-58-7D-9F-C4:7</serialNum>
    <UDN>uuid:RINCON_000E587D9FC401400</UDN>
    <iconList>
      <icon>
        <id>0</id>
        <mimetype>image/png</mimetype>
        <width>48</width>
        <height>48</height>
        <depth>24</depth>
        <url>/img/icon-S3.png</url>
      </icon>
    </iconList>
    <minCompatibleVersion>19.4-00000</minCompatibleVersion>
    <displayVersion>3.8.4</displayVersion>
    <extraVersion>OTP: </extraVersion>
    <roomName>Mobil</roomName>
    <displayName>PLAY:3</displayName>
    <zoneType>7</zoneType>
    <feature1>0x00000000</feature1>
    <feature2>0x00006332</feature2>
    <feature3>0x0000002a</feature3>
    <internalSpeakerSize>4</internalSpeakerSize>
    <serviceList>
      <service>
        <serviceType>urn:schemas-upnp-org:service:AlarmClock:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:AlarmClock</serviceId>
        <controlURL>/AlarmClock/Control</controlURL>
        <eventSubURL>/AlarmClock/Event</eventSubURL>
        <SCPDURL>/xml/AlarmClock1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:MusicServices:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:MusicServices</serviceId>
        <controlURL>/MusicServices/Control</controlURL>
        <eventSubURL>/MusicServices/Event</eventSubURL>
        <SCPDURL>/xml/MusicServices1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:DeviceProperties:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:DeviceProperties</serviceId>
        <controlURL>/DeviceProperties/Control</controlURL>
        <eventSubURL>/DeviceProperties/Event</eventSubURL>
        <SCPDURL>/xml/DeviceProperties1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:SystemProperties:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:SystemProperties</serviceId>
        <controlURL>/SystemProperties/Control</controlURL>
        <eventSubURL>/SystemProperties/Event</eventSubURL>
        <SCPDURL>/xml/SystemProperties1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:ZoneGroupTopology:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:ZoneGroupTopology</serviceId>
        <controlURL>/ZoneGroupTopology/Control</controlURL>
        <eventSubURL>/ZoneGroupTopology/Event</eventSubURL>
        <SCPDURL>/xml/ZoneGroupTopology1.xml</SCPDURL>
      </service>    
      <service>
        <serviceType>urn:schemas-upnp-org:service:GroupManagement:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:GroupManagement</serviceId>
        <controlURL>/GroupManagement/Control</controlURL>
        <eventSubURL>/GroupManagement/Event</eventSubURL>
        <SCPDURL>/xml/GroupManagement1.xml</SCPDURL>
      </service>
    </serviceList>
    <deviceList>
      <device>
  <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
  <friendlyName>192.168.2.36 - Sonos PLAY:3 Media Server</friendlyName>
  <manufacturer>Sonos, Inc.</manufacturer>
  <manufacturerURL>http://www.sonos.com</manufacturerURL>
  <modelNumber>S3</modelNumber>
  <modelDescription>Sonos PLAY:3 Media Server</modelDescription>
  <modelName>Sonos PLAY:3</modelName>
  <modelURL>http://www.sonos.com/products/zoneplayers/S3</modelURL>
  <UDN>uuid:RINCON_000E587D9FC401400_MS</UDN>
  <serviceList>
    <service>
      <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
      <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
      <controlURL>/MediaServer/ContentDirectory/Control</controlURL>
      <eventSubURL>/MediaServer/ContentDirectory/Event</eventSubURL>
      <SCPDURL>/xml/ContentDirectory1.xml</SCPDURL>
    </service>
    <service>
      <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
   <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
   <controlURL>/MediaServer/ConnectionManager/Control</controlURL>
   <eventSubURL>/MediaServer/ConnectionManager/Event</eventSubURL>
   <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
 </service>
</serviceList>
      </device>
      <device>
<deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
  <friendlyName>Mobil - Sonos PLAY:3 Media Renderer</friendlyName>
  <manufacturer>Sonos, Inc.</manufacturer>
  <manufacturerURL>http://www.sonos.com</manufacturerURL>
  <modelNumber>S3</modelNumber>
  <modelDescription>Sonos PLAY:3 Media Renderer</modelDescription>
  <modelName>Sonos PLAY:3</modelName>
  <modelURL>http://www.sonos.com/products/zoneplayers/S3</modelURL>
<UDN>uuid:RINCON_000E587D9FC401400_MR</UDN>
<serviceList>
 <service>
   <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
   <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
   <controlURL>/MediaRenderer/RenderingControl/Control</controlURL>
   <eventSubURL>/MediaRenderer/RenderingControl/Event</eventSubURL>
   <SCPDURL>/xml/RenderingControl1.xml</SCPDURL>
 </service>
 <service>
   <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
   <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
   <controlURL>/MediaRenderer/ConnectionManager/Control</controlURL>
   <eventSubURL>/MediaRenderer/ConnectionManager/Event</eventSubURL>
   <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
 </service>
 <service>
   <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
   <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
   <controlURL>/MediaRenderer/AVTransport/Control</controlURL>
   <eventSubURL>/MediaRenderer/AVTransport/Event</eventSubURL>
   <SCPDURL>/xml/AVTransport1.xml</SCPDURL>
 </service>
</serviceList>
        <X_Rhapsody-Extension xmlns="http://www.real.com/rhapsody/xmlns/upnp-1-0">
          <deviceID>urn:rhapsody-real-com:device-id-1-0:sonos_1:RINCON_000E587D9FC401400</deviceID>
            <deviceCapabilities>
              <interactionPattern type="real-rhapsody-upnp-1-0"/>
            </deviceCapabilities>
        </X_Rhapsody-Extension>
        <iconList>
          <icon>
            <mimetype>image/png</mimetype>
            <width>48</width>
            <height>48</height>
            <depth>24</depth>
            <url>/img/icon-S3.png</url>
          </icon>
        </iconList>
      </device>
    </deviceList>
  </device>
</root>

2013.01.23 22:54:26 4: Connection accepted from FHEMWEB:192.168.2.142:55140
2013.01.23 22:54:27 4: HTTP FHEMWEB:192.168.2.142:55140 GET /fhem
2013.01.23 22:54:28 4: /fhem / RL: 824 / text/html; charset=UTF-8 / Content-Encoding: gzip
 /
2013.01.23 22:54:28 4: HTTP FHEMWEB:192.168.2.142:55140 GET /fhem/css/style.css
2013.01.23 22:54:28 4: HTTP FHEMWEB:192.168.2.142:55140 GET /fhem/js/svg.js
2013.01.23 22:54:28 4: HTTP FHEMWEB:192.168.2.142:55140 GET /fhem/js/fhemweb.js
2013.01.23 22:54:28 4: Connection closed for FHEMWEB:192.168.2.142:55140
2013.01.23 22:54:28 4: Connection accepted from FHEMWEB:192.168.2.142:55141
2013.01.23 22:54:28 4: HTTP FHEMWEB:192.168.2.142:55141 GET /fhem/icons/icoEverything
2013.01.23 22:54:28 4: HTTP FHEMWEB:192.168.2.142:55141 GET /fhem/icons/fhemicon.png
2013.01.23 22:54:28 4: Connection accepted from FHEMWEB:192.168.2.142:55142
2013.01.23 22:54:28 4: HTTP FHEMWEB:192.168.2.142:55142 GET /fhem/icons/fhemicon
2013.01.23 22:54:35 4: HTTP FHEMWEB:192.168.2.142:55141 GET /fhem?room=Unsorted
2013.01.23 22:54:35 4: /fhem?room=Unsorted / RL: 1331 / text/html; charset=UTF-8 / Content-Encoding: gzip
 /
2013.01.23 22:54:35 4: HTTP FHEMWEB:192.168.2.142:55141 GET /fhem/css/style.css
2013.01.23 22:54:44 4: HTTP FHEMWEB:192.168.2.142:55141 GET /fhem?cmd=logwrapper%20Logfile%20text%20fhem-2013-01.log
2013.01.23 22:54:44 4: Connection closed for FHEMWEB:192.168.2.142:55141
2013.01.23 22:54:45 4: Connection accepted from FHEMWEB:192.168.2.142:55143
2013.01.23 22:54:45 4: HTTP FHEMWEB:192.168.2.142:55143 GET /fhem/css/style.css
2013.01.23 22:55:19 4: Connection closed for FHEMWEB:192.168.2.142:55142
2013.01.23 22:55:19 4: Connection closed for FHEMWEB:192.168.2.142:55143
2013.01.23 22:56:35 4: HMS device f4e9 not defined, using the wildcard device 1001
2013.01.23 22:56:35 3: Unknown HMS device 1001/f4e9, please define it
2013.01.23 22:56:35 2: autocreate: define HMS100T_f4e9 HMS f4e9
2013.01.23 22:56:36 2: autocreate: define FileLog_HMS100T_f4e9 FileLog /var/log/fhem/HMS100T_f4e9-%Y.log HMS100T_f4e9:T:.*
2013.01.23 22:56:36 2: autocreate: define weblink_HMS100T_f4e9 weblink fileplot FileLog_HMS100T_f4e9:temp4hum6:CURRENT
2013.01.23 22:58:20 4: Connection accepted from FHEMWEB:192.168.2.142:55196
2013.01.23 22:58:20 4: HTTP FHEMWEB:192.168.2.142:55196 GET /fhem
2013.01.23 22:58:20 4: /fhem / RL: 848 / text/html; charset=UTF-8 / Content-Encoding: gzip
 /
2013.01.23 22:58:20 4: HTTP FHEMWEB:192.168.2.142:55196 GET /fhem/css/style.css
2013.01.23 22:58:20 4: HTTP FHEMWEB:192.168.2.142:55196 GET /fhem/js/svg.js
2013.01.23 22:58:20 4: HTTP FHEMWEB:192.168.2.142:55196 GET /fhem/js/fhemweb.js
2013.01.23 22:58:20 4: HTTP FHEMWEB:192.168.2.142:55196 GET /fhem/icons/icoEverything
2013.01.23 22:58:20 4: HTTP FHEMWEB:192.168.2.142:55196 GET /fhem/icons/fhemicon.png
2013.01.23 22:58:20 4: Connection accepted from FHEMWEB:192.168.2.142:55197
2013.01.23 22:58:20 4: HTTP FHEMWEB:192.168.2.142:55197 GET /fhem/icons/fhemicon
2013.01.23 22:58:30 4: HTTP FHEMWEB:192.168.2.142:55196 GET /fhem?cmd=logwrapper%20Logfile%20text%20fhem-2013-01.log
2013.01.23 22:58:30 4: Connection accepted from FHEMWEB:192.168.2.142:55199
2013.01.23 22:58:30 4: HTTP FHEMWEB:192.168.2.142:55199 GET /fhem/css/style.css
2013.01.23 22:58:50 4: Connection closed for FHEMWEB:192.168.2.142:55196
2013.01.23 22:59:20 4: Connection closed for FHEMWEB:192.168.2.142:55199
2013.01.23 22:59:20 4: Connection closed for FHEMWEB:192.168.2.142:55197
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 24 Januar 2013, 16:21:30
Zitat von: Reinerlein schrieb am Mi, 23 Januar 2013 21:37-Konsolenausgabe des Perl-Prozesses. Ich vermute, dass der Thread stirbt, und auf der Konsole eine Ausgabe dazu steht

Und wie kann ich mir das auf meinem Raspberry Pi anzeigen lassen ? Oder wird das im fhem Log ausgegeben ?
Sorry hab dich schonmal gefragt es aber nicht hinbekommen bzw gefunden.

Falls du noch irgendeinen Log gebrauchen kannst, meld dich. Kann ja mal mehrere Konstelationen mit Play3 + Connect + Bridge loggen...

Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 24 Januar 2013, 17:14:56
Hi,

 die Konsolenausgabe ist das, was Perl direkt auf Standard-Out und Standard-Error ausgibt.

Wenn man den Prozess z.B. direkt in einem SSH-Fenster mit dem Befehl
perl fhem.pl fhem.cfg
im Hauptverzeichnis von FHEM startet (also dort, wo die Datei fhem.pl auch liegt), dann ist die Konsolenausgabe das, was dann in dem Fenster so angezeigt wird.
In diesem oben beschriebenen Zustand darf man auch das SSH-Fenster nicht schließen, da sonst der Perl-Prozess (mit FHEM) auch beendet wird.

Wenn FHEM über ein Startskript gestartet wird, damit es auch im Hintergrund laufen kann, wird meistens mit dem Umleit-Operator '>' die Ausgabe in eine Datei geleitet.
Bei mir sieht der Bereich zum Starten von FHEM z.B. so aus (hier nur der Schnipsel für den Start):
.
.
start)
echo "Start $0"
/etc/fhem/fhem/fhem.pl /etc/fhem/config/fhem.cfg > /var/log/fhem 2> /var/log/fhem &
;;
.
.


In diesem Beispiel wird die Ausgabe von Standard-Out per '>' in die Datei '/var/og/fhem' geleitet. Desweiteren wird Standard-Error mittels '2>' in die gleiche Datei umgeleitet.
Das bedeutet, dass ich sowohl Normale Meldungen als auch Fehlermeldungen des Perl-Prozesses in der Datei '/var/log/fhem' ansehen kann.

Das '&' am Ende der Zeile sorgt dafür, dass der Prozess im Hintergrund gestartet wird, und die Konsole (auch das Startskript läuft ja in einer Konsole, ob man diese nun sieht oder nicht) wird wieder freigegeben.

Diese Ausgaben in der Datei kann ich mir z.B. im laufenden Betrieb mittels
tail -f /var/log/fhem
anzeigen lassen. Damit sieht man die Datei, wie sie gerade beschrieben wird, life im SSH-Fenster.

Das war jetzt mal ein kleiner Exkurs in Linux- bzw. Unix-Basics.

Im Gegensatz dazu ist die Log-Ausgabe von FHEM einfach eine Textdatei, die von FHEM-Code befüllt wird. Wenn der Code aber z.B. bei einem Absturz, keine Möglichkeit mehr hat, kann da auch nix dazu drinstehen :-) Das steht dann alles in der oben beschriebenen Konsolenausgabe...

Ich hoffe damit ein bißchen Klarheit in die Begriffe gebracht zu haben. Sollte noch was unklar sein, einfach schreiben...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 24 Januar 2013, 18:16:28
Hi Reiner,

danke für die kleine Exkursion :-)

Hab mal meinen Play3 nochmal angeschlossen und eingebunden

Das einzige was der Prozess ausgab ist das hier:

Thread 1 terminated abnormally: Can't call method "controlProxy" on an undefined value at ./FHEM/00_SONOS.pm line 685.


Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 24 Januar 2013, 20:15:38
Hi Christoph,

das ist genau die Fehlermeldung, die ich brauchte...

*Vor-die-Stirn-Klatsch* - Das Problem ist gelöst... Der Play:3 hat keinen Audio-Eingang. An dieser Stelle im Code hatte ich einfach versucht einen Steuerungsproxy für den Audioeingang anzufordern.
Das geht auf diesem Player natürlich schief. Ich habe meine Anforderungen nun abgesichert, und es sollte nun über diese Stelle hinaus gehen...

Sorry für diese Unannehmlichkeiten.

Hier im Anhang also die aktuelle Version 1.2 mit diversen Behebungen... wie immer komplett...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 24 Januar 2013, 21:42:02
Hi Reiner,

Der Play3 wird jetzt auch erkannt, Dankeschön :-)

Nach bissl probieren, hab ich dann mal den Connect und Play3 angeschlossen.
Hatte dann nach dem save der fhem.cfg nen absturz mit folgendem Fehler:


(in cleanup) Can't call method "stopHandling" on an undefined value at ./FHEM/00_SONOS.pm line 593 during global destruction.




Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 24 Januar 2013, 22:13:35
Hi Christoph,

ok, jetzt kommen wir zu den Dingen, die bei mehreren Playern auftauchen.

Ich habe da mal eine Überprüfung eingebaut. Mal schauen, was sonst noch kommt.

Das ist erstmal eine Zwischenversion, deshalb jetzt nur einzeln...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: snoop am 25 Januar 2013, 22:15:36
Hallo zusammen,

ich hätte eine kleine Anmerkung und eine Bitte.
Ja, ich weiß das Modul ist schon in der Entwicklung und ich habe auch interesse daran - "und" ist nach dem was ich gelesen habe schon sehr weit fortgeschritten.

Derezit betreibe ich PLAY:5 und PLAY:3 über eien Bridge - FHEM läuft auf einer FritzBox 7390.

Könnte bitte jemand verifizieren/sagen, ob die Sonos kompponente jemals auf einer FritzBox betrieben werden kann?
Alternativ müsste (zumindest) ich auf die Synology ausweichen (Wegen mehr Resourcen - hatte bisher nicht vor dies zu tun) - sofern das geht.

Ferner würde ich jemanden bitten (für weitere User) vielleicht am Anfang im WIKI die bisher unterstützen Sytsteme (Systeme auf den das derzeit lauffähig ist und die Entwicklung durchgeführt wird) aufzuführen - das wird jedem unheimlich weiterhelfen.
Vielen Vielen Dank und weiterhin viel Erfolg und Motivation bei der Weiterentwicklung.

Grüße
Arthur
Titel: Aw: Sonos steuern
Beitrag von: snoop am 25 Januar 2013, 23:39:47
Hallo zusammen,

bitte um Entschuldigung - ich habe es wohl übersehen:

WIKWI Auszug:
+++++++++++++++++++++++++++++++++++++++++++
 Hardwarevoraussetzungen

Diese Liste sollte im Laufe der Zeit fortgeführt werden. Es soll die Hardware-/Softwarevoraussetzungen festhalten, um Probleme im Vorfeld erkennen zu können.

Funktionierende Kombinationen:

    Windows, ActivePerl
    Raspberry Pi
+++++++++++++++++++++++++++++++++++++++++++

Viele Grüße
Arthur
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 26 Januar 2013, 00:03:17
Hallo zusammen,

soo, mal wieder auf diesem allgemeinen Kanal. Ich konnte das Problem mit dem stummen FHEM bei mir nachstellen und beheben. Nun sollte die Kuh für einen Player endlich vom Eis sein *auf Holz klopf*.
Das war wieder so ein versteckter Dead-Lock, den man umständlich suchen musste. Dank tatkräftiger und motivierter Unterstützung hier, gut geschafft...

Jetzt also mal wieder ein kompletter Upload. Nur damit neue sich das nicht zusammensuchen müssen...

@Arthur:
Leider haben wir noch keine Tests auf der Fritzbox. Ich habe hier auch keine in Betrieb... Im Wiki gibt es eine, mittlerweile mit den Erfahrungen der Installationen aufgefüllte, Beschreibung, was alles installiert werden muss. Vielleicht hilft dir das schon mal weiter?

Desweiteren stehen wir jetzt gerade an der Schwelle, mehrere Player zu testen. Ich persönlich habe nur einen hier stehen, und kann das dementsprechend nicht selber testen. Gehe aber davon aus, dass das nur eine Frage der Zeit ist.

Lass uns hier an deinen Erfahrungen bei der Installation auf der Fritzbox auf jeden Fall teilhaben. Ich werde das umgehend ins Wiki einpflegen, damit das auch andere wiederfinden...

Soweit erstmal, Danke für die weitere Unterstützung durch testen...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 26 Januar 2013, 06:28:50
Hallo Linuxexperten,

versuche nun alles noch einmal aufzusetzen....beim installieren von FHEM (Debian) mit Package installer kommt nun:

Selecting previously unselected package fhem.
(Reading database ... 137726 files and directories currently installed.)
Unpacking fhem (from .../mint/Downloads/fhem-5.3.deb) ...
Setting up fhem (5.3) ...
initctl: Job is already running: fhem
dpkg: error processing fhem (--install):
 subprocess installed post-installation script returned error exit status 1
Errors were encountered while processing:
 fhem


eine aehnlich Fehlermeldung bekomme ich beim installieren der Module LWP und SOAP, wollte deshalb komplett neu beginnen...muss ich da einen FHEM prozess killen oder so?

Danke.

W
Titel: Aw: Sonos steuern
Beitrag von: Will am 26 Januar 2013, 07:39:34
Also FHEM nach beenden aller Prozesse und loeschen aller User wieder installiert.

    LWP::Simple
    SOAP::Lite
installiert nach Wiki Debian (Danke Reinerlein)
Neueste files nach /opt/fhem/FHEM bzw. /opt/fhem/FHEM/lib kopiert
<update> in FHEM gemacht
Berechtigungen der Sonos files auf lesen und schreiben fuer alle gesetzt

Erfolg: die Befehle SONOS und SONOSPLAYER werden eingelesen und tauchen bei "Definition" auch auf.

define sonos SONOS eingegeben bzw. in fhem.cfg eingetragen

Ergebnis:
Fhem stuerzt ab, in der Konsole wird folgendes angezeigt:

mint fhem # Undefined subroutine &main::readingsSingleUpdate called at ./FHEM/00_SONOS.pm line 178.

Im Log-file steht nichts.

Kann jemand damit was anfangen?


   
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 26 Januar 2013, 10:05:46
Hi Will,

bist du sicher, dass das mit dem 'update' geklappt hat.
Ich bin mir da nicht so ganz sicher, meine aber, dass dieses readingsSingleUpdate erst mit einer Update-Version in Perl gelandet ist.

Wenn du Update gemacht hast, musst du auf jeden Fall ein Shutdown Restart durchführen, da die neuen Module sonst nicht geladen wurden.

Allgemein sieht das doch aber schon recht gut aus... Das kann jetzt nur noch eine Kleingkeit sein...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 26 Januar 2013, 10:42:01
Also das update lief sauber durch. Ich habe mehrere Male shutdown restart gemacht.

Kan es sein dass ich ein Problem mit Perl habe?

Will
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 26 Januar 2013, 11:05:17
Hab mal die neuste version installiert.

Sonos Room wurde angelegt mit dem Play3 aber der Connect fehlte... Dann gabs irgendwann nen absturz

Unbalanced string table refcount: (3257) for "??,?Rip" during global destruction.


Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 26 Januar 2013, 11:14:48
Hi Will,

hmm... eher nicht... diese Funktion ist eine Kernfunktion in der Datei "fhem.pl". Wenn die nicht aufrufbar für mein Modul ist, dann ist was grundlegenderes schief...

Ich habe auch gerade mal ein Update durchgeführt, um diesselbe, aktuellste FHEM-Version drauf zu haben. Bei mir läuft das Sonos-Modul immer noch.

kannst du uns hier mal den Befehl
find -lsim Verzeichnis FHEM (großgeschrieben) ausführen?

Dann können wir hier zumindest Probleme an der Ordnerstruktur und den Rechten prüfen und ausschließen...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 26 Januar 2013, 11:17:20
Hi Christoph,

hmm, diese Meldung hatte ich noch nie. Klingt aber irgendwie lustig :-)

Kannst du mal den FHEM-Log dazu posten. Vielleicht erkennt man ja, was er gerade tun wollte...

Danke schon mal

Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 26 Januar 2013, 11:51:21
Hi Reiner,

ich hab das selbe jetzt nochmal wiederholt und jetzt wurde kein perl fehler ins log geschrieben... komisch

Anbei der fhem log

Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 26 Januar 2013, 12:00:35
Hi Christoph,

ok, das ist dasselbe Problem, was ich vorher auch schon für einen Player hatte. Das hatte ich befürchtet... da muss ich mir tatsächlich nochmal Gedanken bzgl. mehrerer Player machen...

Nur zur Sicherheit: Wenn du nur einen Player dranhast, geht es?

Das Problem ist, dass ich den Erkennungsthread unterbrechen muss, wenn ich einen Player erkannt habe, da ich die Informationen sonst nicht sauber in FHEM reintransportiert bekomme. Leider steht da bereits der zweite Player in der Pipeline, sodass sich mein Thread nicht so einfach verabschieden läßt (Stichwort: "Ich bin noch nicht tot!", für die Freunde von Monty Python :-). Da muss ich mir also noch was einfallen lassen...

Grüße Reinerlein

P.S.: Da war aber auch eine COC-Fehlermeldung in dem Log, vielleicht solltest du dir diese auch mal anschauen :-)
Titel: Aw: Sonos steuern
Beitrag von: det. am 26 Januar 2013, 12:04:48
Hallo Reiner,

Erfolgsmeldung - Dank Deiner unermüdlichen Entwicklungsarbeit geht jetzt sowohl ZP90 allein, als auch erstmals PLAY:3 allein!
Beweisfoto:

(siehe Anhang / see attachement)

Das Zusammenspiel von mehreren SONOS device bekommst Du auch noch hin, da bin ich sehr zuversichtlich, auch wenn ich Dir leider nur beim Testen helfen kann.
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 26 Januar 2013, 12:30:38

Hi Reiner,

Mit nur einem Player funktioniert das ganze einwandfrei...
Würde es was bringen das ganze Konfiguration der 2 einzelnen Player in die fhem.cfg einzutragen?

Ja danke nach dem COC Fehler werd ich mal schauen wenn ich fhem wieder in meiner normalen Konfiguration benutze :-)

Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: det. am 26 Januar 2013, 12:51:04
@ all

ja, das funktioniert. Nach Neustart laufen beide Player, die Lautstärke lässt sich individuell verändern, nur Coveranzeige etc. auf dem PLAY:3 wird nicht aktualisiert - es läuft auf beiden aktuell eigentlich das Gleiche - (Vollenweider)

(siehe Anhang / see attachement)

Titel: Aw: Sonos steuern
Beitrag von: Will am 26 Januar 2013, 13:01:30
Also das ist mein FHEM VErzeichnis:

mint@mint /opt/fhem/FHEM $ find -ls
 14506    4 drwxr-xr-x   4 fhem     root         4096 Jan 26 14:11 .
 94197    4 -rw-r--r--   1 fhem     root         3533 Jan 26 14:07 ./00_LIRC.pm
 14507    4 drwxr-xr-x   2 fhem     root         4096 Jan 26 13:49 ./FhemUtils
 94195    4 -rw-r--r--   1 fhem     root          511 Jan 26 14:09 ./FhemUtils/release.pm
 94198    8 -rw-r--r--   1 fhem     root         4198 Jan 26 14:08 ./88_WEBCOUNT.pm
 94199   24 -rw-r--r--   1 fhem     root        21150 Jan 26 14:09 ./98_SVG.pm
 94200  232 -rw-r--r--   1 fhem     root       229872 Jan 26 14:07 ./10_CUL_HM.pm
 94201   32 -rw-r--r--   1 fhem     root        31260 Jan 26 14:07 ./11_FHT.pm
 94202   16 -rw-r--r--   1 fhem     root        12845 Jan 26 14:08 ./88_VantagePro2.pm
 94203    8 -rw-r--r--   1 fhem     root         6862 Jan 26 14:08 ./91_notify.pm
 94204    8 -rw-r--r--   1 fhem     root         4971 Jan 26 14:07 ./14_CUL_TX.pm
 94205   40 -rw-r--r--   1 fhem     root        37057 Jan 26 14:08 ./57_Calendar.pm
 94206   20 -rw-r--r--   1 fhem     root        18547 Jan 26 14:08 ./50_WS300.pm
 94207    8 -rw-r--r--   1 fhem     root         4823 Jan 26 14:07 ./09_BS.pm
 94208    4 -rw-r--r--   1 fhem     root         3558 Jan 26 14:08 ./91_sequence.pm
 94209   40 -rw-r--r--   1 fhem     root        38563 Jan 26 14:06 ./00_CUL.pm
 94210    8 -rw-r--r--   1 fhem     root         4345 Jan 26 14:08 ./88_ALL4000T.pm
 94211    8 -rw-r--r--   1 fhem     root         6433 Jan 26 14:07 ./23_ALL4027.pm
 94212    8 -rw-r--r--   1 fhem     root         7046 Jan 26 14:08 ./76_MSGFile.pm
 94213   24 -rw-r--r--   1 fhem     root        22557 Jan 26 14:07 ./10_ZWave.pm
 94214   12 -rw-r--r--   1 fhem     root        10941 Jan 26 14:08 ./64_ESA2000.pm
 94215   20 -rw-r--r--   1 fhem     root        17470 Jan 26 14:06 ./00_HMLAN.pm
 94216   20 -rw-r--r--   1 fhem     root        20019 Jan 26 14:08 ./70_SISPM.pm
 94217   12 -rw-r--r--   1 fhem     root        11928 Jan 26 14:08 ./70_SML.pm
 94218   28 -rw-r--r--   1 fhem     root        25881 Jan 26 14:08 ./66_ECMD.pm
 94219   16 -rw-r--r--   1 fhem     root        13729 Jan 26 14:08 ./40_RFXCOM.pm
 94220   32 -rw-r--r--   1 fhem     root        32472 Jan 26 14:08 ./46_TRX_WEATHER.pm
 94221   36 -rw-r--r--   1 fhem     root        33139 Jan 26 14:07 ./21_OWMULTI.pm
 94223    8 -rw-r--r--   1 fhem     root         4826 Jan 26 14:07 ./02_HTTPSRV.pm
 94224   16 -rw-r--r--   1 fhem     root        16333 Jan 26 14:07 ./10_IT.pm
 94225   20 -rw-r--r--   1 fhem     root        17091 Jan 26 14:08 ./56_POKEYS.pm
 94226    8 -rw-r--r--   1 fhem     root         4157 Jan 26 14:09 ./99_Utils.pm
 94227   12 -rw-r--r--   1 fhem     root         9862 Jan 26 14:07 ./17_SIS_PMS.pm
 94228    8 -rw-r--r--   1 fhem     root         6225 Jan 26 14:08 ./91_watchdog.pm
 94229   20 -rw-r--r--   1 fhem     root        18615 Jan 26 14:07 ./02_RSS.pm
 94230    8 -rw-r--r--   1 fhem     root         7999 Jan 26 14:08 ./42_RFXMETER.pm
 94231   28 -rw-r--r--   1 fhem     root        28403 Jan 26 14:07 ./00_TUL.pm
 94232   36 -rw-r--r--   1 fhem     root        33871 Jan 26 14:07 ./21_OWTHERM.pm
 94233   40 -rw-r--r--   1 fhem     root        40316 Jan 26 14:07 ./21_OWSWITCH.pm
 94234   12 -rw-r--r--   1 fhem     root         8293 Jan 26 14:08 ./75_MSG.pm
 94235   56 -rw-r--r--   1 fhem     root        50314 Jan 26 14:07 ./21_OWAD.pm
 94236    4 -rw-r--r--   1 fhem     root         3937 Jan 26 14:08 ./88_Itach_Relay.pm
 94237   12 -rw-r--r--   1 fhem     root        11884 Jan 26 14:07 ./14_CUL_WS.pm
 94238    8 -rw-r--r--   1 fhem     root         4382 Jan 26 14:08 ./62_EMEM.pm
 94239   40 -rw-r--r--   1 fhem     root        40182 Jan 26 14:07 ./00_KM271.pm
 94240    8 -rw-r--r--   1 fhem     root         7617 Jan 26 14:08 ./70_SCIVT.pm
 94241   12 -rw-r--r--   1 fhem     root        12270 Jan 26 14:09 ./95_PachLog.pm
 94242    4 -rw-r--r--   1 fhem     root         3100 Jan 26 14:09 ./FritzBoxUtils.pm
 94243   44 -rw-r--r--   1 fhem     root        44506 Jan 26 14:09 ./95_FLOORPLAN.pm
 94244   12 -rw-r--r--   1 fhem     root        12195 Jan 26 14:08 ./70_STV.pm
 94245   28 -rw-r--r--   1 fhem     root        26362 Jan 26 14:06 ./00_FHZ.pm
 94246   12 -rw-r--r--   1 fhem     root        10538 Jan 26 14:08 ./24_NetIO230B.pm
 94247   12 -rw-r--r--   1 fhem     root         8730 Jan 26 14:08 ./76_MSGMail.pm
 94248    8 -rw-r--r--   1 fhem     root         4865 Jan 26 14:07 ./22_ALL3076.pm
 94249    8 -rw-r--r--   1 fhem     root         6781 Jan 26 14:07 ./09_USF1000.pm
 94250   28 -rw-r--r--   1 fhem     root        27283 Jan 26 14:07 ./10_EnOcean.pm
 94251    8 -rw-r--r--   1 fhem     root         4801 Jan 26 14:07 ./11_FHT8V.pm
 94252   12 -rw-r--r--   1 fhem     root         9968 Jan 26 14:08 ./80_xxLG7000.pm
 94253   16 -rw-r--r--   1 fhem     root        15717 Jan 26 14:07 ./10_EIB.pm
 94254   16 -rw-r--r--   1 fhem     root        12828 Jan 26 14:09 ./99_SUNRISE_EL.pm
 94255   12 -rw-r--r--   1 fhem     root        10835 Jan 26 14:08 ./60_EM.pm
 94256   12 -rw-r--r--   1 fhem     root        10132 Jan 26 14:09 ./93_FHEM2FHEM.pm
 94257   16 -rw-r--r--   1 fhem     root        14438 Jan 26 14:08 ./67_ECMDDevice.pm
 94258   12 -rw-r--r--   1 fhem     root        11598 Jan 26 14:08 ./70_TellStick.pm
 94259   12 -rw-r--r--   1 fhem     root         8533 Jan 26 14:08 ./81_M232Counter.pm
 94260    8 -rw-r--r--   1 fhem     root         5522 Jan 26 14:09 ./98_weblink.pm
 94261    8 -rw-r--r--   1 fhem     root         5069 Jan 26 14:07 ./23_WEBIO.pm
 94262   20 -rw-r--r--   1 fhem     root        19262 Jan 26 14:08 ./43_RFXX10REC.pm
 94263   12 -rw-r--r--   1 fhem     root         8442 Jan 26 14:07 ./12_HMS.pm
 94264   12 -rw-r--r--   1 fhem     root        10889 Jan 26 14:07 ./09_CUL_FHTTK.pm
 94265   32 -rw-r--r--   1 fhem     root        29224 Jan 26 14:08 ./46_TRX_LIGHT.pm
 94266    8 -rw-r--r--   1 fhem     root         7563 Jan 26 14:07 ./21_OWID.pm
 94267   20 -rw-r--r--   1 fhem     root        18369 Jan 26 14:08 ./46_TRX_SECURITY.pm
 94268   24 -rw-r--r--   1 fhem     root        20789 Jan 26 14:08 ./92_FileLog.pm
 94269    8 -rw-r--r--   1 fhem     root         6228 Jan 26 14:07 ./16_CUL_RFR.pm
 94271    8 -rw-r--r--   1 fhem     root         4525 Jan 26 14:09 ./98_WOL.pm
 94272   24 -rw-r--r--   1 fhem     root        21760 Jan 26 14:08 ./59_Weather.pm
 94273    8 -rw-r--r--   1 fhem     root         6281 Jan 26 14:08 ./61_EMWZ.pm
 94274   12 -rw-r--r--   1 fhem     root        11703 Jan 26 14:09 ./98_telnet.pm
 94275   20 -rw-r--r--   1 fhem     root        19677 Jan 26 14:07 ./20_X10.pm
 94276    8 -rw-r--r--   1 fhem     root         4667 Jan 26 14:08 ./46_TRX_ELSE.pm
 94277   32 -rw-r--r--   1 fhem     root        32367 Jan 26 14:08 ./41_OREGON.pm
 94278   24 -rw-r--r--   1 fhem     root        22320 Jan 26 14:07 ./10_FS20.pm
 94279   20 -rw-r--r--   1 fhem     root        18066 Jan 26 14:08 ./70_USBWX.pm
 94280    8 -rw-r--r--   1 fhem     root         5626 Jan 26 14:08 ./23_WEBIO_12DIGITAL.pm
 94281    8 -rw-r--r--   1 fhem     root         5836 Jan 26 14:08 ./88_IPWE.pm
 94282    4 -rw-r--r--   1 fhem     root         2014 Jan 26 14:09 ./98_dummy.pm
 94283    4 -rw-r--r--   1 fhem     root         2371 Jan 26 14:07 ./18_CUL_HOERMANN.pm
 94284    4 -rw-r--r--   1 fhem     root         3692 Jan 26 14:09 ./HttpUtils.pm
 94285   12 -rw-r--r--   1 fhem     root        10539 Jan 26 14:08 ./90_at.pm
 94286   24 -rw-r--r--   1 fhem     root        21946 Jan 26 14:06 ./00_CM11.pm
 94288    4 -rw-r--r--   1 fhem     root         3271 Jan 26 14:08 ./23_WEBTHERM.pm
 94289   20 -rw-r--r--   1 fhem     root        16513 Jan 26 14:07 ./21_OWTEMP.pm
 94290   80 -rw-r--r--   1 fhem     root        76161 Jan 26 14:07 ./00_OWX.pm
 94291   12 -rw-r--r--   1 fhem     root         9940 Jan 26 14:07 ./15_CUL_EM.pm
 94292   24 -rw-r--r--   1 fhem     root        22018 Jan 26 14:09 ./98_dewpoint.pm
 94293    8 -rw-r--r--   1 fhem     root         7731 Jan 26 14:09 ./98_PID.pm
 94294    8 -rw-r--r--   1 fhem     root         6981 Jan 26 14:09 ./DevIo.pm
 94295   16 -rw-r--r--   1 fhem     root        12645 Jan 26 14:07 ./13_KS300.pm
 94296   12 -rw-r--r--   1 fhem     root        10887 Jan 26 14:09 ./95_holiday.pm
 94297   16 -rw-r--r--   1 fhem     root        15551 Jan 26 14:07 ./10_CUL_IR.pm
 94298   16 -rw-r--r--   1 fhem     root        13652 Jan 26 14:08 ./59_Twilight.pm
 94299    4 -rw-r--r--   1 fhem     root         3586 Jan 26 14:09 ./TcpServerUtils.pm
 94300   24 -rw-r--r--   1 fhem     root        20718 Jan 26 14:07 ./00_TCM.pm
 94301    8 -rw-r--r--   1 fhem     root         8068 Jan 26 14:08 ./82_LGTV.pm
 94302   44 -rw-r--r--   1 fhem     root        41613 Jan 26 14:07 ./21_OWCOUNT.pm
 94303   20 -rw-r--r--   1 fhem     root        16610 Jan 26 14:08 ./49_IPCAM.pm
 94304   20 -rw-r--r--   1 fhem     root        17571 Jan 26 14:08 ./87_WS2000.pm
 94305   12 -rw-r--r--   1 fhem     root        10373 Jan 26 14:07 ./20_OWFS.pm
 94306    8 -rw-r--r--   1 fhem     root         7263 Jan 26 14:09 ./98_average.pm
 94307   36 -rw-r--r--   1 fhem     root        35430 Jan 26 14:07 ./21_OWLCD.pm
 94309   24 -rw-r--r--   1 fhem     root        21027 Jan 26 14:09 ./98_structure.pm
 94310    8 -rw-r--r--   1 fhem     root         5173 Jan 26 14:08 ./63_EMGZ.pm
 94311    4 -rw-r--r--   1 fhem     root         2795 Dec 11 02:12 ./99_XmlList.pm
 94312   16 -rw-r--r--   1 fhem     root        14269 Jan 26 14:08 ./45_TRX.pm
 94313    4 -rw-r--r--   1 fhem     root         3739 Jan 26 14:08 ./82_M232Voltage.pm
 94314   20 -rw-r--r--   1 fhem     root        18684 Jan 26 14:07 ./00_ZWDongle.pm
 94315   92 -rw-r--r--   1 fhem     root        89663 Jan 26 14:07 ./01_FHEMWEB.pm
 94316   20 -rw-r--r--   1 fhem     root        18406 Jan 26 14:08 ./70_WS3600.pm
 94317   20 -rw-r--r--   1 fhem     root        19547 Jan 26 14:09 ./98_autocreate.pm
 94189   76 -rw-rw-rw-   1 root     root        72690 Jan 26 13:53 ./00_SONOS.pm
 94512   24 -rw-rw-rw-   1 root     root        24248 Jan 26 13:53 ./21_SONOSPLAYER.pm
 94521   28 -rw-r--r--   1 fhem     dialout     27940 Jan 26 14:07 ./00_MAXLAN.pm
 46153    4 drwxr-xr-x   3 root     root         4096 Jan 26 13:54 ./lib
 46715    4 drwxr-xr-x   2 root     root         4096 Jan 26 13:54 ./lib/UPnP
 94517   20 -rw-rw-rw-   1 root     root        18062 Jan 25  2008 ./lib/UPnP/Common.pm
 94518   44 -rw-rw-rw-   1 root     root        41376 Jan 25  2008 ./lib/UPnP/ControlPoint.pm
 94522   40 -rw-r--r--   1 fhem     dialout     38011 Jan 26 14:07 ./10_MAX.pm
 94523   20 -rw-r--r--   1 fhem     dialout     17848 Jan 26 14:07 ./10_OWServer.pm
 94524   32 -rw-r--r--   1 fhem     dialout     31825 Jan 26 14:07 ./11_OWDevice.pm
 94525   16 -rw-r--r--   1 fhem     dialout     14136 Jan 26 14:07 ./14_CUL_MAX.pm
 94526   16 -rw-r--r--   1 fhem     dialout     13802 Jan 26 14:07 ./23_LUXTRONIK2.pm
 94527   36 -rw-r--r--   1 fhem     dialout     33176 Jan 26 14:08 ./59_HCS.pm
 94528   36 -rw-r--r--   1 fhem     dialout     35320 Jan 26 14:08 ./71_YAMAHA_AVR.pm
 94529   28 -rw-r--r--   1 fhem     dialout     27653 Jan 26 14:08 ./72_FB_CALLMONITOR.pm
 94530   36 -rw-r--r--   1 fhem     dialout     35898 Jan 26 14:08 ./93_DbLog.pm
 94531    4 -rw-r--r--   1 fhem     dialout      3646 Jan 26 14:09 ./98_CULflash.pm
 94532   16 -rw-r--r--   1 fhem     dialout     16111 Jan 26 14:09 ./98_JsonList.pm
 94533    4 -rw-r--r--   1 fhem     dialout      3703 Jan 26 14:09 ./98_XmlList.pm
 94534    8 -rw-r--r--   1 fhem     dialout      5652 Jan 26 14:09 ./98_backup.pm
 94535   20 -rw-r--r--   1 fhem     dialout     18772 Jan 26 14:09 ./98_fheminfo.pm
 94536   28 -rw-r--r--   1 fhem     dialout     28572 Jan 26 14:09 ./98_update.pm
 94537    4 -rw-r--r--   1 fhem     dialout      1543 Jan 26 14:09 ./Blocking.pm
 94538   36 -rw-r--r--   1 fhem     dialout     33755 Jan 26 14:09 ./CUL_V2.hex
 94539   32 -rw-r--r--   1 fhem     dialout     30953 Jan 26 14:09 ./CUL_V2_HM.hex
 94540   32 -rw-r--r--   1 fhem     dialout     32025 Jan 26 14:09 ./CUL_V2_MAX.hex
 94541   56 -rw-r--r--   1 fhem     dialout     50397 Jan 26 14:09 ./CUL_V3.hex
 94542   56 -rw-r--r--   1 fhem     dialout     50213 Jan 26 14:09 ./CUL_V4.hex
 94557   20 -rw-r--r--   1 fhem     dialout     16769 Jan 26 14:11 ./controls_fhem.txt
 94196   12 -rw-r--r--   1 fhem     root         9678 Jan 26 14:08 ./80_M232.pm


Was noch anzumerken ist den lib folder habe ich mit der hand angelegt (den gibts schon auf meiner Fritzbox) - kein anderes Modul benutzt das.

W
Titel: Aw: Sonos steuern
Beitrag von: Will am 26 Januar 2013, 13:07:50
Hi Reinerlein,

also auch von mir eine Erfolgsmeldung:


Nach komplettem reboot - laeuft das Ding. Klasse! Da hat sich die Muehe gelohnt.

W
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 26 Januar 2013, 13:28:16
So bei mir funktionieren jetzt auch beide nach dem manuellen Eintrag in die fhem :-)

Coveranzeige funktioniert bei mir auch noch nicht richtig aber das ist ja nicht so wichtig...
Titel: Aw: Sonos steuern
Beitrag von: det. am 26 Januar 2013, 14:16:33
@ all,

ein Device wieder vom Netz nehmen führt aktuell leider noch zum Absturz von fhemweb und RPI
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 26 Januar 2013, 15:20:00
Das hab ich auch mit nur einem Player, sobald der Sonos Player wieder aus der fhem.cfg gelöscht wird gibts nen Absturz.
Oder wie ist hier die richtige Vorgehensweise ?

Oder hast du bei deinem Player einfach nur den Strom abgestellt ?
Titel: Aw: Sonos steuern
Beitrag von: det. am 26 Januar 2013, 15:57:52
@ Christoph,

Ich habe einfach den 220V  Stecker vom PLAY:3 gezogen. Jetzt nach Neustart FHEM sind beide Player ohne Strom ( was ja der Normalzustand ist, wenn man nicht Dauerbeschallung braucht) die Payer werden in fhemweb angezeigt und deren state ist initialized. Also genau wie es sein soll.
Wenn ich einen wieder einschalte und play Sonos_Wohnzimmer Radio%20%Paradise in der Kommandozeile eingebe, stürzt fhemweb allerdings leider ab.
Titel: Aw: Sonos steuern
Beitrag von: Will am 27 Januar 2013, 14:04:13
Hallo sonos genossen,

Habe den Sonntag für ein bisschen spielen genutzt.
Eine fs20 touchschalter tc8 ist jetzt nur für mein sonos zuständig:
Play, Pause
2 direkt anwaehlbare planlosen (kindermusik und abendberieselung)
Vor und zurück
Lauter leiser

Funktioniert prima, sehr unauffällig, hoher waf, da sehr einfach zu bedienen (deckt 70% der Situationen ab). Für alles andere kann ich immer noch mit handy oder iPad arbeiten.

Zudem die lautstaerkeanpassung bei Anruf auf der fritzbox (noch nicht getestet) implementiert.


ein paar fragen bleiben noch:
Was ist der Unterschied zwischen Pause und Stopp? In der sonos App. Gibt es zum Beispiel kein Stopp.....
Wie füge ich ein einzelnes file in die Queue, spiele es ab und lösche es dann wieder (Durchsage)?

Alles in allem super - muss jetzt zwar einen extra dafür aufgesetzten linuxrechner rennen lassen (verbindet sich mit fhem2fhem auf meine fritzboxinstallation) ist jetzt ein Grund mir einen raspberry Pi zuzulegen, der fhem Komplett standhalten macht.

Schoenes restwochenende!!

Will
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 27 Januar 2013, 15:00:19
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
Titel: Aw: Sonos steuern
Beitrag von: det. am 27 Januar 2013, 16:57:45
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.
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 27 Januar 2013, 21:15:34
Kann auch noch eine kurze Rückmeldung geben:

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


Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 28 Januar 2013, 21:14:40
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
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 29 Januar 2013, 10:17:11
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
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 29 Januar 2013, 12:23:43
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
Titel: Aw: Sonos steuern
Beitrag von: det. am 29 Januar 2013, 21:34:30
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.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 29 Januar 2013, 22:07:10
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
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 30 Januar 2013, 22:47:22
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 (//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
Titel: Aw: Sonos steuern
Beitrag von: Will am 31 Januar 2013, 01:25:42
Cool, hier lohnt sich jeden Tag das rein schauen!!!

Werde das heute abend testen und berichten :-)

W
Titel: Aw: Sonos steuern
Beitrag von: det. am 31 Januar 2013, 20:54:19
Hallo Reiner,

Danke, perfekt!
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 02 Februar 2013, 11:37:14
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
Titel: Aw: Sonos steuern
Beitrag von: Will am 02 Februar 2013, 13:33:12
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
Titel: Aw: Sonos steuern
Beitrag von: Zorin am 02 Februar 2013, 14:15:09
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
Titel: Aw: Sonos steuern
Beitrag von: det. am 02 Februar 2013, 14:21:58
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.
Titel: Aw: Sonos steuern
Beitrag von: Will am 02 Februar 2013, 14:27:27
In meinem Fall sitzt definitiv der Fehler vor der Tastatur......

Gibt ne Möglichkeit einfach ALLES perl installieren kann?

W
Titel: Aw: Sonos steuern
Beitrag von: det. am 02 Februar 2013, 14:48:42
Hallo Will,

"Alles" Perl installieren ist mMn wie ein Cabrio im Sommer mit Schneeketten. Was mir aber einfällt, was ich definitiv nachinstalliert habe, sind Perl Module um fheminfo ausführen zu können. Probier mal, ob fheminfo bei Dir geht - wenn nicht - Forumsuche nach LWP::UserAgent - HTTP::Request - irgendwo steht, wie was dazu installiert sein muß.
Titel: Aw: Sonos steuern
Beitrag von: Will am 02 Februar 2013, 16:17:55
Hi

Beide installiert - jetzt funktioniert fhem inkl. Sonos.  Scheinen also Bedingung zu sein.

Danke für die schnelle Hilfe.

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 02 Februar 2013, 18:41:05
Hi zusammen,

ich habe mal im Paket von libwww-perl nachgeschaut. Eigentlich sollten dort bereits die beiden Pakete 'LWP::UserAgent' und 'HTTP::Request' enthalten sein.
Hast du denn nicht die Debian-Installationsvariante gewählt?

Übrigens enthält das Wiki bereits die Dokumentation zu dem nächsten Feature, welches sich bei mir gerade im Praxistest befindet:
- Text-To-Speech: Man gibt eine Textzeile an das Modul per Set-Befehl, es wird über die Google-Engine in ein MP3 umgewandelt und anschließend temporär abgespielt
-Korrekturen an dem temporären Abspielmechanismus: Es kann nun nicht mehr parallel ein zweiter Abspielversuch gestartet werden.

Wenn der Praxistest bei mir durch ist (Die Kinder haben sehr viel Spaß mit der Sprachausgabe :-), kommt das Modul hier wieder hin. Leider werden dafür wieder ein paar Libraries und Nebenprogramme benötigt. Das braucht man aber natürlich nur, wenn man das Feature auch nutzen möchte..

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 03 Februar 2013, 02:15:25
Hi sonoskollegen,

Zur info: fheminfo funktioniert bei meinem Linux fhem (http::request) bei meiner fritzbox geht das nicht....ob man das da drauf bekommt weiss ich nicht, wenn das jemand hin bekommt wäre ich neugierig, aber jetzt auch ein Grund dafür von der fritznbox wegzugehen.

Habe mir das wiki mit speak durch gelesen - bin gerne bereit hier mit zu testen (spielen) klingt super. Bis die module hier sind probierte ich die zwischen durchsagen via mp3.

W
Titel: Aw: Sonos steuern
Beitrag von: Will am 03 Februar 2013, 03:28:27
Hallo Reinerlein,

also das abspielen von MP3s funktioniert bei mir ueber den befel
set sonos_Living_Room PlayURITemp \\192.168.1.10\public\zzfunc\bing.mp3 30

MP3 file liegt auf einem oeffentlichen Bereich meines NAS

Wenn ich den Befehl absetze, kommt der Sound, Sonos spielt weiter wie gewuenscht, leider stuerzt danach FHEM ab....folgendes laeuft dabei im Terminal:


2013.02.03 10:19:03 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:19:03 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:19:03 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:19:03 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:14 3: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0xb6693b48)
2013.02.03 10:20:15 3: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0xb66859a0)
2013.02.03 10:20:15 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:15 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:20:15 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:20:15 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:15 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:15 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:20:15 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:20:15 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:25 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:25 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:20:25 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:20:25 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:26 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:26 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEB rereadicons');
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEBphone rereadicons');
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEBtablet rereadicons');
2013.02.03 10:20:26 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:20:26 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:26 3: SONOS1: Event: received service urn:upnp-org:serviceId:AVTransport
2013.02.03 10:20:26 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEB rereadicons');
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEBphone rereadicons');
2013.02.03 10:20:26 3: SONOS1: ReRead-Command: fhem('set WEBtablet rereadicons');
2013.02.03 10:20:26 3: SONOS1: Event: Normal erkannt!
2013.02.03 10:20:26 3: SONOS1: Event: End of service-event urn:upnp-org:serviceId:AVTransport



Hast Du ne Idee?

W
Titel: Aw: Sonos steuern
Beitrag von: Will am 03 Februar 2013, 07:41:56
Ich kann nochc berichten, dass PlayURI ohne Probleme geht, kein Absturz.

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 03 Februar 2013, 09:01:53
Hi Will,

das klingt nach dem Problem, welches ich noch nebenbei behoben habe. Ich werde heute (spätestens Morgen) noch die neue Version hier veröffentlichen.

Ich hatte das Problem, das unter Windows (mein Entwicklungssystem) alles geklappt hat, nur auf meinem Raspberry Pi gab es ab und an Probleme...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 04 Februar 2013, 15:55:13
Zitat von: det. schrieb am Sa, 02 Februar 2013 14:21Hallo 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.

Bei mir hatte das ganze ja schonmal funktioniert. Hab eigentlich nichts grundlegendes verändert.
Zurzeit läuft auch nichts anderes als Sonos drauf...
Werden mit der jetztigen Version eigentlich 2 Player erkannt oder sollte das noch händisch gemacht werden ?

Muss glaub nochmal in Ruhe alles neumachen oder mir nen zweiten Raspberry zum spielen zulegen ;-)


Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 04 Februar 2013, 21:17:33
Hi zusammen,

hier jetzt mal die neue Version. Wie bereits geschrieben, steht im Wiki mehr zu den Installationsvoraussetzungen für die neue Speak-Funktion.

Ob nun mehrere Player funktionieren, würde ich auch gerne noch mal bestätigt oder verneint bekommen. Da bin ich gerade nicht ganz auf dem Stand der Tatsachen...

Leider ist die Thread-Umsetzung auf Linux nicht korrekt, sodass ich da etwas tricksen musste. Unter Windows läuft das alles prima... Naja, warum sollte es nicht mal andersrum sein :-)

@Christoph:
Du kannst auch ein zweites Fhem auf demselben Pi laufen lassen. Du musst nur dafür sorgen, dass die Ports (TelnetPort, WebPort, usw.) alle anders sind...

Viel Spaß beim Testen...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 05 Februar 2013, 01:00:23
Hi Christoph,

nochmal auf deine Nachricht bzgl. des Umlauts bei 'Küche':
das war Absicht, damit eben keine FHEM-ungültigen Devicenamen erzeugt werden.

Ich habe das aber mal soweit korrigiert, das ab Version 1.7 (die nächste), diese Zeichen dann in die entsprechend passenden umgewandelt werden. Also 'ü' wird zu 'ue' und so weiter. Das betrifft aber ja sowieso nur den automatischen Erkennungsprozess. Wenn es angelegt ist, kannst du das ganze ja nennen, wie du willst.

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 05 Februar 2013, 01:35:59
Hallo reinerlein,

Schneller test vor dem Frühstück zeigt, dass jetzt playuritemp zu funktionieren scheint :-)

Habe zum Thema speak noch ein paar Verständnis fragen:

Zitat aus wiki
targetSpeakDir: Das Verzeichnis, in dem dieses Modul die Sprachdateien von Speak (siehe Set-Befehle an den SONOSPLAYER) ablegen soll. Es wird empfohlen, dass dieses Verzeichnis nicht von Sonos indiziert ist.
z.B. Pfade unter *Nix: /home/www/Sonos oder unter Windows: C:\InetPub\Sonos
--> ist es egal wo dieses Verzeichnis liegt? Würde ich auf meinem ordentlichen Bereich des nas legen, 192.168.1.10/public/sonos oder so. Ist das ein problem

targetSpeakURL: Die URL, unter der von außen auf die abgelegte Sprachdatei zugegriffen werden kann.
z.B. http://192.168.178.45/Sonos (//192.168.178.45/Sonos)
-->wie ist "von aussen" zu verstehen? Mein Verständnis ist dass dein Modul (?) hier files rein schreibt, und sonos nachher darauf zugreift. Auch hier wurde ich dann 192.168.1.10/public/sonos vorsehen (du gibst diesen folder mit samba frei, korrekt?)

Zu aller letzt:
Kann es sein, dass die attribs für sonos nur manuell in fhem.cfg gesetzt werden können? Der sonosplayer gibt mir diese Attribute nicht als pulldown....

Bin im Moment nicht zu Hause und kann so nicht einfach ausprobieren....


Danke

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 05 Februar 2013, 09:40:37
Hi Will,

die Wiki-Dokumentation habe ich absichtlich auf einem einfachen Level der Erklärung gehalten, damit es mit dieser Beschreibung sicher funktioniert :-)

Der Unterschied zwischen diesen beiden Parameten ist, das targetSpeakDir zum Schreiben durch das FHEM-Sonos-Modul verwendet wird, und targetSpeakURL dem ZonePlayer zum Abspielen übergeben wird. Es wird nur noch der erzeugte Dateiname mit vorangestellten Slash angehangen.

Es kann also durchaus die gleiche Angabe sein, wenn es auf einem externen NAS liegt, und dort Schreibrechte existieren.

Ich persönlich wollte meine FHEM-Steuerung autark gegenüber meinen anderen Netzkomponenten laufen lassen, sodass, wenn ein NAS mal weg ist, die Sachen immer noch eigenständig laufen. Desweiteren ist der Pfad nach "aussen" (also ausserhalb meines Raspberry Pi über die Samba-Freigabe) bei mir nicht beschreibbar.
Um das zu ermöglichen muss diese Unterscheidung existieren. Bedenke weiterhin, das keine Benutzerinformationen für eine Anmeldung definiert werden können. Das ganze ist dann (Hausintern) also ziemlich offen...

Zu den Attributen:
Bei mir tauchen die normal in der Liste auf (siehe angehangenen Screenshot). Beachte aber, dass die hier beschriebenen Attribute am Sonos-Device (also einmal zentral) hängen. Vielleicht hattest du beim SonosPlayer-Device geschaut?

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 05 Februar 2013, 22:56:01
Vielleicht kann mir jemand helfen *g*
Bei mir werden die Player nicht automatisch erkannt wenn ich es so in der fhem.cfg einbinde:

define Sonos SONOS
attr Sonos pingType syn

Nach Save gibts nen Absturz.
Habe testweise nur einen Player angeschlossen also entweder Play3 oder Connect

Händisch funktioniert das ganze...

define Sonos SONOS
attr Sonos pingType syn

define Sonos_PLAY3 SONOSPLAYER RINCON_000E5879362A01400_MR
attr Sonos_PLAY3 generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
attr Sonos_PLAY3 generateInfoSummarize2 <NormalAudio><TransportState/><InfoSummarize1 prefix=" => "/></NormalAudio> <StreamAudio><TransportState/><InfoSummarize1 prefix=" => "/></StreamAudio>
attr Sonos_PLAY3 group PLAY3
attr Sonos_PLAY3 icon icoSONOSPLAYER_icon-S3.png
attr Sonos_PLAY3 model Sonos_S3
attr Sonos_PLAY3 room Sonos
attr Sonos_PLAY3 stateVariable InfoSummarize2
attr Sonos_PLAY3 webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
define AlbumArt_PLAY3 weblink image /fhem/icons/SONOSPLAYER/Sonos_PLAY3_AlbumArt
attr AlbumArt_PLAY3 group PLAY3
attr AlbumArt_PLAY3 htmlattr width='200' height='200'
attr AlbumArt_PLAY3 room Sonos


Raum wird angelegt und ich kann meinen Play3 steuern.


Das Problem mit den Umlauten hat (hatte ?) Zorin
Mein Play3 heisst PLAY3 ;-)


Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 05 Februar 2013, 23:23:46
Hi Christoph,

sorry für die Verwechslung... Dann ist der Name bei dir zumindest kein Problem :-)

Kannst du vielleicht deinen LogLevel auf 3 oder 4 stellen, und mal den Log-Auszug hier hochladen?
Ich kämpfe immer noch mit ein paar Unterschieden zwischen Windows und Linux :-)

Außerdem habe ich auf meinem Pi gerade das Problem, dass die Registrierung für Titelaktualisierungen aus irgendeinem Grund abläuft; Auf meinem parallel dazu laufenden Windows-System (die beiden FHEM-Instanzen werden immer kurz nacheinander neugestartet :-) ist das immer noch OK. Normalerweise sollte diese Registrierung automatisch verlängert werden (was sie unter Windows ja auch immer tut).
Die Steuerung funktioniert dann immer noch, es werden lediglich keine Aktualisierungen mehr in FHEM durchgeführt. Damit ist da wohl auch nix im FHEM abgestürzt. Die Registrierung wird standardmäßig vom Player irgendwann aufgeräumt, wenn sie nicht verlängert wird. Das scheint aus irgendeinem Grund auszubleiben...
Da bin ich also gerade dran...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 06 Februar 2013, 15:11:01
Hallo Reinerlein,

versuche im Moment die Speak Funktion zum Laufen zu bringen.

Ich bekomme es so hin, dass beim Absetzen eines set Speak ein MP3 File im lokalen Folder (/mnt/SonosSpeak) abgelegt wird. Da kein File im "oeffentlichen" Bereich landet (NAS //192.168.1.10/public/zzfunc) wird auch nichts abgespielt.

Log:
2013-02-06 22:03:44 SONOSPLAYER sonos_Living_Room transportState: PLAYING
2013-02-06 22:03:44 SONOSPLAYER sonos_Living_Room infoSummarize2: PLAYING => (Annie Lennox) 'Sing' vom Album 'Songs Of Mass Destruction'
2013-02-06 22:03:44 SONOSPLAYER sonos_Living_Room PLAYING => (Annie Lennox) 'Sing' vom Album 'Songs Of Mass Destruction'
2013-02-06 22:03:58 SONOSPLAYER sonos_Living_Room lastSetActionName: Pause
2013-02-06 22:03:58 SONOSPLAYER sonos_Living_Room lastSetActionResult: Success!
2013-02-06 22:03:58 SONOSPLAYER sonos_Living_Room transportState: PAUSED_PLAYBACK
2013-02-06 22:03:58 SONOSPLAYER sonos_Living_Room infoSummarize2: PAUSED_PLAYBACK => (Annie Lennox) 'Sing' vom Album 'Songs Of Mass Destruction'
2013-02-06 22:03:58 SONOSPLAYER sonos_Living_Room PAUSED_PLAYBACK => (Annie Lennox) 'Sing' vom Album 'Songs Of Mass Destruction'
2013-02-06 22:04:05 SONOSPLAYER sonos_Living_Room lastSetActionName: Speak
2013-02-06 22:04:05 SONOSPLAYER sonos_Living_Room lastSetActionResult: TempPlaying is currently running: Speak


Meine Eintraeg in der fhem.cfg

define sonos SONOS
attr sonos room sonos
attr sonos targetSpeakDir /mnt/SonosSpeak
attr sonos targetSpeakURL //192.168.1.10/public/zzfunc

Gibt es eine bestimmte Syntax des targetSpeakURL? Ich habe alles schon durchprobiert smb://, http://, //, "nix".
Habe den lokalen Ordner /mnt/SonosSpeak acuh schon per samba freigegeben (Freigabe funktioniert) und als targetSpeakURL angegeben, auch ohne Erfolg.

Kannst Du mir was Idiotensicheres empfehlen?

Im Wiki benutzt Du zB http://192.168.178.45/Sonos (//192.168.178.45/Sonos) - kann das ueber http funktionieren?

Vielen Dank fuer kurze Klaerung.

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 06 Februar 2013, 15:24:48
Hi Will,

sorry, da ist mir im Wiki ein Tippfehler unterlaufen, den ich auch gerade korrigiert habe.
Es muss natürlich ein UNC-Pfad sein.

Versuch es bitte mal mit \\192.168.1.10\public\zzfunc Natürlich musst du das so anpassen, dass unter dieser Adresse auch die generierten Dateien erreichbar sind (zum Testen einfach in einem Windows-Dateiexplorer diese Adresse eingeben, und schauen, was du so siehst).

In deinem Log habe ich aber noch einen Fehler bei meiner Umsetzung gefunden. Ich blockiere parallele Abspielversuche, da ich am Ende sonst nicht mehr weiß, was ich wiederherstellen sollte. Das wird wohl im Fehlerfall (wie bei dir gerade) nicht vernünftig zurückgesetzt.
Dazu steht im Log bei dir:lastSetActionResult: TempPlaying is currently running: Speak

Ich werde das für die nächste Version beheben. Du müsstest halt auf jeden Fall einen FHEM-Neustart durchführen, dann wird das auch zurückgesetzt.

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 06 Februar 2013, 18:01:52
Hi Reiner,

anbei der fhem-Log von mir, im Perl Log landet nichts


Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 06 Februar 2013, 20:08:22
Hi Christoph,

ok, danke für das Log... ich versuche das mal bei mir nachzustellen...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: krikan am 06 Februar 2013, 20:10:59
Hallo Reinerlein,

anscheinend habe ich das gleiche Problem wie Christoph und hänge mich einmal an den Beitrag.

Als FHEM-Fritzbox-User habe ich zu Testzwecken ein jungfräuliches FHEM mit Deinem Sonos-Modul unter Windows mit Activstate Perl aufgesetzt. FHEM stürzt anscheinend nach Defintion von Sonos immer ab. Um Probleme mit Windows auszuschließen, habe ich in Virtualbox ein Debian mit FHEM und dem Sonos-Modul aufgesetzt. Auch hier endet dies nach Definition von Sonos in einem Absturz von FHEM. In der WEB-Oberfläche von FHEM taucht der ZP90 nie auf. Mir gehen leider die Ideen aus, was ich falsch mache. Die FHEM-Logs von Windows und Unix sind angehängt und sehen für mich ziemlich gleich aus.

Dabei hatte ich zu Testzwecken den PLAY:5 und das Dock noch nicht einmal eingeschaltet...

Hast Du noch Ideen? Kann ich noch irgendwelche Infos zur Hilfe liefern.

Danke, Christian
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 06 Februar 2013, 20:18:09
Hallo Christian,

danke für die Rückmeldung. Da scheint es mal wieder ein Thread-Beendigungsproblem (in diesem Fall mal wieder zu früh) zu geben.

In meinen beiden Umgebungen ist mein Player ja nun schon bekannt und in der Config eingetragen, sodass der Discovery-Prozess nicht zum Tragen kommt. Das werde ich mal kurz zurücksetzen und testen, da es dort ja anscheinend mal wieder hakt...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: krikan am 07 Februar 2013, 20:23:13
Hallo Reinerlein!

Danke für die Info. Werde es mal händisch anlegen.

Keine Ahnung, ob es für Dich wichtig ist, aber folgende Meldung tritt bei dn Abstürzen regelmäßig auf:

Perl exited with active threads:
1 running and unjoined
0 finished and unjoined
0 running and detached
Use of implicit split to @_ is deprecated at ./FHEM/21_SONOSPLAYER.pm line 232.


Gruß, Christian

Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 07 Februar 2013, 22:46:17
Hi Christian,

also die Ausgabe zu den Threads ist normal. FHEM ruft die Funktion zum Abbauen der Devices (UndefFn, dort würde der Thread abgebaut werden) beim Beenden von Fhem nicht mehr auf. Da wird wohl davon ausgegangen, dass ja sowieso alles gleich vorbei ist :-)

Aber die andere Meldung ist komisch. Die hatte ich noch nicht. Welche Perl-Version hast du denn?
Bei mir läuft folgendes: pi@raspberrypi ~ $ perl -V
Summary of my perl5 (revision 5 version 14 subversion 2)

Vielleicht ist meine Version zu alt? :-)

Grüße Reinerlein

P.S.: Die Threads unter Linux nerven gerade total. Die Implementierung da ist einfach buggy... Entweder es werden anstatt Threads gleich der Hauptprozess gekillt, oder es werden Dateihandles beim Starten von Threads gelöscht, die im Hauptprozess immer noch benötigt werden (wie mein CUL z.B. :-) Oh Mann... das kann sich noch einen Augenblick hinziehen...
Titel: Aw: Sonos steuern
Beitrag von: krikan am 08 Februar 2013, 06:17:53
Hallo Reinerlein,

meine Linux-Perl, das zur besagten Fehlermeldung führt, scheint älter zu sein:

test@debian:~$ perl -V
Summary of my perl5 (revision 5 version 10 subversion 1)


Also wohl mein Fehler. Ich werde es mal updaten und berichten. Verstehe aber nicht, warum ein neues Debian ein altes Perl mitbringt...

Unter Windows läuft bei mir was aktuelles:

Summary of my perl5 (revision 5 version 16 subversion 2)

Leider klappt es dort auch nicht. Perl verabschiedet sich dort entweder ohne Meldung oder mit der Theards-Angabe.

Lass Dir ruhig Zeit; trotzdem würde es mich riesig freuen, wenn Du es gelöst bekommst.

Danke und Gruß, Christian
Titel: Aw: Sonos steuern
Beitrag von: Will am 09 Februar 2013, 16:04:21
Hi reinerlein,

Nochmal zur speak Funktion:

Ich habe jetzt folgendes setup
targetSpeakDir /mnt/SonosSpeak
targetSpeakURL //192.168.1.103/SonosSpeak

Ist also das gleiche Verzeichnis. Wenn ich den set Befehl Abs Ende wird die mp3 Datei generiert (kann oich ja über prüfen), aber es gibt keine Durchsage - es gibt aber keine berechtigungsthematik, sonos darf hier zugreifen.

Logfile meldet beim ersten mal immer succes, beim zweiten Versuch sagt er
Tempplay is already running (nach Neustart weg)

Hast du eine Idee?

Danke.

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 09 Februar 2013, 20:49:36
Hi Will,

wenn dein Zitat direkt kopiert wurde, dann sind die beiden Schrägstriche am Anfang falsch. Also mal folgendes probieren:
targetSpeakURL \\192.168.1.103\SonosSpeak

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 09 Februar 2013, 22:58:58
Hallo zusammen,

ich habe mal eine Menge im Thread-Verhalten umgestellt.

Nun hoffe ich, dass da etwas einigermaßen stabiles herausgekommen ist.
Meine Tests waren alle Varationen (Nicht konfigurierte Devices, vollständig konfigurierte Devices) unter Windows, und Linux (Raspberry Pi).

Das ganze läuft bei mir stabil. Aber wie das in der Wildnis (also bei euch:-) aussieht... mal schauen...

Was immer noch so ist, und was auch nicht von mir gelöst werden konnte:
Beim Beenden wird immer noch ausgegeben, dass da einige Threads zwar beendet, aber nicht weggeräumt sind. Das sind die Reste der Zwischendurchsagen. Da müssen wir mal beobachten, wie das mit dem Speicherverbrauch aussieht. Sonst muss ich das irgendwie auf eine externe Triggerung umbauen... aber erst mal gucken...

Im Anhang wieder alle Dateien. Es wurden aber ausdrücklich nur die beiden FHEM-Moduldateien verändert (das gilt eigentlich immer)...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 10 Februar 2013, 00:56:59
Supi....

Mit dem neuen update läuft!


W
Titel: Aw: Sonos steuern
Beitrag von: krikan am 10 Februar 2013, 09:09:13
Klasse Reinerlein!

Bei mir läuft es unter Windows jetzt. ZP90 und 2x S5 werden problemlos erkannt, angelegt und lassen sich steuern. Was mir auf die Schnelle noch aufgefallen ist:

Im Fhem.log erscheint beim Start für jedes Gerät die nachfolgende DoTrigger-Fehlermeldung; Auswirkung kenne ich nicht:

Zitat2013.02.10 08:57:26 2: SONOS1: Discover SonosPlayer 'Schlafzimmer' (S5) Software Revision 3.8 with ID 'RINCON_000E58530F0401400_MR'
2013.02.10 08:57:26 3: SONOS1: ReRead-Command: fhem('set WEB rereadicons');
2013.02.10 08:57:26 3: SONOS1: ReRead-Command: fhem('set WEBphone rereadicons');
2013.02.10 08:57:26 3: SONOS1: ReRead-Command: fhem('set WEBtablet rereadicons');
2013.02.10 08:57:26 3: SONOS0: ReRead-Command: fhem('set WEB rereadicons');
2013.02.10 08:57:26 3: SONOS0: ReRead-Command: fhem('set WEBphone rereadicons');
2013.02.10 08:57:26 3: SONOS0: ReRead-Command: fhem('set WEBtablet rereadicons');
2013.02.10 08:57:26 1: SONOS1: Successfully autocreated SonosPlayer 'Schlafzimmer' (S5) Software Revision 3.8 with ID 'RINCON_000E58530F0401400_MR'
2013.02.10 08:57:26 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_000E58530F0401400_sub0000000018" and Timeout="86400s"
2013.02.10 08:57:26 3: SONOS1: Discover: End of discover-event
2013.02.10 08:57:26 2: SONOS0: RetrieveProxyObjects for 'Sonos_Schlafzimmer' (Room 'Schlafzimmer')
2013.02.10 08:57:26 2: SONOS0: Error during DoTrigger: Error creating search socket: Normalerweise darf jede Socketadresse (Protokoll, Netzwerkadresse oder Anschluss) nur jeweils einmal verwendet werden.
 at ./FHEM/00_SONOS.pm line 1356.

Mein Sonos-Dock führt leider beim Anschalten dazu, dass Perl abstürzt. Aber das Dock ist ja eh leider aus dem Programm von Sonos....

Danke und Gruß, Christian
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 10 Februar 2013, 10:15:03
Hi Christian,

das klingt doch gut. Das mit der Fehlermeldung passiert, wenn mehrere Player erkannt werden sollen... das passe ich also noch an...

Kannst du mal den LogLevel auf 5 stellen (Achtung, das wird lang) und deinen Dock erkennen lassen (möglichst ohne alle anderen Komponenten). Da wird es irgendwas geben, was ich anspreche, was es bei dem Dock halt nicht gibt...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 10 Februar 2013, 10:23:32
Hallo Reiner,

Bei läufts auch Play3 + Connect (angebunden über Bridge)wurden erkannt und angelegt ohne irgendwelche Abstürze. :-)

Danke


Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: det. am 10 Februar 2013, 11:31:14
Hallo Reiner,

Der Ruf aus der Wildnis: Du hast sehr gute Arbeit geleistet. Vielen Dank!
Titel: Aw: Sonos steuern
Beitrag von: krikan am 10 Februar 2013, 18:57:59
Hallo Reinerlein,

habe den Connect(ZP90) und das Dock mal laufen lassen. Beim Absturz von FHEM steht in der Kommandozeile folgende Fehlermeldung:

Thread 1 terminated abnormally: Can't use an undefined value as a HASH reference
 at ./FHEM/00_SONOS.pm line 1259.


Das FHEM-Log habe ich Dir angehängt.

Das Dock wird im Webinterface nicht angezeigt/angelegt.

Wenn Du mehr Infos brauchst, melde Dich bitte.

Grüße, Christian
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 10 Februar 2013, 22:59:22
Hi Christian,

aus deinem Log ersehe ich, dass dein Dock nicht vollständig erkannt und erzeugt wird. Die Fehlermeldung kann eigentlich nicht ganz dazu passen, die wird vermutlich zu einem anderen Zeitpunkt (vermutlich dicht dran:-) aufgetreten sein.

Die Sache mit der Fehlermeldung fange ich nun ab. Das scheint eine Netzkomponente bei dir im Haus gewesen zu sein, die sich (im regulären Sinne) verabschiedet hat.
Das ist nämlich einer der Nachteile an UPnP. Es meldet sich Gott und die Welt (sofern man diese zuhause hat :-). In diesem Fall hat sich eine Komponente abgemeldet, die sich vorher noch nicht mal angemeldet hatte oder überhaupt gesucht war (ist ja auch mal nett :-)

Aber leider konnte ich aus dem Log nicht herauslesen, warum die Erzeugung deines Dock-Devices nicht durchgeführt wurde. Das Event ist gekommen, die notwendigen Informationen konnten ausgelesen werden. Nur ist dann einfach nichts weiter passiert... hmmm...
Was kannst du denn in deinem normalen Controller damit alles machen? Kann das Ding gesteuert Musik abspielen? Kann es als "Audio-Eingang" fungieren?

Hast du zufällig den Intel Device Spy bei dir installiert?
Damit kann man schön die Möglichkeiten eines Devices herausfinden. Damit könnte man herausfinden, was ich alles finden könnte/müsste...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 10 Februar 2013, 23:14:34
Hi Christian,

ich habe nochmal das Log durchwühlt...

Das Dock hat keine Subdevices wie die anderen ZonePlayer. Dafür hat es den AVTransport-Service am Oberdevice.
Das wird umständlich... was möchtest du denn am liebsten damit steuern?

Dann schaue ich mal, wie ich das in das bestehende Konzept hinein bekomme...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Zorin am 10 Februar 2013, 23:36:17
Super, jetzt klappt es, auch mit K_che...

Danke !
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 10 Februar 2013, 23:51:12
Hi Zorin,

schön, das es klappt... aber eigentlich sollte es beim Erkennen jetzt "Kueche" heißen...

Ist das bei dir nicht so?

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Zorin am 11 Februar 2013, 00:29:48
Stimmt, Korrekt. Die Umlaute sind korrigiert.
Ich bin begeistert...

Jetzt steht meinem "Radio An" Schalter in der Küche nichts mehr im Weg...
Titel: Aw: Sonos steuern
Beitrag von: krikan am 11 Februar 2013, 08:03:27
Hallo Reiner,

leider hatte ich nicht geahnt, dass das Dock so kompliziert ist. Für mich würde es reichen, wenn Du verhindern könntest, dass das Dock zum Absturz führt (hoffe das ist einfach). Ich brauche das eigentlich nicht zwingend in Fhem; selbst ein Anlegen in Fhem ist nicht notwendig. Oder habe ich Dich falsch verstanden und der Absturz wird immer durch ein externes UPnP-Device verursacht?

Das Dock ist letztlich nur eine Ladestation für ipod/iphone und man kann Musik von den gedockten i´s in das Sonos Netz streamen. Vom Controller kann ich Musik im gedockten i´s auswählen und abspielen. Autoplay beim Einstecken eines i´s gibt es auch.

Soll ich den Intel Device Spy installieren oder ist das unnötig?

Abschließend ein großes Danke für Deine bisherige Arbeit

Grüße, Christian

PS: Umlaute in Liedtexten werden nicht vernünftig angezeigt. Hast Du eine Ahnung, ob das an meinen Browser-Einstellungen liegt?
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 11 Februar 2013, 09:04:26
Hi Christian,

die Umlaute sollten nur im State fehlerhaft dargestellt sein. In den passenden Readings dazu sollten diese stimmen (insbesondere die State-Reading-Standard-Vorlage "infoSummarize2"), und auch auf der Weboberfläche korrekt dargestellt werden.

Ich habe die Übertragung in das State-Reading (was in Folge dann im "echten" State landet) mit einer Zeichenumkodierung versehen müssen, weil bei meinen Versuchen FHEM abgestürzt war, wenn im State Umlaute standen.
Ich kann das aber nochmal testen, vielleicht war das ja nur ein Entwicklungszwischenstand, der für den Fehler gesorgt hatte... FHEM ist ja in ständiger Bewegung :-)

Ansonsten würde ich dazu erstmal die weiteren Entwicklungen im Bereich einer etwaigen neuen/angepassten Oberfläche zu FHEM abwarten. Ich meine, da sind mittlerweile einige Mitbastler dran :-)

Bzgl. des Docks schaue ich mal, ob ich mein Konzept etwas anpassen kann, damit dieser auch behandelbar wird. Dazu reichen mir aber momentan die Informationen, die in deiner Log-Ausgabe standen, und deine Angaben, was man damit machen kann.

Der Absturz wird durch das beschriebene Entfernen eines Devices (bzw. die Meldung dazu) verursacht. Das hat primär nichts mit dem Dock zu tun (es sei denn er ist der Schuldige, und verrät es nur nicht). Das fange ich auf jeden Fall noch ab.

Stand jetzt wird der Dock einfach nicht angelegt werden, da ich nach einem bestimmten Subdevice suche, was dieser Dock im Gegensatz zu allen anderen Zoneplayern nicht hat.
Wenn dieses Subdevice nicht gefunden wird, springt er einfach überhaupt nicht in den Bereich zum Anlegen eines Devices...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 11 Februar 2013, 10:32:53
Hi reinerlein,

Am Anfang wurde mein zp90 als icon dargestellt - mittlerweile fehlt das icon (vermutlich weil ich fhem zwischendurch upgedated habe).
Wie bekomme ich das icon da wieder hin? Manuell? Oder gibt da was besseres?

Credits nochmal an dieser stelle - mein topmodul!!!

Will
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 11 Februar 2013, 10:56:02
Hi Will,

das Icon lade ich bislang nur beim Erkennen und automatischen Anlegen herunter...

Ich verschiebe das mal, dann wird jedesmal beim Erkennen des Players das Icon heruntergeladen.
Ist also in der nächsten Version drin...

Bis dahin kannst du einfach kurz die Konfiguration ausmarkieren, und ihn automatisch erkennen und (temporär) anlegen lassen. Danach kannst du die vorherige Konfiguration wiederherstellen. Das Icon bleibt ja eigentlich liegen (es sei denn, es verschwindet bei einem Update :-).

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Will am 11 Februar 2013, 15:03:53
Hallo Reinerlein,

alles klar. Danke.

Zu der Speak Funktion noch: Kann ich auch variablen "aussprechen" lassen, also keinen Text sondern z.B. den Anrufernamen aus der FB Callmonitor anwendung? Oder zB "Die Temperatur betraegt 21 Grad (Wert aus Sensor).

Danke.

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 11 Februar 2013, 15:21:03
Hi Will,

das musst du über etwas Perl-Code im Notify erledigen.

Also z.B.:
define test notify event { fhem("set Sonos_Wohnzimmer Speak 35 de Vor dem Haus sind es jetzt ".Value("TemperaturFuehlerDeviceName")." Grad Celsius") }
Natürlich musst du die Namen entsprechend anpassen...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Christoph am 11 Februar 2013, 19:47:14
Hallo Reiner,

wenn ich das Sonos Modul neu in die cfg einbinde werden die Player ja erkannt und im Room angezeigt.
Die einzelnen Sonos definitionen usw werden erst nach nem "save" in fhem.cfg übernommen.
Ist das normal ?
Wenn Sonos eingebunden ist bekomme ich sobald ich irgendwas der fhem.cfg hinzufüge nen Absturz.

edit:
Gibt eigentliche ne Möglichkeit einen Radiosender aus den Favoriten direkt abzuspielen?
Mit LoadRadio muss ja noch ein Play hinterher geschickt werden.


Gruß Christoph
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 11 Februar 2013, 20:57:00
Hi Christoph,

automatisch erstellte Konfigurationen werden bei FHEM immer erstmal nur im Speicher gehalten, und können mittels "save" in einer Config-Datei festgeschrieben werden.

Das mit den Problemen beim Speichern der fhem.cfg (und dem automatischen Neustart dabei) ist leider normal. Die Threads sind nicht wirklich gut umgesetzt, sodass es dabei zu problemen kommen kann.

Allgemein gibt es wohl einige Module, wo es zu komischen Verhaltensweisen kommen kann, wenn man nur ein "rereadcfg" macht (das ist das was gemacht wird, wenn man direkt die fhem.cfg editiert und speichert).
Leider gehört Sonos mit seinen Threads auch dazu :-(

Zu dem Abspielen:
Ich könnte einen zusätzlichen Befehl einbauen, der beides in einem Schritt durchführt, wenn es dafür eine Mehrheit gibt. Ich persönlich benötige das nicht, da man ja immer mehrere Befehle hintereinander programmieren kann:
define test notify Taster:on set Sonos_Wohnzimmer LoadRadio MeinSender ; set Sonos_Wohnzimmer Play

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 12 Februar 2013, 08:55:02
Hallo zusamen,

kurze Zwischennachricht, damit es hier nicht so ruhig wird :-)

Ich habe ein neues Feature (neben den bekannten Bugfixes) eingebaut, und gerade im Produktivtest bei mir laufen.
Dieses ist auch schon im Wiki beschrieben.

Man kann jetzt eine untere und/oder obere Grenze für die mögliche Lautstärke eines Players definieren. Dabei wird ein weiterer Listener aktiviert, der Änderungen an der Lautstärke mitbekommt, und bei über- oder unterschreiten der jeweiligen Schwelle die Lautstärke auf den gültigen Wert zurücksetzt.
Endlich kann man seinem Sohn/seiner Tochter eine maximale Lautstärke für den eigenen Player festlegen, und muss sich nicht mehr aufregen :-)

Desweiteren habe ich die Erkennungsstruktur umgebaut. Im Prinzip sollte der Dock also nun auch ordentlich erkannt werden. Das muss aber natürlich erst getestet werden, da ich ja keinen hier habe...
So wie ich das herausgelesen habe, kann man am Dock aber keine Lautstärke einstellen. Dort funktionieren dann diese Grenzen natürlich nicht...

Wenn alles gut geht, heute Abend oder Morgen dann das Update...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: eburkon am 12 Februar 2013, 09:09:55
Servus miteinander,

ich habe bei mir das Modul jetzt auch soweit auch am Laufen. Danke erst mal.
Meine beiden Sonos ( Connect + Play3 ) werden korrekt angezeigt und zeigen
auch den jeweils gespielten Titel an incl. AlbumArt an.

Was noch nicht klappt ist das steuern. Also z.B. "Mute" produziert im Webfrontend
immer die Anzeige "Error" passieren tut nichts.

Muss ich da noch etwas konfigurieren?

Danke & Gruss
   Ekkehard

Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 12 Februar 2013, 09:26:30
Hallo Ekkehard,

eigentlich muss da nix weiter konfiguriert werden...

Edit:
War "Mute" ein Tippfehler, oder nur nicht vollständig wiedergegeben? Es gibt
MuteTohne Parameter: Wechselt den Mute-Zustand

und
Mute on
Mute off
mit dem jeweiligen Parameter: Schaltet auf den angegebenen Zustand.

Wenn das nicht das Problem war:
Kannst du mal deinen globalen Loglevel auf 5 hochstellen (Achtung: wird lang), und mir diesen hier zukommen lassen?
Mir reicht im ersten Schritt der Bereich, wo du dann auf Mute gedrückt hast...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: krikan am 12 Februar 2013, 10:19:53
Hallo Reiner,

das hört sich (mal wieder) gut an. Du bist aber so schnell, dass ich mit dem Testen nicht nachkomme ;-).

Das Dock hat einen Lautstärkeregler zur Steuerung der beschickten Zone. Sorry, dass ich das nicht erwähnt hatte. Zur Entschuldigung: Habe den Regler noch nie genutzt.

Gruß, Christian
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 13 Februar 2013, 18:09:23
Hallo zusammen,

ich habe den aktuellen Code bei mir jetzt zwei Tage durchlaufen lassen, und keinen Fehler mehr festgestellt.
Im Anhang also wieder alles.

Enthalten (V1.8):
- MinVolume und MaxVolume
- Dock sollte jetzt erkannt werden
- Abmeldende Devices, die gar nicht gemeldet oder kein Sonos sind, führen zu keinem Absturz mehr
- PlayerIcon wird nun bei jedem Erkennungsvorgang (also auch beim Neustart von FHEM z.B.) heruntergeladen. Seit Sonos V4.0 sehen die übrigens anders aus :-)

Im Wiki ist wieder eine detaillierte Beschreibung der neuen Möglichkeiten enthalten.

Die nächsten Schritte von meiner Seite sind jetzt erstmal das Einbringen in das offizielle FHEM. Mal schauen, auf welche Weise das erfolgen wird...

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: krikan am 13 Februar 2013, 18:37:11
Hallo Reiner,

danke für die neue Version.

Leider führt das Dock unter Windows (Linux nicht getestet) reproduzierbar zum Absturz.

In der Kommandozeile erhalte ich folgende Fehlermeldung:

Thread 1 terminated abnormally: Can't call method "GetVolume" on an undefined va
lue at ./FHEM/00_SONOS.pm line 1179.


Das tritt immer dann auf, wenn das Dock erkannt wird. Im FHEM-Log steht dann:

2013.02.13 18:29:12 2: SONOS1: Discover SonosPlayer 'Wireless Dock' (WD100) Software Revision 4.0 with ID 'RINCON_000E5860524201400_MR'

Brauchst Du noch mehr Infos?

Gruß, Christian
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 13 Februar 2013, 19:02:56
Hi Christian,

*Vor die Stirn klatsch*
Klar, das hilft, das habe ich gesucht gehabt und immer wieder übersehen... ich habe alles mögliche umgestellt und abgesichert, aber diese eine Stelle natürlich nicht :-)

Also im Anhang diesmal nur die eine Datei, um das zu Testen...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: krikan am 13 Februar 2013, 20:11:18
Hallo Reiner,

jetzt wird das Dock automatisch erkannt und angelegt.

Jedoch habe ich immer wieder nach einiger Zeit folgende Meldung in der Kommandozeile verbunden mit einem Absturz von FHEM:

Thread 1 terminated abnormally: Can't use an undefined value as a symbol referen
ce at ./FHEM/00_SONOS.pm line 2035.


Im Fhem-Log sehe ich leider derzeit keine Regelmäßigkeit.

Gruß, Christian

PS: Es laufen jetzt 2xS5, Connect, Dock
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 13 Februar 2013, 20:27:50
Hi Christian,

hmmm.. das ist aber komisch, weil da eigentlich eine Meldung im Log stehen müsste. Entweder irgendwas von einem "unitialized Value in concatenaton" oder "can't connect to...".

Die Stelle ist beim Aufruf des Hauptthreads per Telnet. In diesem Fall beim syswrite. Das ist noch nie so vorgekommen...

Ich habe mal noch eine Prüfung eingebaut, aber ob die da was verhindert... Ansonsten müsstest du doch mal bitte das Log hochstellen, und hier posten. Vielleicht ist da eine kleine Meldung zwischen, die darauf hindeutet, was hier das Problem ist...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: krikan am 13 Februar 2013, 20:37:39
Ja Reiner,

hast recht, das taucht im Log vorher auf, war mir nur in der Masse bei Loglevel 5 nicht aufgefallen:

2013.02.13 20:28:47 1: SONOS0: Can't connect to localhost:7072
2013.02.13 20:28:47 2: SONOS0: Error during DoTrigger: Can't use an undefined value as a symbol reference at ./FHEM/00_SONOS.pm line 2035.


Brauchst Du das ganze Log?

Ich installiere mal Deine neue Version.

Gruß, Christian
Titel: Aw: Sonos steuern
Beitrag von: krikan am 13 Februar 2013, 21:07:03
Hallo Reiner,

leider mit der neuesten Version gleiches Problembild bei mir. Vielleicht ein Spezialfall bei mir!?

Hänge Dir trotzdem mal das FHEM-Log an. Vielleicht bringt es Dir mehr Infos.

Werde auch noch mal unter Linux/Debian testen, ob ich dort das Gleiche Problem habe.

Gruß, Christian
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 13 Februar 2013, 22:48:44
Hallo Christian,

komische Sache... ich habe zwar die Ursache des Problems selbst gefunden, aber nicht, warum das überhaupt versucht wird.
Das Problem ist, das er versucht aus dem Hauptthread heraus eine Telnet-Verbindung zu sich selbst zu öffnen. Das klappt nicht, da er sich damit selbst blockiert..

Ich habe jetzt erstmal eine Symptombehandlung gemacht, und ihm gesagt, dass wenn er das versuchen sollte, er die Anweisung direkt ausführen soll. Damit versucht er also nicht mehr sich selbst anzurufen...

Bitte teste mal, ob das jetzt bei dir durchläuft, und ob jetzt an irgendeiner anderen Stelle etwas anderes nicht funktioniert...

Danke schon mal.

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: eburkon am 13 Februar 2013, 23:31:23
Hallo Reinerlein,

es war von mir nicht richtig angegeben ich meinte MuteT wobei ich da auch noch einen Fehler drin hatte.
Wenn ich Webfrontend auf den MuteT link klicke wird "off" angezeigt. Das stimmt auch wenn ich das richtig verstehe,
da zu diesem Zeitpunkt eine Wiedergabe lief. Allerdings passiert am Sonos nichts.

Wenn ich auf den Linke "Pause" klicke wird "Error!" angezeigt passieren tut ebenfalls nichts.
Das log mit Start des Servers den zwei Aktionen und dem Stop habe ich angefügt.

Ich habe die aktuellsten Versionen der Module für diesen Test verwendet.

Danke & Gruss
     Ekkehard
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 14 Februar 2013, 01:05:47
Hi Eckkehard,

das ist schon ein komisches Verhalten, da deine MuteT-Rückgabe eigentlich "on" hätte liefern sollen (Mute == "on" => Stille). Das wird über eine abschließende Abfrage direkt vom Player geholt und als Ergebnis zurückgegeben. Das bedeutet: Das Setzen ist fehlgeschlagen, das nachgelagerte Abfragen war erfolgreich.

Ich habe jetzt noch ein paar Ausgaben bzgl. Lautstärkeermittlung eingebaut.
Ist das zufällig eine Zone mit zwei Playern im Rechts/Links-Verbund? Vielleicht kannst du auf deine Konstellation noch kurz näher eingehen.

Bei dir wird bei der Abfrage der "Master"-Lautstärke ein leerer String zurückgeliefert. Das sollte eigentlich nicht sein, und kann ich mir auch gerade nicht erklären...

Desweiteren hast du eine lustige Titelanzeige. Dort stehen eine Menge XML-Tags drin... Ich schaue mir das mal an, und versuche die Kerninformatione da rauszuschnippeln. Mal schauen, wie gut das klappt. Was ist das für ein Sender? Die Tags heißen z.B. "mus_art_1"...
Vielleicht kann ich das bei mir nachstellen.
Desweiteren kann er deswegen irgendwie das CoverArt dazu nicht ermitteln, da in der URL die Tags wieder vorkommen... Das scheint eine echte Sonderlocke zu sein... Leider gilt das für viele Dinge, die Sonos so tut...

Also im Anhang mal eine Version, die eine Log-Zeile enthält, die ich gebrauchen könnte. Diese fängt z.B. mit "SONOS1: Retrieve Current Volumelevels. Master:" an.

Ansonsten wäre es vielleicht hilfreich das Feature mit der Minimalen oder Maximalen Lautstärke zu aktivieren. Dort wird dann bei Level 5 eine Log-Ausgabe mit dem Anfang "Rendering-Event: LastChange:" ausgegeben. Dort stehen einige Informationen über den aktuellen Lautstärke- und Ausgabezustand drin. Das verrät vielleicht auch noch einiges...

Tut mir leid, dass es jetzt soviel ist, aber irgendwie müssen wir das ja rausfinden können :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: eburkon am 14 Februar 2013, 08:36:36
Servus Reinerlein,

ich kann leider noch nicht testen aber zuerst ein paar Erklärungen zu meinem Setup.

Ich habe ein Connect (Diele) dass mit dem LAN verbunden ist und ein Play3 dass per Wifi angebunden
ist. Kein Stereo-Verbund nichts spezielles.

Zum Zeitpunkt des Tests lief auf dem Play3 ein italienischer Radiosender (RTL.it), der immer so
seltsame Tags mitliefert. Das wird z.B. auch im Controller falsch angezeigt.

Die Tests habe ich eigentlich mit dem Connect gemacht. Dort lief zu dem Zeitpunkt eine ganz simple
Playlist mit Titeln von meinem NAS.

Test folgt heute Abend.

Danke für die Mühe.
    Ekkehard
Titel: Aw: Sonos steuern
Beitrag von: krikan am 14 Februar 2013, 19:42:41
Hallo Reiner,

habe jetzt ca. 2 Stunden Dein Sonos-Modul unter Windows getestet (eher gequält) -> sieht super aus; es läuft und es gab keinen Absturz

Einzige Merkwüdigkeit, die ich hatte:

Play:5 vom Netz genommen und dann auf Play im Webfrontend gedrückt. Ergebnis:

2013.02.14 18:44:42 5: Cmd: >set Sonos_Kueche Play<
2013.02.14 18:44:42 5: Triggering Sonos_Kueche (1 changes)
2013.02.14 18:44:42 5: Notify loop for Sonos_Kueche lastSetActionName: Play
2013.02.14 18:44:43 3: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x6f09450)
2013.02.14 18:45:04 2: SONOS1: DeleteProxyObjects for 'K?che'
2013.02.14 18:45:04 5: Triggering Sonos_Kueche (1 changes)
2013.02.14 18:45:04 5: Notify loop for Sonos_Kueche lastSetActionResult: Exception ERROR: 500 Can't connect to 192.168.178.27:1400 (10060) at FHEM/lib/UPnP/ControlPoint.pm line 785 thread 1.
2013.02.14 18:45:04 4: /fhem?cmd.Sonos_Kueche=set%20Sonos_Kueche%20Play&room=Sonos / RL: 2077 / text/html; charset=UTF-8 /  /


Bei nächsten Aufruf einer Funktion im Webfrontend kam das Übliche:
ERROR: SonosPlayer disappeared
Danach lief es problemlos weiter.

Werde mal weiter testen; komme nur leider wahrscheinlich in den nächsten Tagen nicht viel dazu.

Danke und Gruß, Christian
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 14 Februar 2013, 20:27:02
Hi Christian,

das sieht doch super aus.

Die Fehlermeldungen sind genau die richtigen. In dem Augenblick, wo du auf den Knopf drückst, und festgestellt wird, das der Player verschwunden ist, werden die alten Verbindungsinformationen gelöscht (DeleteProxyObjects) und eine Fehlermeldung an den Aufrufer zurückgegeben, die dann im Log landet (deswegen danach erst der Exception Log bei lastSetActionResult).

Beim nächsten Mal sind die ProxyObjects dann eben genau nicht mehr da, und es wird gar nicht mehr versucht eine Verbindung aufzubauen...

Schön.. dann brauchen wir im Augenblick erstmal nur das Problem von Ekkehard lösen...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 14 Februar 2013, 20:46:20
Hi Christian,

was beim Verschwinden von Playern aber sein sollte, ist das dieses Löschen auch automatisch nach dem eingestellten IsAlive-Interval (also Standardmäßig 10 Sekunden) erfolgen sollte. Danach sollte sowieso nur noch die "disappeared"-Meldung kommen...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: eburkon am 15 Februar 2013, 22:12:30
Servus Reiner,

ich hab jetzt mit der von Dir zur Verfügung gestellten Version nochmal den Test gemacht.
Log im Anhang.
Hoffe das hilft weiter.

Gruss
   Ekkehard
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 15 Februar 2013, 23:25:14
Hi Ekkehard,

hmm.. leider ist nix im Log drin, was darauf hindeuten würde, was da wirklich passiert.

Kannst du mal das Feature mit der minimalen (oder auch maximalen) Lautstärke aktivieren?
Einfach das Attribut maxVolume auf 100 an dem entsprechenden PlayerDevice setzen. Damit hast du keine Einschränkung, aber die Infos werden geliefert (sollte zumindest so sein)...
Dann liefert uns der Player wenigstens Information zu seiner Lautstärke und den anderen Abspielwerten (wenn das Feature aktivierbar ist)...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 16 Februar 2013, 01:26:11
Hallo zusammen,

ich habe mal ein paar Fehlerausgabemöglichkeiten eingebaut. Leider kann ich das Problem von Ekkehard bei mir nicht nachstellen, weswegen ich dort ein wenig stochern muss...

In der neuen Version sind Hauptsächlich Debug-Fehler-Ausgaben hinzugekommen.

Aber zwei Kleinigkeiten sind auch drin:
- Wenn ein Musikstück kein Cover hat, dann wird nun das FHEM-Logo verwendet :-)
- Wenn man RTL.it hört, dann werden die Informationen nun korrekt zurechtgeschnippelt

Wie immer als Komplettpaket, obwohl wie immer nur die beiden FHEM-Perl-Module angefasst wurden...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Februar 2013, 13:16:56
Hallo zusammen,

solange keine Reaktion... da muss entweder was fehlerhaft sein, oder alles funktionieren...
Und siehe da, ich habe noch einen Tippfehler mit großer Wirkung entdeckt. Nach dem Abspielen einer Sprachdurchsage wird der Wert von "CurrentTempPlaying" nicht zurückgesetzt.
Das hat zur Folge, dass man nur eine Durchsage machen kann, und alle folgenden (bis zum nächsten Neustart von FHEM) mit einer Fehlermeldung verweigert werden...

Im Anhang nun eine um diesen Fehler korrigierte Version.

Desweiteren habe ich den Wert von state umgeschrieben. Dort werden jetzt nur noch Anführungsstriche ersetzt, da die für die Probleme bei der Anzeige verantwortlich waren. Also werden jetzt alle Umlaute und sonstige Sonderzeichen im STATE ordnungsgemäß abgelegt.

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: krikan am 17 Februar 2013, 18:09:36
Hallo Reiner,

Folgendes ist bei mir unter Windows aufgefallen:

Sporadisch stürzt FHEM mit folgender Fehlermeldung ab:

Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 988.
Select error -1 (10038)


Leider kann ich noch nichts genaueres liefern, da ich derzeit wenig Zeit habe. Ich bin mir auch nicht sicher, ob obige 1. Zeile immer im Zusammenhang mit der 2. Zeile auftaucht. Sorry.


Gruß, Christian
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Februar 2013, 20:27:33
Hi Christian,

ok, das kommt von meiner Zusatz-Fehler-Ausgabe-Ecke. Das müsste als Reaktion auf eine Play/Pause usw. Anforderung gekommen sein...
Eigentlich müsstest du als Ergebnis dieser Aktion eine Meldung mit dem Anfang "Error! UPnP-Fault-Fields:" gehabt haben. Eines der Felder dieser Fehlerausgabe war halt nicht gefüllt. Interessant wäre aber, ob die anderen was enthielten, sprich wie die Meldung komplett aussah...

Kannst du mir diese Info noch zukommen lassen?
Danke schon mal dafür...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: krikan am 17 Februar 2013, 21:09:20
Hallo Reiner,

klar kannst Du die FHEM-Logs haben ;-). Es betrifft reproduzierbar das Dock (fhem.zip), in dem kein ipod steckt. Einmal hatte ich das auch bei einem S5. Das FHEM-Log (S5.zip) habe ich Dir auch mal beigefügt, obwohl ich es nicht reproduzieren kann.

Einen Zusammenhang mit der select-Fehlermeldung scheint es aber nicht zu geben. Absturz von fhem nur bei select-Fehler; der Fehler "Error! UPnP-Fault-Fields:" tritt häufiger auf und es läuft anscheind weiter.

Hoffe es hilft Dir ein wenig. Ansonsten melde Dich bitte.

Danke und Gruß, Christian
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Februar 2013, 22:10:04
Hi Christian,

hmmm... das mit den Select-Fehlern kann ich nicht wirklich nachvollziehen. Könnte aber ein Problem mit Windows und den Threads sein... Ich werde da nochmal was umstricken, da ich glaube, dass ich da noch eine Beendigung drin habe (die sorgen ja immer für die Probleme). An der Stelle, wenn ein SonosPlayer verschwindet, beende ich noch den Thread und lasse ihn neustarten...

Aber das mit den anderen Meldungen erscheint mir eher normal:
Wenn in dem Dock kein Gerät steckt, kann man auch nix steuern, das Gerät ist aber natürlich trotzdem da, und muss bei Bedarf sofort steuerbar sein... das erscheint mir erstmal normal... oder wie siehst du das? Wie läuft das denn bei dem Original-Sonos-Controller?
Da werden vermutlich die Buttons ausgeblendet sein. Das könnte ich auch abfragen, würde aber ja nix ändern, da das ja nur Kosmetik auf der Oberfläche wäre, und FHEM als Haussteuerung eher ohne Oberfläche im Hintergrund läuft...
Ich denke mit der jetzigen Art und Weise (natürlich mit ausgebauten "use of unitialized value"-Meldungen) läuft das einigermaßen gut...

Ich baue da mal an den Threads rum, und melde mich dann wieder...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: krikan am 19 Februar 2013, 12:28:29
Hallo Reiner,

das mit den select-Abstürzen ist leider ein wenig nervig. Das Poblem existiert bei mir auch erst bei den neueren Versionen der Module. Es wäre prima, wenn Du auch dafür wie immer eine Lösung hättest.

Zum Dock: Für mich -bin anscheinend der einzige Dock-Besitzer- reicht der derzeitige Zustand vollkommen. Hauptsache die Abstürze, die es in den ersten Versionen durch das Dock noch gab, sind wie aktuell weg. Im Controller taucht das bestückte Dock übrigens bei den Musikquellen und nicht bei den Räumen auf.

Nochmals ein großes Dankeschön für Deine Sonos-Module.

Gruß, Christian
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 19 Februar 2013, 14:19:07
Hi Christian,

treten denn diese Fälle überhaupt beim ab- bzw. anschalten von Playern auf?
Ich habe die Thread-Beendigung in diesen Fällen jetzt raus, und teste das gerade bei mir...

Desweiteren habe ich noch eine Steuerungs- und Abfragemöglichkeit eingebaut: Balance.
Man kann dort jetzt einen Wert zwischen -100 (ganz links) bis 100 (ganz rechts) angeben und auch abfragen. Desweiteren wird dieser Wert automatisch aktualisiert, wenn man die Lautstärkegrenzen aktiviert hat...

Außerdem habe ich noch etwas an der allgemeinen Perfomance gearbeitet, da ich ja sowieso ein bißchen was umbauen musste, um die Thread-Beendigung herauszubekommen.
Desweiteren habe ich noch Unstimmigkeiten beim Wiedererkennen von Playern gefunden, bzw. des Events (presence=appeared) dazu. Diese habe ich vom Konzept her etwas umgebaut, damit das besser und ohne Blockaden funktioniert...
Auch das Verschwinden eines Players wird nun sauber mittels eines Events (presence=disappeared) gemeldet, und alles ordentlich aufgeräumt...

Viel passiert also, und es sieht soweit erstmal gut aus, und ist wie beschrieben in meiner Umgebung im Test. Wahscheinlich heute Abend oder Morgen gibt es das dann wieder hier...

Grüße Reinerlein

P.S.: Sorry, wenn da immer noch soviel rumgebaut wird, aber ich habe das Gefühl, dass der Code mittlerweile sauberer konzeptioniert ist und immer stabiler läuft (von Ausnahmen mal abgesehen :-).
Titel: Aw: Sonos steuern
Beitrag von: krikan am 19 Februar 2013, 18:21:56
Hallo Reiner,

das Select-Problem tritt vollkommen unregelmäßig auf; scheint nicht vom An- und ausschalten abhängig zu sein. Da Du ja schon wieder sehr fleißig warst, würde ich Deine neue Version (nach Veröffentlichung) einfach mal testen. Dann brauchst Du Dich nicht noch mit altem Kram beschäftigen.

Es ist vollkommen OK, dass Du so viel umbaust. Keine Entschuldigung notwendig. Ist super, das Du Sonos einbindest!

Immer her mit neuen Versionen....

Gruß, Christian
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 22 Februar 2013, 12:53:48
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
Titel: Aw: Sonos steuern
Beitrag von: krikan am 24 Februar 2013, 11:54:15
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)"
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 24 Februar 2013, 12:32:22
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

Titel: Aw: Sonos steuern
Beitrag von: pinz am 24 Februar 2013, 16:16:50
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
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 24 Februar 2013, 16:38:34
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
Titel: Aw: Sonos steuern
Beitrag von: pinz am 25 Februar 2013, 11:59:45
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

Titel: Aw: Sonos steuern
Beitrag von: Will am 25 Februar 2013, 15:16:27
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
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 25 Februar 2013, 16:01:18
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
Titel: Aw: Sonos steuern
Beitrag von: geraldS am 27 Februar 2013, 20:16:10
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
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 28 Februar 2013, 00:45:42
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 (http://forum.fhem.de/index.php?topic=10033.msg65521#msg65521) 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
Titel: Aw: Sonos steuern
Beitrag von: geraldS am 28 Februar 2013, 13:54:05
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
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 28 Februar 2013, 15:26:28
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
Titel: Aw: Sonos steuern
Beitrag von: geraldS am 28 Februar 2013, 15:43:49
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
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 28 Februar 2013, 15:54:28
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
Titel: Aw: Sonos steuern
Beitrag von: geraldS am 01 März 2013, 13:40:26
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
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 01 März 2013, 23:57:10
Hi Gerald,

kannst du mal bitte das Attribut "pingType" am SONOS-Device auf icmp einstellen.
Ich habe bei mir festgestellt, dass ich mit syn nicht immer sicher das Verschwinden eines Player entdecken konnte. Da hat die Umstellung auf icmp geholfen...
Das geht aber natürlich nur, wenn du von FHEM aus pingen "darfst" :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: pinz am 04 März 2013, 22:02:53
Hallo,

ich habe zwar immer noch die Fehlermeldung mit den Umlauten aber ich kann im Moment nicht erkennen wie sich das auswirkt. Soll ich irgendwelche Logs liefern um das zu analysieren? Ich nutze einen Raspberry Pi editiere fhem.cfg aber im Moment direkt im vi und habe die Player neu von autoconf anlegen lassen. Somit fällt eine Zusammenhang mit editieren im IE wohl flach oder?

Ansonsten bin ich dabei etwas herumzuspielen. Unter anderem versuche ich mittels PlayURITemp  eine mp3 als Türklingel zu nutzen. Klappt soweit ganz gut wenn ich einen Radiosender spiele oder der Player auf Pause ist. Allerdings wird die mp3 wenn der Player "gemuted" ist nicht abgespielt (abgespielt schon aber halt "ohne" Lautstärke). Ich könnte natürlich versuchen den Mute Status abzufragen und dann auf on zu setzen aber dann wird kurz der Radiosender wiedergegeben und anschließend das mp3 File. Bestünde die Möglichkeit PlayURITemp um ein Flag zu erweitern um nicht nur Volume zu setzen sondern wenn Flag "true" auch Mute off zu deaktivieren?

Besteht eigentlich noch Bedarf die neuen Kopfhörer Features zu testen? Ich habe meinen Player jetzt schon von der Küche ins Büro gesiedelt da könnte ich jetzt ohne große Mühe Kopfhörer anstecken;)

Gruß,
Andreas
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 05 März 2013, 00:42:50
Hi Andreas,

das mit PlayURITemp korrigiere ich. Ich denke, wenn man eine Lautstärke ungleich 0 angibt, dann möchte man auch was hören, und es wäre somit logisch, dass Mute für diesen Vorgang der "Durchsage" deaktiviert wird. Danach sollte es natürlich wieder auf den Vorzustand gesetzt werden...
-> Baue ich für die nächste Version ein.

Bzgl. der Kopfhörer würde mich interessieren, ob das Flag korrekt ankommt, und ob bei der Sache mit der minimalen oder maximalen Lautstärke auch die entsprechende für aktivierte Kopfhörer verwendet wird. Die kann man ja unterschiedlich definieren...
Bei mir habe ich z.B. Longpoll und eine minimale Lautstärke aktiviert. Dann sehe ich direkt auf der FHEM-Oberfläche ohne neuladen den geänderten Zustand bei Lautstärke und hoffentlich auch dem Einsteckvorgang des Kopfhörers :-)
Das Reading InfoSummarize3 enthält dann laufend sichtbar den aktuellen Hörzustand...

Zu deiner Umlautproblematik: du hast natürlich recht, dass bei deiner Vorgehensweise der Browser natürlich keine Rolle spielt. War ja auch nur eine Idee.
Wie wird denn im VI dieser Umlaut dargestellt? Es müsste dort ja z.B. direkt "&auml;" zu sehen sein. Auch nach einem Speichern und anschließendem wiederöffnen der Datei im VI.
Und das Problem tritt erst nach dem Bearbeiten der Datei im VI auf? Direkt nach dem Anlegen, Drücken von "save" und einem Neustart von FHEM tritt es nicht auf?
hmmm...
Da habe ich allerdings auch keine weitere zielführende Idee mehr. Hat denn noch jemand dieses Problem?

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Will am 10 März 2013, 05:19:57
Hallo Sonoskollegen,

wollte nur eine kurze Info geben (falls es jemand interessiert) was ich jetzt mit Reiner's Modul bei mir realisiert habe:

- Kann aus FHEM raus 2 Sonos Komponent steuern (ohne Abstuerze)
- Bei mir neben dem Bett liegt eine FS20 Fernbedienung mit der ich Play, Pause, Lauter, Leiser machen kann. Auf Knopfdruck (ueber Speak) wird mir aktuelle Aussentemperatur und Lage (Weather) vorgelesen plus Vorhersage fuer den Tag - gleicher Knopf aber langer Knopfdruck liest mir die aktuelle Reading der Zimmertemperatur vor (1Wire) - lasse ich mir manchmal morgens nach dem Aufwachen vorlesen, bevor ich aus dem Fenster schaue. Zudem gibts es hier auch den "All Off" Knopf der all Lichter ausmacht und alle Player auf "Paused" setzen (vor Schlafengehen)
- Im Wohnzimmer habe ich einen Wandtaste (TC8) installiert mit dem ich Play, Pause, Leiser, Lauter, Previous, Next und direkten Zugriff auf zwei vordefinierte SonosPlaylists habe (spielt er dann mit Zufallswiedergabe ab)
- Wenn das Telefon klingelt sagt die Dame "Telefon - Anruf von Anrufername" (der Name wird aus dem FB Telefonbuch ueber den FB Callmonitor generiert

Was ich in Kuerze noch machen werde:
- an der Haustuer einen weiteren "All Off" Button realisieren, o dass beim rausgehen alle Player ausgemacht werden.
- Schalten des Verstaerkers per Watchdog (alt ueber IR Befehle des CUNO) nach 5 min ohne Sonos (aehnlich wie bei Reiner im Wiki beschrieben) - Vorteile von Watchdog??

Alles in allem eine sehr schicke Sache wie ich finde. Die Sonos App ist sehr schick, aber fuer die Einbindung in FHEM oder sehr einfache Befehle finde ich einen Wandschalter alt. FB besser, weil immer Griffbereit. Die Speak Funktion gibt einem noch unendlich mehr Moeglichkeiten und sorgt jedes Mal fuer Staunen....:-)

Vielen Dank nochmal an alle, die hier mitgestaltet haben, fuer mich das coolste Modul in FHEM.

W

Titel: Aw: Sonos steuern
Beitrag von: Will am 10 März 2013, 05:43:36
Hi Reiner,

im wiki gibt es folgendes Beispiel:

define Sonos_Wohnzimmer_Appeared_Notify notify Sonos_Wohnzimmer:presence:.appeared { \
         fhem "set Sonos_Wohnzimmer LoadPlaylist R.%%20Spielliste" ;; \
         fhem "set Sonos_Wohnzimmer Volume 15" ;; \
         fhem "set Sonos_Wohnzimmer Track ".(273 + int(rand(60)-30)) ;; \
         fhem "set Sonos_Wohnzimmer Play" \

Gibt es die Moeglichkeit den Wert fuer "Wiedergabeart"(oder so)zu setzen, also beim set Befehl zu definieren ob Shuffle oderr nicht? In der Sonos App kann ich das ja beeinflussen, muesste also moeglichn sein - im Wiki finde ich nichts...



Danke.

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 10 März 2013, 11:36:46
Hi Will,

das ist momentan noch nicht drin, da ich ja erstmal die grundsätzliche Funktion gewährleisten wollte.
Ich werde das nachher mal einbauen... Ob das heute schon veröffentlicht werden kann, muss ich mal schauen... ist aber gut möglich...

Folgende Features werden in dem Paket dann also drin sein:
- Shuffle Mode
- Repeat Mode
- Crossfade Mode
Jeweils setzen und abfragen natürlich.

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Will am 10 März 2013, 15:48:51
Hi Reiner,

ist ja wie beim Weihnachtsmann hier :-)

Bei mir gibts jetzt nachdem ich ein paar Sachen geaendert habe (unter anderem ein Update) Probleme m it dem Speak. Irgendwas  scheint sich aufzuhaengen, und FHEM glaubt, dass noch ein TempPLay laeuft -> somit geht kein Speak bis man FHEM neu startet

anbei Inhalt des Logfiles:

2013.03.10 22:41:14 3: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x306b1c0)
2013.03.10 22:41:14 3: SONOS1: Event: End of Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.10 22:41:15 3: SONOS1: Event: Received Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.10 22:41:15 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E587FC86201400_MR'
2013.03.10 22:41:15 2: SONOS0: Error during DoTrigger: Unrecognized character \xC3; marked by <-- HERE after ix="Lautst<-- HERE near column 118 at (eval 602) line 1.

2013.03.10 22:41:15 3: SONOS1: Event: Normal erkannt!
2013.03.10 22:41:15 2: SONOS1: Error during PeekTrigger: Unrecognized character \xC3; marked by <-- HERE after ix="Lautst<-- HERE near column 118 at (eval 869) line 1.

2013.03.10 22:41:15 3: SONOS1: Event: End of Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.10 22:41:16 2: SONOS0: Error during DoTrigger: Unrecognized character \xC3; marked by <-- HERE after ix="Lautst<-- HERE near column 118 at (eval 632) line 1.

2013.03.10 22:41:35 3: SONOS0: Error! TempPlaying is currently running: Speak
2013.03.10 22:41:35 3: SONOS0: Error! TempPlaying is currently running: Speak
2013.03.10 22:42:38 3: SONOS0: Error! TempPlaying is currently running: Speak


Ideen??

W
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 10 März 2013, 16:12:47
Hi Will,

das ist das gleiche Problem mit den Umlauten, wie bei Andreas.

Ändere doch sonst mal die Umlaute bei den Attributen (zu generateInfoSummarize3) auf "ungefährliche" Buchstaben. Ich habe das Problem bei meiner Konstellation bislang noch nicht... Ich habe aber auch seit einer Woche kein Update mehr gemacht... Das hole ich mal nach...
Vielleicht sollte ich das, was Standardmäßig angelegt wird auf Englisch formulieren. Ist wahrscheinlich problemfreier...

Grüße Reiner

P.S.: Das andere ist bereits fertig, und wird von mir gerade getestet... Soviel zum Thema Weihnachten :-)
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 10 März 2013, 16:23:20
Hi Will,

ich wollte nur noch kurz meine Variante für meine Verstärkerschaltung mitteilen.
Das Beispiel aus dem Wiki ist direkt von meiner Konfiguration.

Ich verwende für die Funk -> IR Umsetzung folgendes Element:
http://www.elv.de/fs20-infrarot-fernbedienung-fs20-irf-komplettbausatz-mit-bedrucktem-und-bearbeitetem-gehaeuse.html (//www.elv.de/fs20-infrarot-fernbedienung-fs20-irf-komplettbausatz-mit-bedrucktem-und-bearbeitetem-gehaeuse.html)
Als Bausatz für 18€ nicht wirklich teuer...

Ich habe dabei noch nie einen Ausfall zu verzeichnen gehabt, habe den Sender aber auch wirklich Lichtgünstig mit in den Schrank verfrachtet, dort ist es dunkel und kuschelig...

Edit (schön das das jetzt geht:-):
Eine der drei LEDs in der Komponente habe ich über ein 3m Kabel aus dem Gehäuse herausgeführt und bei meinem Fernseher hinter die transparente Abdeckung beim dortigen IR-Empfänger geklebt. Damit kann ich dann auch meinen Fernseher an- und ausschalten (der hat noch keinen Netzwerkanschluß).
Das Ding ist von Vorne nicht zu sehen, und schaltet meinen Fernseher sicher an und aus...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 10 März 2013, 20:09:22
Hallo zusammen,

nach der Anregung von Will, hier also eine neue Version. Diese ist bei mir nun eine Weile fehlerfrei durchgelaufen.

Folgendes ist enthalten:
- "generateInfoSummarize3" wird nun ohne Umlaute angelegt. Stattdessen werden "ae" und "oe" verwendet. Nicht wirklich schön, allerdings ist das ganze ja eh' mehr als Vorlage zu verstehen...
- Wenn bei einer Zwischendurchsage vorher Mute aktiviert war, wird dies für die Dauer der Durchsage deaktiviert, und danach wieder aktiviert. Man hört also auf jeden Fall die Durchsage in der geforderten Lautstärke
- Shuffle, Repeat und CrossfadeMode können gesetzt und abgefragt werden. Desweiteren werden diese Infos automatisch (zusammen mit den Titelinformationen) aktualisiert und erzeugen demnach auch Events bei Änderungen am Player.

Der Wiki-Eintrag ist auch bereits angepasst.

Wie immer das komplette Paket zum Download, wobei Änderungen wie immer nur in den beiden PM-Dateien erfolgt sind.

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Will am 11 März 2013, 15:42:29
Hi Reiner,

Top, keine Abstuerze mehr, beliebig viele Speaks, und ich kann Shuffle setzen.
Danke!

W
Titel: Aw: Sonos steuern
Beitrag von: pinz am 12 März 2013, 18:46:57
Bei mir ist die Fehlermeldung mit den Umlauten auch nicht mehr aufgetreten! Und PlaytmpURI funktioniert jetzt auch wenn der Player "gemuted" ist! Ich komme schön langsam in die Situation tatsächlich alle von mir erträumten Features abbilden zu können (scheitert halt noch an FHEM Wissen aber das will nicht so recht besser werden mit 5 Monate altem Nachwuchs;))

Jetzt wären nur noch die Zonenfeatures ein Wahnsinn. Wenn genug Leute Bedarf an diesen Features hätten sollten wir wohl Reiner einen Play3 spendieren! Bei genug Leuten wären das vielleich 20 oder gar nur 10 Euro pro Nase. Kennt wer einen Sonos Händler über welchen man sowas abwickeln könnte? Ich wäre auf alle Fälle mit einem 20er dabei. Schnapsidee oder guter Vorschlag?

Gruß,
Andreas
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 12 März 2013, 20:01:01
Hi Andreas,

auch wenn ich gerne einen zweiten Player hier hätte, wäre das ja eine Bezahlung, die etwas übertrieben wäre :-)
Das Modul sollte schon kostenlos bleiben...

Leider habe ich in meinem Bekanntenkreis auch keinen weiteren Player zur Verfügung, den ich mir mal ausleihen könnte... Die sind alle zwar willig, aber bei den Kosten eher zurückhaltend :-)

Aber schön, das die bestehenden Features mittlerweile bei den meisten wohl sauber funktionieren...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: eburkon am 15 März 2013, 09:07:16
Servus,

wollte mich nur mal kurz wieder melden. War leider verhindert.
Habe jetzt die aktuellen Dateien eingespielt und jetzt funktioniert bei mir
auch das Steuern des Sonos einwandfrei.

Vielen Dank!
    Ekkehard
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 15 März 2013, 21:38:38
Hallo Ekkehard,

das ist ja super, das es bei dir funktioniert.

Dann bleibt ja im großen und ganzen nur noch der Test mit dem Kopfhöreranschluß offen, dann ist der jetzige Codestand als stabil und sauber umgesetzt zu betrachten... Schön.

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Will am 18 März 2013, 14:55:38
Hallo Reiner,

bei mir funktioniert das Speak wieder nicht, kommt immer die meldung ein TempPlsying wuerde schon laufen - was nicht der Fall ist. Hab schon Update + Shutdown restart durch...

Ideen?


Danke
W


2013.03.18 21:47:37 1: OWX: 1-Wire devices found on bus OW1 (sensor2)
2013.03.18 21:47:42 2: SONOS1: SonosPlayer 'Living_Room' (ZP90) Software Revision 4.0 with ID 'RINCON_000E582DCFC001400_MR' is already defined and will only be updated
2013.03.18 21:47:42 2: SONOS1: SonosPlayer 'Living_Room' is now updated
2013.03.18 21:47:42 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_000E582DCFC001400_sub0000004792" and Timeout="86400s"
2013.03.18 21:47:42 3: SONOS1: Discover: End of discover-event
2013.03.18 21:47:43 2: SONOS1: Discover SonosPlayer 'Portable' (S3) Software Revision 4.0 with ID 'RINCON_000E587FC86201400_MR'
2013.03.18 21:47:47 2: SONOS1: SonosPlayer 'Portable' (S3) Software Revision 4.0 with ID 'RINCON_000E587FC86201400_MR' is already defined and will only be updated
2013.03.18 21:47:47 2: SONOS1: SonosPlayer 'Portable' is now updated
2013.03.18 21:47:47 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_000E587FC86201400_sub0000004103" and Timeout="86400s"
2013.03.18 21:47:47 3: SONOS1: Discover: End of discover-event
2013.03.18 21:47:47 3: SONOS1: Event: Received Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.18 21:47:47 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.03.18 21:47:47 3: SONOS1: Event: Normal erkannt!
2013.03.18 21:47:47 3: SONOS1: Event: End of Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.18 21:47:47 3: SONOS1: Event: Received Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.18 21:47:47 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E587FC86201400_MR'
2013.03.18 21:47:48 3: SONOS1: Event: Normal erkannt!
2013.03.18 21:47:48 3: SONOS1: Event: End of Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.18 21:47:52 3: SONOS1: Event: Received Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.18 21:47:52 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582DCFC001400_MR'
2013.03.18 21:47:52 3: SONOS1: Event: Normal erkannt!
2013.03.18 21:47:52 3: SONOS1: Event: End of Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.18 21:47:55 3: SONOS1: Load MP3 from "http://translate.google.com/translate_tts?tl=en&q=%20current%20temperature%20is%2016%20degrees%20and%20clear%2C%20Forecast%20for%20Tue%20is%2021%20degrees%20and%20scattered%20thunderstorms" to "/home/shares/fhem/Portable_Speak.mp3"
2013.03.18 21:47:55 2: SONOS1: MP3 Download-Error: 404 Not Found
2013.03.18 21:48:01 3: SONOS0: Error! TempPlaying is currently running: Speak
2013.03.18 21:48:14 3: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x3d03360)
2013.03.18 21:48:14 3: SONOS1: Event: Received Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.18 21:48:14 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E587FC86201400_MR'
2013.03.18 21:48:15 3: SONOS1: Event: Normal erkannt!
2013.03.18 21:48:15 3: SONOS1: Event: End of Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.18 21:48:16 3: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x3d03360)
2013.03.18 21:48:16 3: SONOS1: Event: Received Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.18 21:48:16 3: SONOS1: Event: All correct with this service-call till now. UDN='uuid:RINCON_000E587FC86201400_MR'
2013.03.18 21:48:16 3: SONOS1: Event: Normal erkannt!
2013.03.18 21:48:16 3: SONOS1: Event: End of Service-Event urn:upnp-org:serviceId:AVTransport
2013.03.18 21:48:21 3: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x3d0d750)
2013.03.18 21:48:26 3: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x3d0d750)
2013.03.18 21:48:29 3: SONOS0: Error! TempPlaying is currently running: Speak
2013.03.18 21:48:44 3: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x3d03360)
2013.03.18 21:48:46 3: SONOS0: Error! TempPlaying is currently running: Speak
2013.03.18 21:48:50 3: SONOS0: Error! TempPlaying is currently running: Speak
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 18 März 2013, 15:28:31
Hi Will,

das scheint ein Rest des vorhergehenden Fehlers zu sein, der nicht sauber aufgeräumt wird.
Im Log steht, dass das Text-MP3 nicht heruntergeladen werden konnte (Zeitstempel: 21:47:55). Wenn dieser Fehler auftritt, wird die Info TempPlaying bislang noch nicht sauber aufgeräumt. Das baue ich gleich ein.
In Folge dazu, kann ein weiterer Aufruf natürlich nicht mehr zum Zuge kommen.

Diese Download-Fehlermeldungen hatte ich bei meinen Tests, wenn Google der Text zu lang war. Dann hat er einfach einen 404er geliefert, und mein MP3 nicht erzeugt. Kannst du das zum Testen einfach etwas kürzen?
Leider ließ sich das in meinen Tests nicht auf eine bestimmte Zeichenzahl einschränken...

Vielleicht kennt auch jemand noch einen anderen Webdienst, den man für diese Zwecke einbauen könnte? Vielleicht könnte man dort mehr Zeichen unterbringen :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: bapou am 22 März 2013, 10:51:39
Hallo Will und Reiner,

ich bin gerade neu in FHEM eingestiegen (zuvor IPSYMCON) und habe nun meine Fritzbox7390 mit CUL und
FS20 zum laufen bekommen.
Nun wuerde ich gerne mein SONOS (zwei Zoneplayer + Play:3) wieder anbinden; Dazu zwei Fragen bevor ich Zeit verschwende und versuche SONOS auf der Fritzbox zu installieren;

1.) Im Wiki/SONOS Anwendungsbeispiel steht, dass die Fritzbox "Perl ohne Thread-Möglichkeit" nicht funktioniert;  Bei Will schien es doch
zu funktionieren oder was waren die Probleme, die du, Will, wegen der Fritzbox hattest?

2.) Da ich mehrere Funktionen vor dem wecken starte und mich ueber SONOS wecken lasse wuerde ich in Zukunft gerne von SONOS die Weckzeit auslesen. Dieses hatte
ich in IP-Symcon geschafft. Reiner, siehst du eine Chance, dass dies ueber dein SONOS Modul irgendwann moeglich ist?

Herzlichen Dank,

Thom
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 22 März 2013, 11:17:20
Hi Thom,

erstmal herzlich Willkommen bei Fhem :-)

Bzgl. Sonos und Fritzbox kann ich dir tatsächlich nicht viel sagen. Meine Infos stammen aus der Historie dieses Threads und sind in den Wiki Artikel eingeflossen.

Aber zu deinen Weckzeiten:
Das sollte kein Problem sein. Ich schaue mir das nachher mal an, und melde mich dazu nochmal...
Momentan läuft das hier eher in Richtung Wunscherfüllung. Ich benötige erstmal nicht mehr von dem Modul, und habe dementsprechend auch nicht die Menge an Ideen.
Sobald also jemand mit einer Idee kommt (so wie du jetzt) sehe ich zu, dass das schnell umgesetzt wird.

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 22 März 2013, 12:16:32
Hi Thom,

soo, ich habe mir das mit dem Alarm mal angesehen.
Ausgeben der Alarmliste, bzw. der Details eines Alarms ist kein Problem.

Aber:
Möchtest du auch einen Alarm setzen können? Das werden dann nämlich eine ganze Menge Parameter. Ist für mich erstmal kein Problem, nur könnte ich mir vorstellen, dass das Setzen eines Alarms über die Sonos-App einfach bequemer ist.
Oder geht es dir nur darum, einen bestimmten Alarm zu (de-)aktivieren?
Leider haben die Alarme keine Namen, sodass man doof aus den Details erkennen muss (als Mensch jetzt), ob das jetzt der gesuchte Alarm ist. Intern haben die natürlich IDs, die ich auch als Erkennungsmerkmal für den Anwender verwenden würde.

Was ich in dem Atemzug auf jeden Fall mit einbauen werde, ist der Sleeptimer. Wobei das Prinzipiell ja auch über einen Fhem-at-Befehl gelöst werden könnte...

Schreib doch mal deinen Anwendungsfall, damit wir in dieser Umsetzungsfrage etwas weiter kommen...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: bapou am 22 März 2013, 13:26:35
Hallo Reiner,

herzlichen Dank fuer die schnelle Recherche und Antwort.
Fuer meinen Anwendungsfall muss ich nur die Alarmzeit auslesen und wissen ob dieser
aktiviert ist. Alle anderen Parameter (welcher Raum, welche Musik... etc.) sind fuer meinen Fall unwichtig.
Setzen will ich auch nichts. Es reicht auch wenn immer der erste Alarm gelesen wird, da ich nur einen verwende.

Praktisch stelle ich immer per Iphone/Ipod abends den SONOS Alarm;
FHEM soll dies wissen um Heizung etc. am Morgen zu schalten.


Gruesse,
Thom

Titel: Aw: Sonos steuern
Beitrag von: Will am 22 März 2013, 15:02:14
Hi,

Zum Thema fritzbox:
Habe das am Anfang probiert aber sher schnell aufgegeben, da mein Verständnis ist, dass das Linux auf der fritzbox nicht alle Pakete bereitstellt, die zum betrieb diese Moduls benötigt werden. Ich habe da.


als Anlass gesehen, mir einen raspberry pi zubesorgen auf dem dann alles flott und rreibungslos lief.

Ist zwar ein gerät mehr, dafür auch ein Spielzeug mehr :-)

Wecker:
Benutze ich im sonos nicht - habe aber gleich mal einen Wecker für morgen gesetzt :-) bei zwei quaelgeistern ist der Wecker nicht so wichtig - man ist eh zu früh wach.

Interessant wäre wie reiner sagt der sleeptimer - wurde ich per Fernbedienung am Bett schalten - aber eben auch per at Befehl möglich.



Spannend was unterschiedliche leute so realisieren....

Wuensche euch ein schones wochenende  

Gruss

W
Titel: Aw: Sonos steuern
Beitrag von: bapou am 22 März 2013, 15:33:02
Hallo Will,

wie weit kamst du mit SONOS auf der Fritzbox bevor du auf rasperry pi umgestiegen bist;

Im Dez. 2012 hattest du auf jeden Fall geschrieben "Mit dem neuen update läuft!" und so hoffte ich, dass die Basisfunktionen laufen...
zumindest Abfrage des Weckers, und vielleicht ein Stop ueber FS20 Schalter, da der SONOS Schalter ja nur mute schaltet.

Der SONOS Wecker ist zu empfehlen; da er auf den lokalen Sonos Geraeten laueft, ist er sehr zuverlaessig, auch wenn das Internet ausfaellt oder ein Stromausfall
war; dann gibt es eben nur Gepiepe statt Musik.

Gruss,
THom


Titel: Aw: Sonos steuern
Beitrag von: Will am 22 März 2013, 22:35:25
Hi thom,

Ich habe das nicht zum laufen gebracht - das sonos Modul wurde nicht geladen.
Habe mir damals einen linux Rechner aufgesetzt, um zu testen bis der raspberry pi da war.
Erst mal lief meine existierende fhem Installation zusammen mit der testinstallation auf einem PC (fhem2fhem), mit dem pi ist alles auf einer Maschine und ich habe keine Einschränkungen.

W
Titel: Aw: Sonos steuern
Beitrag von: snoop am 28 März 2013, 20:56:22
Hallo Reinerlein,

alles was ich zum Sonos Modul gelesen habe gefällt mir bisher sehr gut = würde ich gerne nutzen.

Ich habe nur ein Problem - gut kleine Herausforderung:

- bisher nutze ich die FritzBox 7390 für FHEM -> damit scheint es nicht zu funktionieren (zumindest noch nicht)
- alternativ könnte ich meine Synology DS212+ nutzen -> hier auch die kleine (eher große) Herausforderung - per Cross-compiling Perl für die Nas zu erzeugen. Dies hat für FHEM Martin Fischer schon was gemacht - er hat auch schon geschrieben, dass dies sehr aufwändig sei.

Nun mein Anliegen - wie können wie es schaffen, dass Martin eine aktuelle Perl Version inkl. der notwendigen Module für Synology kompiliert.
Oder anders, Martin meinst du du könntest solch eine Version kompilieren? Ich denke viele würde sich darüber freuen.

Vielen Dank und Grüße
Arthur
Titel: Aw: Sonos steuern
Beitrag von: det. am 28 März 2013, 22:34:24
Hallo Arthur,
Reiner wird sich schon gewundert haben, dass von mir in Sachen Sonos Test lange nichts zu hören war. Ich hatte auch Fhem auf der FB 7390 und war damit zufrieden, bis das VDSL mehrere Tage offline  war und es so aussah, als wäre die FB defekt. Lange Rede kurzer Sinn - Fhem auf den RPI umgezogen, den ich bis dahin für Fhem mit Sonos genutzt hatte.
Jetzt läuft FHEM auf FB  nur noch mit PRESENCE iPhone - FHEM2FHEM, auf RPI der ganze Rest der Haussteuerung und wenn er nach Ostern endlich von RS geliefert ist, ein weiterer RPI mit dem SONOS Modul. Ein NAS werkelt bei mir auch noch.
Warum ich das alles schreibe? - das eine tun und das andere nicht lassen! Die Universalmaschine für FHEM halte ich für suboptimal, verteilt auf mehrere kleine und energiesparende Rechner ist die Gefahr des Totalausfalls wesentlich geringer und die Beschränkung wegen fehlender Perl Module ist auch nicht da.
Titel: Aw: Sonos steuern
Beitrag von: snoop am 28 März 2013, 23:03:45
Hallo det.,

danke für deine Antwort - ja absolut, das stimmt schon. Ich kämpfe noch mit mir, mir noch ein RPI zuzulegen.
Auf der anderen Seite möchte ich die NAS und die Fritzbox nicht dafür missbrauchen (Ich befürchte, dass die Fritzbox das nicht mehr lange mitmachen wird - je mehr Funktionen ich einbaue).
Ich bin froh das auf der NAS/Fritzbox(FHEM hat bisher keinen Stress gemacht) nicht viel drauf ist und ich neue Herstellerupdates einfach so einspielen kann (habe früher viel mit Freetz gemacht).

Verteilte Infra. -> mehr Sicherheit heißt aber auch zugleich mehr Devices.... hmmm ja muss jeder für sich ausmachen.
Weiterhin sehe ich doch den Aufwand nun alles auf RPI umzuziehen - macht ja auch Spaß.... aber die Zeit die wieder draufgeht...

Ich merke schon ich muss mir da noch ein paar Gedanken machen.
Danke und Viele Grüße
Arthur
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 29 März 2013, 00:22:16
Hi Arthur,

von mir auch noch aus dem Oster-Kurzurlaub eine Reaktion dazu:
Ich persönlich würde entweder eine eigene Maschine oder mindestens eine ausreichend dimensionierte Maschine verwenden.

Ich habe Fhem auf einem eigenen RPi laufen, der nur das eine tut. Der Administrationsaufwand hält sich in Grenzen. Man muß schließlich bei einem funktionierenden System auch nicht ständig Updates durchführen (ausser die von Fhem natürlich :-). Das bedeutet, dass mein System vielleicht mal alle 4-6 Monate mit Systemupdates versorgt wird. Das reicht mir (persönliche Meinung), da das Ding nicht aus dem Internet erreichbar ist (nur per VPN, welches von einer anderen Maschine verwaltet wird).

Desweiteren sollte man im Auge behalten, dass das Sonos-Modul Systembedingt schnell antworten können sollte, da der ZonePlayer beim Raussenden von Nachrichten den Empfang der vorhergehenden Nachrichten abwartet. Wenn man hier also einen Flaschenhals anlegt, merkt man das vielleicht in einer zögerlichen Reaktionsgeschwindigkeit des Sonos-Systems. Und das will ja wohl keiner :-)
Ich konnte das zwar noch nicht beobachten, aber befürchten :-)

Ausserdem ist ab mehreren Playern auch irgendwann eine Menge in dem Modul los, was da so verarbeitet werden muss. Wenn man z.B. das Feature für die Lautstärkekontrolle aktiviert, wird man über jede(!) Änderung der Lautstärke an dem Player informiert. Da kommt beim Sliden über den Sonos-Controller schon eine Menge zusammen. Wenn man dann noch, wie ich, die Fhem-Events dazu aktiviert hat (also per longpoll direkt auf der Oberfläche jede Änderung sehen kann, und darauf auch per Notify reagieren könnte), hängt da ein kleiner Rattenschwanz an jedem Schritt der Lautstärkeänderung dran. Das Ändern der Laustärke am Controller erzeugt bei mir so im Schnitt 3-5 Meldungen über die Zwischenschritte. Das mag jetzt an mir liegen, allerdings muss ich eine Lautstärkeänderung auch "fühlen".
Gut, das kann man alles abschalten, aber man möchte ja auch was von den Möglichkeiten haben :-)

Zusammengefasst:
Das soll dir nur ein paar weitere Punkte in deiner Überlegungsliste liefern. Möglichkeiten des Fhem-System-Aufbaus gibt es ja nun einige; Arbeit und Spaß hat man aber mit allen :-)

Grüße von der langsam verschneiten Nordseeinsel Wangerooge
Reiner
Titel: Aw: Sonos steuern
Beitrag von: snoop am 29 März 2013, 10:05:25
Hallo Reiner,

wow, danke für deine sehr umfangreiche Ausführung (Überzeugungsarbeit) ;o).
Ich sehe schon, da werde ich wohl um eine RPi nicht herum kommen - ihr/du arbeitet/arbeitest nicht zufällig bei RPi im Vertrieb ;o).
Nein im Ernst, vollkommen richtig - wenn erst mal alles läuft ist es nicht viel Aufwand das System zu pflegen, an er Fritzbox mache ich ja auch nicht viel.

Ich werde mir mal so ein System bestellen und parallel aufbauen. Meine Befürchtungen sind, dass einige Dinge nicht mehr funktionieren werden, siehe FritzDECT,FritzRUL etc. der Rest der bei mir läuft ist zu 95% native FHEM.

So nun möchte ich dich nicht in deinen Oster-Kurzurlaub stören.
Viele Grüße und noch eine schöne Oster(Winter)zeit.
Arthur


Titel: Aw: Sonos steuern
Beitrag von: det. am 29 März 2013, 10:42:37
Hallo Arthur,
Zu Deinen Befürchtungen: wegen der FB spezifischen Sachen schadet es der FB nicht, ein FHEM nur dafür dort weiter laufen zu lassen und über FHEM2FHEM an den RPI anzukoppeln. Der Umzug geht erstaunlich einfach und schnell. Hat bei ca. 1000 Programmzeilen ca. 1h gedauert - Pfadangaben für  Filelog anpassen, Mail von FB auf DebianMail umstellen, Funk- und 1-wire Device umstecken und wundern dass es auf Anhieb funktioniert.
Ohne den Anstoß der angeblich defekten FB (an der es letztlich nicht gelegen hat, sondern an der T-COM) hätte ich den Schritt auch wohl nie gewagt, der RPI lief bei mir schon ein halbes Jahr nebenher.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 02 April 2013, 10:47:58
Hallo zusammen,

ich wollte mal kurz eine aus-dem-Urlaub-zurück-Meldung geben.

Das Thema mit den Weckern werde ich die nächsten Tage angehen. Allerdings bin ich mir noch nicht ganz über das erwartete Verhalten bei gruppierten Zonen sicher. Es kann sein, dass ich dazu auf die Möglichkeit eines zweiten Players warten muss, um zu sehen, was da so für Informationen geliefert werden...

Also frohes schaffen nach den verschneiten Ostertagen :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: bapou am 21 April 2013, 20:25:15
Hallo Reiner,

inzwischen habe ich auch einen Raspberry Pi und damit dein SONOS Modul zum laufen bekommen. Herzlichen Dank.
Da ich das SONOS Modul vor allem wegen der Verbindung des SONOS Weckers mit dem Rest installiert habe, wuerde ich
mich natuerlich freuen wenn du bei dem auslesen der Weckzeit weiter kommst.

Herzlicher Gruss,
Thom
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 21 April 2013, 22:47:37
Hi Thom,

das ist ja schon mal super... leider muss ich mich echt für meine Langsamkeit entschuldigen.
Ich habe wegen des Gartensaisonstarts und den vorhergehenden Sturmzeiten leider von meiner Frau eine komplette Terrassensichtschutzwanderneuerung auf den Tisch gelegt bekommen.
Das muss ich jetzt erstmal Ansatzweise wieder loswerden.

Ich werde (und habe auch schon) zwischendurch an dem Sonos-Modul weiter arbeiten. Leider wird es sich noch etwas verzögern.

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: det. am 22 April 2013, 21:48:07
Hallo Reiner,

immer schön den WAF hochhalten, das ist wichtig, spätestens im Investitionsprozess für die nächsten Anschaffungen zur Hausautomatisierung. Mein SONOS Modul läuft inzwischen prima - DANKE! - auf einem neuen RPI, nur wenn ich über die Woche arbeiten bin und dabei natürlich daheim keine Musik höre beschwert sich FHEM bei Anrufen. Callmonitor läuft auf der FB und schaltet normalerweise erfolgreich über FHEM2FHEM mit dem RPI die Musik in der Stube bei Anruf ab. Hast Du dazu eine Idee?define CALL notify .*CM.* {fhem "set Sonos_Wohnzimmer Mute on"}
2013.04.22 18:44:41 3: set Sonos_Wohnzimmer Mute on : ERROR: SonosPlayer disappeared
2013.04.22 18:44:41 3: CALL return value: ERROR: SonosPlayer disappeared
2013.04.22 18:44:45 3: SONOS1: ProxyObject does not exists
und so geht das weiter bis der Anrufende merkt, dass niemand daheim ist.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 22 April 2013, 23:33:54
Hi Detlev,

die Fehlermeldung ist im Prinzip korrekt, da du ja versuchst einen Befehl abzusenden, und dieser nur nicht ausgeführt werden kann.

Du müsstest also eher folgendes schreiben:
define CALL notify .*CM.* { if (ReadingsVal("Sonos_Wohnzimmer", "presence", "disappeared") eq "appeared") { fhem "set Sonos_Wohnzimmer Mute on" } }Damit wird das nur ausgeführt, wenn der Player präsent ist.

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: det. am 23 April 2013, 08:01:31
Hallo Reiner,

vielen Dank, habe es eingeändert und schaue heute Abend, ob es funktioniert hat. Entschuldige meine Faulheit, aber bei der Wahl zwischen try and error oder Reiner fragen konnte ich nicht widerstehen, Letzteres zu wählen.
Habe da leider noch einen Patienten:define Radio_Paradise dummy
attr Radio_Paradise room Sonos
attr Radio_Paradise setList on off
attr Radio_Paradise sortby 1
define Radio_AN notify Radio_Paradise {fhem "set Sonos_Wohnzimmer LoadRadio Radio%%20Paradise";;\
fhem "set Sonos_Wohnzimmer Volume 15";;\
fhem "set Sonos_Wohnzimmer Play"}
Da der Sonos direkt am Netzkabel hängt (ohne Bridge) und über FS20 Schaltsteckdose am Wochenende früh eingeschaltet wird braucht er recht lange zum Start. Wenn ich den Radiosende s.o. zu früh "einschalte" stürzt FHEM auf dem RPI ab. Hast Du eine Idee, wie ich das verhindern kann?
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 23 April 2013, 09:17:20
Hi Detlev,

kein Problem, solange ich noch Ideen habe :-)

Zu deinem anderen Patienten:
Ich fürchte das wird etwas komplizierter.

Du müsstest einen Notify wie aus dem Wiki mit deinem Dummy und dem Notify für deine Steckdose kombinieren:
define Radio dummy
attr Radio setList on off

define Sonos_Wohnzimmer_Appeared_Notify notify Sonos_Wohnzimmer:presence:.appeared { \
if (Value("Radio") eq "on") { \
fhem "set Sonos_Wohnzimmer LoadRadio Radio%%20Paradise" ;; \
fhem "set Sonos_Wohnzimmer Volume 15" ;; \
fhem "set Sonos_Wohnzimmer Play" \
} \
}
Das sorgt erstmal dafür, daß beim Melden des Players der Radiosender geladen wird, wenn der Dummy "on" ist.

Jetzt noch dein Schalter-Notify:define fernbedienungsschalter FS20 ....

define fernbedienungsschalter_on notify fernbedienungsschalter:on set Radio,Steckdose on
define fernbedienungsschalter_off notify fernbedienungsschalter:off set Radio,Steckdose off
Damit schaltest du mittels einer FS20 Fernbedienung (hier alles nur exemplarisch und Auszugsweise) die Steckdose an, und den Wunsch, danach Radio hören zu wollen (was dann ja beim Appearen des Players abgefragt wird).

Du musst da u.U. noch ein paar Seiteneffekte beseitigen, z.B. dafür sorgen. dass der Radio-Dummy irgendwann auch sicher auf off geschaltet wird, sonst hörst du beim Einschalten des Zoneplayers immer deinen Radiosender :-)
Desweiteren kannst du das natürlich beliebig erweitern, indem du weitere Radio-Dummies definierst, und beim Appeared-Notify entsprechend darauf reagierst.

Also, viel Potential zum Spielen :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: det. am 24 April 2013, 07:49:12
Hallo Reiner,
funktionierte so noch nicht, da der Player nach dem FHEM Neustart ( update ) noch nicht an war. Dabei hat er nur folgenden state:
(siehe Anhang / see attachement)
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 24 April 2013, 08:37:14
Hi Detlev,

der Zustand ist normal, solange sich der Player noch nicht gemeldet hat.
Was passiert denn, wenn in diesem Zustand der Player angeschaltet wird? Bleibt das dann so? Eigentlich sollten sich dann alle Werte aktualisieren, und im Presence-Reading dann auch was von "appeared" stehen...

Wenn sich da nix aktualisiert, kannst du mir die Logs dazu senden?

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: det. am 24 April 2013, 09:55:10
Hallo Reiner,

Danke für Deine schnellen Bemühungen. Ich bekomme da offenbar mindestens 2 ungünstige state Zustände (1 und 3), auf die es im Falle eines Telefonanrufes unterschiedlich zu reagieren gilt.
1* SONOS ohne 220V und noch nicht gestartet nach dem letzten shutdown restart: initialized
2* SONOS nur 220V eingeschaltet, sonst nichts angewählt oder abgespielt: appeared
3* SONOS nach 2* - 220V einfach wieder ausgeschaltet - state ändert sich da leider nicht: appeared
und dann noch die bekannten state, beim Musik abspielen etc, da funktioniert ja alles.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 24 April 2013, 10:27:47
Hi Detlev,

für deine Telefon-Mute-Schaltung solltest du nicht auf den State abfragen. Im Endeffekt ist für eine Steuerung des Players seitens Fhem nur wichtig, ob der Player da ist, und Befehle empfangen kann. Deshalb dafür immer das Reading "presence" abfragen (was du aber vermutlich schon tust).

In meinem Beispiel prüfe ich explizit, ob dieses Reading "appeared" ist, was nur der Fall sein sollte, wenn der Player noch/schon erreichbar ist.

Wenn dieses Reading nicht sauber auf "disappeared" gesetzt wird, dann versuch doch bitte mal den pingType zu setzen (an der Sonos-Zentralkomponente). Standardmäßig wird dort "syn" verwendet.
Bei mir funktioniert das leider nur manchmal sicher (ich vermute da als Übeltäter meinen Managed-Switch, der die ARP-Adresse zu lange puffert, und deshalb ein Syn-Paket einfach an den zuletzt bekannten Port weiterleitet, egal ob dort der Zoneplayer noch lebt, oder nicht).
Ich habe das bei mir auf "icmp" umgestellt. Dafür braucht der Prozess aber mehr Rechte (root).

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: mullischlumpf am 01 Mai 2013, 13:26:00
Hallo zusammen,

bin nun ebenfalls stolzer Anwender von FHEM ;-)

Zu meinem aktuellen Glück fehlt mir nur noch die erfolgreiche Einrichtung meiner Sonos-Player.

Ich habe mich an den Wiki Eintrage gehalten und alle CPAN Module installiert, sowie die Files entsprechend abgelegt. Wenn ich nun ein define Sonos SONOS in die fhem.cfg schreibe bekomme ich im Log leider folgende Fehlermeldung mit der ich nichts anfangen kann:

2013.05.01 13:18:35 1: reload: Error:Modul 00_SONOS deactivated:
 Attempt to reload threads.pm aborted.
Compilation failed in require at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 60, <$fh> line 59.
BEGIN failed--compilation aborted at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 60, <$fh> line 59.

2013.05.01 13:18:35 0: Attempt to reload threads.pm aborted.
Compilation failed in require at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 60, <$fh> line 59.
BEGIN failed--compilation aborted at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 60, <$fh> line 59.


Hat mir hier jemand einen Hinweis woran es liegen könnte?

Danke euch :-)
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 01 Mai 2013, 22:46:18
Hi Thorsten,

schön dich hier zu haben :-)

Zu deiner Fehlermeldung:
Kann es sein, dass du nicht ganz die aktuellste Version des Sonos-Moduls laufen hast?
Zeile 60 ist in der aktuellen Version eine Kommentarzeile bzgl. Releasenotes :-)

Das momentan aktuellste wurde von mir in diesem Post hochgeladen:
Link (http://forum.fhem.de/index.php?topic=10033.msg68056#msg68056)

Ansonsten wäre die Frage, auf welcher Hardware du das laufen hast? Threads-Probleme kenne ich bislang nur von der Fritzbox. Da wärst du aber schon weiter gekommen, als so mancher anderer hier. Normalerweise läuft es auf der Fritzbox einfach nicht :-)

Grüße Reiner

Titel: Aw: Sonos steuern
Beitrag von: mullischlumpf am 01 Mai 2013, 23:07:18
Hallo Reiner,

danke für den Hinweis. Jetzt habe ich mir die aktuellen Files abgelegt. Dadurch hat sich die Meldung leider nur um ein paar Zeilen verschoben ;-)

Ich versuche das Ganze auf einer Synology NAS laufen zu lassen. Hoffe mal da besteht die Chance es ans laufen zu bringen. Ansonsten habe ich das aktuellste FHEM 5.4.

2013.05.01 23:01:39 1: reload: Error:Modul 00_SONOS deactivated:
 Attempt to reload threads.pm aborted.
Compilation failed in require at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 117, <$fh> line 59.
BEGIN failed--compilation aborted at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 117, <$fh> line 59.

2013.05.01 23:01:39 0: Attempt to reload threads.pm aborted.
Compilation failed in require at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 117, <$fh> line 59.
BEGIN failed--compilation aborted at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 117, <$fh> line 59.

Gruß
Titel: Aw: Sonos steuern
Beitrag von: justme1968 am 02 Mai 2013, 00:05:16
es kommt drauf an welche diskstation du hast und welche perl version.

das perl aus  optware ist ohne thread support kompiliert. beim perl von marin fischer weiss ich es nicht.

falls du eine der intel basierten diskstations hast kannst du es mal mit aktive perl versuchen. die linux version lässt sich ganz normal installieren.

ob es daran liegt kannst du rausfinden wenn du die jeweilige perl version mit -V aufrufst. in der liste sollte ein 'useithreads=define' auftauchen wenn der thread support da ist. ansonsten ein 'useithreads=undef'.

gruss
  andre
Titel: Aw: Sonos steuern
Beitrag von: mullischlumpf am 02 Mai 2013, 00:20:23
Ja mist du hast recht. Hier die Ausgabe:

/usr/local/perl/bin/perl -V | grep useithreads
    useithreads=undef, usemultiplicity=undef


------------

/usr/local/perl/bin/perl -V
Summary of my perl5 (revision 5 version 16 subversion 0) configuration:
   
  Platform:
    osname=linux, osvers=2.6.32.12, archname=armv5tel-linux
    uname='linux diskstation 2.6.32.12 #2233 wed jun 6 04:25:24 cst 2012 armv5tel gnulinux '
    config_args='-des -Dcc=gcc -Dprefix=/usr/local/perl -Dcf_by=Martin Fischer -


Die von Martin Fischer ist wohl auch ohne thread support kompiliert :-(

Hm besteht da noch eine Chance für mich auf eine Perl Version die das unterstützt für meine NAS (DS212J)?
Titel: Aw: Sonos steuern
Beitrag von: bapou am 04 Mai 2013, 14:34:32
Hallo,

ich bin nicht sicher ob es mit dem SONOS Modul zusammen haengt, aber es ungefaehr seit der
SONOS Installation (und gleichzeitigem Umstieg auf raspberry pi) habe ich folgendes Problem.

Wenn ich rereadcfg ausfuehre, oder fhem.cfg im Webinterface editiere und dann Save fhem.cfg klicke,
stuerzt fhem ab.
Der Grund dafuer; er will Ports oeffnen die schon offen sind. In der log Datei ist dies ersichtlich:

telnetPort: Can't open server port at 7072: Address already in use. Exiting.

Habt Ihr das gleiche Problem? Ich will gerne nur ausschliessen, dass es an dem SONOS Modul haengt.

Herzlicher Gruss,
Thom
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 06 Mai 2013, 09:13:57
Hi Thom,

sorry für die späte Rückmeldung, bin gerade etwas im Stress...

Also, ich habe das gerade mal geprüft. Ich habe das Phänomen auch; wenn ich Sonos wieder rausnehme läuft es normal.
Es liegt also (mindestens) an dem Modul.

Ich muss mir das nochmal anschauen, ob ich eine Möglichkeit habe, das irgendwie zu verhindern. Bis vor kurzem ging das, meiner Meinung nach, nämlich noch. Es kann also auch ein Seiteneffekt im Zusammenhang mit einem anderen Modul sein. Threads sind in dieser Hinsicht in Perl leider nicht gut umgesetzt.

Ich weiss, das hilft jetzt nicht wirklich weiter.
Bei mir habe ich diese "rereadcfg"-Problematik allgemein umgangen, indem ich in der Hauptdatei nur noch include-Anweisungen stehen habe, die ich sehr selten ändern muss. Wenn ich diese dann mal ändern muss, dann tue ich das auf der Konsole der Maschine, und Restarte Fhem dann (ich habe einen Menüpunkt dazu auf der Fhem-Oberfläche angelegt).
Eine Änderung in einer der includierten Dateien ist dann auch über das Webinterface Problemfrei, da kein automatischer Rereadcfg ausgeführt wird.

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: bapou am 08 Mai 2013, 09:08:25
Hallo Reiner,

danke fuer die schnelle Rückmeldung. Ich kann mit dem Problem leben.  
Wo hängt es bezüglich der Idee die Weckzeit auszulesen? An deiner Zeit oder an einem speziellen technischen Problem?
Aber auch hier; mache Dir keinen Stress, es ist toll, dass Sonos schon so gut funktioniert.

Gruss,
Thom
Titel: Aw: Sonos steuern
Beitrag von: mullischlumpf am 12 Mai 2013, 15:38:06
Ich habe es leider bislang über FHEM noch nicht geschafft mit meiner Synology NAS den Sonos direkt zu steuern.

Da ich mir aber selbst eine kleine Website zum Steuern meiner Geräte gebaut habe, bin ich auf eine Möglichkeit gestoßen, wie man seine Sonos-Lautsprecher entweder über ein Webinterface oder aber über die Commandline steuern kann.
Ich wollte euch hier mal das Projekt zeigen, das unter anderem ein Beispiel für ein Webinterface und eine Commandline Steuerung programmiert hat.

https://github.com/rahims/SoCo (//github.com/rahims/SoCo)

Das Webinterface will bei mir leider auch nicht laufen aber ich habe jetzt zumindest die Commandline Steuerung zum Laufen bekommen. Dadurch kann ich nun per Skript  meine Sonosgeräte ansprechen und die entsprechenden Kommandos ausführen (play, pause, next ...). Das Skript wiederum rufe ich durch Klicks auf meiner Website auf.   Etwas umständlicher aber es funktioniert :-)

Gruß
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 12 Mai 2013, 16:22:26
Hi,

der Nachteil dieser Lösung liegt ja darin, dass keine Events bei Änderungen am Player erzeugt werden (Titelaktualisierungen usw...).

Das Steuern über die bekannte IP des Players geht auch viel direkter.
Man kann sich selber ein SOAP-Paket zusammenschrauben, und an die bekannte(!) IP versenden. Dann macht der Player das auch.
Das Problem ist immer der Discovery-Prozess und das Reagieren auf UPnP-Events. Dafür muss man sich verrenken und diverse Libraries und Threads verwenden...

Sehr schön ist dieses Thread-Notify-freie steuern im PHPSonos-Skript zu erkennen.
Ich habe dazu mal auch eine Erweiterung entwickelt, die auch auf Events reagieren kann: http://www.ip-symcon.de/forum/threads/7676-PHP-Sonos-(Klasse-zum-Ansteuern-einzelner-Player)/page23 (//www.ip-symcon.de/forum/threads/7676-PHP-Sonos-(Klasse-zum-Ansteuern-einzelner-Player)/page23)
Dazu muss allerdings PHP lauffähig sein, und die PHP-Erweiterung GUPNP installiert sein. Aber vielleicht ist das für manche ausreichend, bzw. wegen vorhandener PHP-Server besser als die FHEM-Variante...

Wenn man mal sehen möchte, welche Informationen der Player so bereitstellt, kann man über die Web-Oberfläche des Players gehen.
Dazu z.B.: http://192.168.0.36:1400/status (//192.168.0.36:1400/status) aufrufen (IP natürlich anpassen).
Damit kann man aber nix steuern, das ist nur für Informationen da.

Also, u.U. ist das eine Möglichkeit für die Personen, bei denen Perl nicht mit Threads läuft.
Ich hatte meine PHP-Version ursprünglich zum Steuern meines Verstärkers durch Fhem verwendet. Da hatte sich das PHP-Skript dann mit Fhem verbunden, und einen Trigger ausgelöst, wenn der Player auf PLAYING oder PAUSED_PLAYBACK oder STOPPED gegangen ist.

Wegen der fehlenden Titelinfos ihm Fhem und allgemeiner Unbequemlichkeit hatte ich ja damals das Sonos-Modul für Fhem begonnen :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 14 Mai 2013, 20:43:54
Hi Thom,

soo, ich bin schon ziemlich weit, und muss Hauptsächlich noch dokumentieren.

Was nun drin ist:
- Man kann einen Alarm-Listener anmelden, der für eine automatische Aktualisierung der Alarm- und DailyIndexRefreshTime-Readings sorgt.
- Man kann Alarme anlegen, verändern und löschen
- Man kann den Sleeptimer mit einer beliebigen Zeit starten und natürlich auch wieder deaktivieren

Durch die Menge der Informationen, die zum Anlegen eines Alarms notwendig sind, ist das im Normalfall ein nicht zu empfehlender Weg, wenngleich er natürlich möglich ist.
Viel besser ist es, einen Alarm im Controller anzulegen, und diesen immer wieder nur anzupassen (neuer Tag, einfach wieder aktivieren o.ä.), da dafür nur die zu ändernden Informationen angegeben werden müssen...

Kannst du mir bitte noch mal kurz deinen Use-Case schreiben, also was du am liebsten mit Fhem und Sonos da machen möchtest?
Dann kann ich das hier mal gegenprüfen, und u.U. die Beispiele dahingehend aufbauen...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: snoop am 16 Mai 2013, 23:30:38
Hallo Reiner,
gibt es eine Möglichkeit zwei Player per Kommando zu gruppieren?
Ich habe bisher nichts dazu gelesen.
Danke.
Viele Grüße
Arthur
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 17 Mai 2013, 00:16:25
Hi Arthur,

das kannst du auch nicht :-) Es geht einfach noch nicht...

Der Grund liegt einfach daran, dass ich bislang nur einen Player habe, und deswegen das Verhalten von mehreren Playern aus Sicht der Programmierung nicht beurteilen kann...
Dieser Zustand wird aber nun sicher im Laufe des nächsten Monats geändert. Die Budget-/Notwendigkeitsverhandlungen mit meiner Frau sind durch :-)

Wenn du dich in diesem Punkt also noch etwas gedulden kannst... es kommt auf jeden Fall...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: snoop am 17 Mai 2013, 00:23:55
Hallo Reiner,

klar, kein Problem.
Danke und bis demnächst.

Viele Grüße
Arthur
Titel: Aw: Sonos steuern
Beitrag von: bapou am 18 Mai 2013, 16:59:04
Hallo Reiner,

entschuldige die spaete Rueckmeldung.

Der Anwendungsfall ist einfach. Ich lasse mich wecken durch SONOS im Schlafzimmer; Nur ein Wecker
an einem Sonos Geraet. Eingestellt wird der Wecker ueber das Iphone SONOS Interface abends.

Nun soll FHEM die Weckzeit auslesen; entweder automatisch wenn diese veraendert wurde, oder falls technisch
zu kompliziert,  zu einer festen Zeit; z.B. 4 Uhr am Morgen.
Damit kann FHEM vor der SONOS Weckzeit entsprechend die Heizung, Kaffemaschine etc. anschalten.

Eventuell, falls das ganze zuverlaessig ist, soll FHEM auch nachts die SONOS Geraete ausschalten und am Morgen
rechtzeitig einschalten um Energie zu sparen. Nur hier bin ich noch nicht sicher ob ich mich auf FHEM + FS20 Schalter verlassen soll, auch wenn man natuerlich das FS20 Kommando ein paar Mal senden koennte.

D.h. nur die Weckzeit von einem Wecker (z.B. dem ersten) auslesen reicht fuer meine Anwendung

Herzlichen Dank,
Thom

Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 18 Mai 2013, 19:15:32
Hi Thom,

ok, das klingt einfach. Meine Implementierung erzeugt bei jeder Änderung eines Alarms für einen Player an diesem ein Event.
Das bedeutet, du kannst einfach mit einem Notify darauf reagieren.

Das Problem ist, das der Code für dein Notify etwas komplizierter werden dürfte. Ich musste ja schließlich auf die Begebenheiten von Sonos Rücksicht nehmen :-)
Soll heißen, dass du immer denselben Alarm verwenden solltest, denn du da einstellst. Dann bleibt die interne ID gleich, und du kannst schon mal in deinem Notify direkt auf den passenden Alarm zugreifen.

In Fhem sind die Alarme als Hashes von Hashes im Reading (also in einem Hash:-) abgelegt, also z.b. mit:SONOS_Stringify(ReadingsVal("Sonos_Wohnzimmer", "AlarmList", 0))
Kannst du dir folgenden Hash ermitteln:{27 => {Recurrence_Thursday => 1, IncludeLinkedZones => 0, Volume => 35, Shuffle => 0, Recurrence_Wednesday => 1, ProgramURI => x-rincon-buzzer:0, Repeat => 0, Recurrence_Once => 0, StartTime => 00:00:00, Duration => 00:15:00, Recurrence_Sunday => 0, Enabled => 0, Recurrence_Friday => 1, Recurrence_Saturday => 0, Recurrence_Tuesday => 1, RoomUUID => RINCON_000E5828D0F401400, ProgramMetaData => , Recurrence_Monday => 0}, 3 => {Recurrence_Thursday => 0, IncludeLinkedZones => 0, Volume => 25, Shuffle => 1, Recurrence_Wednesday => 0, ProgramURI => x-sonosapi-stream:s78371?sid=254&flags=32, Repeat => 0, Recurrence_Once => 1, StartTime => 14:58:00, Duration => 00:15:00, Recurrence_Sunday => 0, Enabled => 0, Recurrence_Friday => 0, Recurrence_Saturday => 0, Recurrence_Tuesday => 0, RoomUUID => RINCON_000E5828D0F401400, ProgramMetaData => <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/11" parentID="R:0/0" restricted="true"><dc:title>RADIO fresh80s</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>, Recurrence_Monday => 0}}Dabei ist SONOS_Stringify nur eine Hilfsmethode, um den Inhalt von Hashes auszugeben. Das benötigst du dann natürlich nicht in deinem Notify...

Wenn du da mal reinschaust, siehst du, dass die Hauptschlüssel die IDs der Alarme sind. Diese kannst du auch als Vereinfachung aus dem ReadingReadingsVal("Sonos_Wohnzimmer", "AlarmListIDs", 0) auslesen:3,27
Das sieht jetzt erstmal wüst aus, ist aber relativ simpel gestrickt. Es sind halt alle Informationen vorhanden...

Ich teste den Code noch ein bißchen bei mir in der Produktivumgebung, und veröffentliche ihn dann. Die Doku im Wiki ist schon mal angepasst...

Zu deiner Konstellation: Ich persönlich würde mich *nicht* auf FS20 verlassen. Da geht mir einfach zu viel verloren... Aber das solltest du mal Testen...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 23 Mai 2013, 12:09:11
Hallo zusammen,

sooo, das ganze ist bei mir auf dem Produktiv-System eine Weile ohne besondere Vorkommnisse gelaufen, sodass ich den Code hier nun veröffentliche.

Was ist drin:Die Dokumentation im Wiki ist angepasst und liefert auch Hinweise auf das Format des Alarm-Hashs.

Wie immer komplett, obwohl sich nur die beiden Fhem-Moduldateien geändert haben...
Viel Spaß mit den neuen Möglichkeiten, als nächstes werden wohl die Zonengruppierungen drankommen :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: snoop am 24 Mai 2013, 23:04:11
Hallo Reiner,

beim Einspielen der neuen Version mit anschließendem Reload erscheint folgende Meldung:

Not enough arguments for main::SONOS_getDeviceDefHash at ./FHEM/00_SONOS.pm line 1024, near "()"
Not enough arguments for main::SONOS_getDeviceDefHash at ./FHEM/00_SONOS.pm line 1030, near "()"
Not enough arguments for main::SONOS_getDeviceDefHash at ./FHEM/00_SONOS.pm line 1031, near "()"
BEGIN not safe after errors--compilation aborted at ./FHEM/00_SONOS.pm line 1048.

Eine Idee was schief läuft?
Benötigst du Logs?

Viele Grüße
Arthur
Titel: Aw: Sonos steuern
Beitrag von: det. am 24 Mai 2013, 23:43:38
Hallo Reiner,
bin auch wieder auf die Version vorher zurück - FHEM lief zwar noch, aber der Zugriff auf web war nicht mehr da und das ging nur mit Neustart RPI zu beheben.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 26 Mai 2013, 18:06:53
Hallo Arthur, hallo Detlev,

komische Sache. Leider ist die Fehlermeldung nicht ganz so aussagekräftig. Das, was da angemäkelt wird, gibt es an anderen Stellen auch noch, und das auch schon seit der ersten Version. Außerdem scheint Detlev diese Meldung ja nicht zu haben (ich auch nicht).
Ich werde das aber trotzdem mal umstellen, und dort immer einen Parameter übergeben. Damit ist diese Meldung weg, ich bezweifele aber, das es das eigentlich Problem beseitigt...
Die Ausstiegsmeldung ist übrigens eine Zeile, wo ein Eval-Block geöffnet wird. Das sollte eigentlich auch kein Problem sein :-)
Da bin ich also etwas überfragt... Wie sieht denn die Umgebung aus? Plattform? Perl-Version? Irgendwelche Besonderheiten?
Ich gehe mal davon aus, dass deine Ausgabe auf der Konsole (nicht im Fhem-Log) aufgetreten ist, oder? Gibt es denn überhaupt Enträge im Fhem-Log zu dem Start? Wenn ja, dann poste die doch mal bitte hier...

Detlev, kannst du mir einen Logauszug zukommen lassen, was er noch macht, und wo er dann aussteigt?
Ich habe z.B. seit einem der letzten Updates Probleme mit meinen Onewire Komponenten. Da wird blockierend auf etwas gewartet, was auch nicht mit einem einfachen Fhem-Neustart (auf der Debian-Konsole, da die Fhem-Oberfläche ja nicht mehr reagiert) behoben werden kann. Da muss ich auch einen RPi-Neustart machen... Ein Abschalten von Sonos hatte bei mir keine Verbesserung gebracht...

We sieht das denn bei den anderen aus? Gibt es dort ähnliche Probleme?
Bei mir läuft es wie gesagt seit eine Woche normal durch...

Danke schon mal,
Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: det. am 26 Mai 2013, 23:34:46
Hallo Reiner,
sorry, es gibt beim Abschied keinerlei Log Einträge - also nicht sehr hilfreich. Zum zweiten Übel läuft auf meinem RPI nichts weiter als Dein SONOS Modul mit den paar Code Zeilen zum mute bei Telefongespräch (Callmonitor auf FB über FHEM2 FHEM ) und der Dummy Aufruf zum Radio start für SONOS. Die Betriebssystem Umgebung - mehrfach verwendet auf insg. 3 RPI habe ich immer geupdatet und wenn erforderlich was nachinstalliert - d.h. keine Ahnung welche Bibliotheken da inzwischen alle drauf sind.
Wie im letzten Post schon geschrieben, mit dem Vorletzten Stand Deiner Module funktioniert es prima, außer das das SONOS. absolut nicht erkennt, wenn der Player wegen Strom ausgeschaltet nicht mehr verfügbar ist. Aber das habe ich inzwischen akzeptiert und aufgegeben.... - Loglevel beim Call Aufruf angepasst - so kommen da keine Einträge mehr - weiter stört es nicht.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 26 Mai 2013, 23:46:23
Hi Detlev,

OK, dann müsstest du auf der Maschine mal den Loglevel auf 5 stellen, und vor dem Start vielleicht das Log mal leermachen, damit es nicht zu viele Zeilen sind.
Irgendwas muss das Modul ja tun :-) Und dann sollte es eigentlich auch verraten, wo er gerade dran hängt...
Ich habe natürlich noch ein paar kleinere, interne Bugfixings betrieben, die durchaus zu Seiteneffekten führen können. Ich bin mit meiner Umgebung ja schließlich nicht der Maßstab :-)

Also danke schon mal für die Unterstützung, wenn du dir die Mühe machst, und das Log erzeugst und hier postest.

Zu deinem Zoneplayer-Aus-Erkennen: Hast du schon mal versucht, den pingType auf "icmp" umzustellen? Oder geht das bei dir wegen fehlender Root-Rechte für Fhem nicht?

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: det. am 27 Mai 2013, 20:37:11
Hallo Reiner,

das mit dem Loglevel mach ich gern - wird aber erst im Laufe der Woche - SONOS steht in der Stube (ist besetzt) und ich sitze im Büro.
Wenn Du mir verrätst, wie ich FHEM auf dem RPI mit root Rechten laufen lassen kann, versuche ich das mit pingType auf "icmp" gern. Bisher ist mir das mit meinem rudimentären Linux Verständnis leider nicht gelungen.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 27 Mai 2013, 20:57:53
Hi Detlev,

mit dem Log lass dir ruhig Zeit, ich bin die nächsten Tage erstmal berufsmäßig ausser Haus...

Zu den Root-Rechten:
Manuell ist das ganz einfach. Dazu brauchst du das Skript nur mittels "sudo" zu starten.
Also, wenn du im Fhem-Verzeichnis bist, dannsudo perl fhem.pl fhem.cfgeingeben (natürlich musst du vermutlich den Pfad zu deiner Config-Datei anpassen).
Damit läuft Fhem dann unter dem Benutzerkontext root...

Wenn du das dauerhaft unter Root starten möchtest (also das Startskript anpassen möchtest) müsstest du dieses hier kurz posten, da es dort viele Varianten gibt, das Skript als Nicht-Root zu starten (im Normalfall startet ein solches Startskript den Dienst erstmal unter root, es sei denn man sorgt dafür, dass das nicht so ist...)
Bei mir steht im Startskript z.B. nur folgendes:#! /bin/sh
# Copyright (c) 2011 Wolfram Plettscher
# All rights reserved
#
# Author: Wolfram Plettscher, 2011
#
# /etc/init.d/fhem
#
### BEGIN INIT INFO
# Provides: fhem
# Required-Start: ssh
# Required-Stop: ssh
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: starts FHEM house automation server
# Description: during start it also reconfigures /dev/ttyACM0 to rwrwrw rights
# (this is hardcoded for busware CUL device)
# Last maintained for SuSE 11.4
#
# Installation:
# - copy this file to /etc/init.d
# - chmod 744 /etc/init.d/fhem
# - ln -s /etc/init.d/fhem /sbin/fhem
# - enable and edit in YAST system services
### END INIT INFO

case "$1" in
start)
echo "Start $0"
/etc/fhem/fhem/fhem.pl /etc/fhem/config/fhem.cfg > /var/log/fhem 2> /var/log/fhem &
;;
stop)
echo "Stop $0"
/etc/fhem/fhem/fhem.pl 7072 shutdown
;;
status)
cnt=`ps -ef | grep "fhem.pl" | grep -v grep | wc -l`
if [ "$cnt" -eq "0" ] ; then
echo "$0 is not running"
else
echo "$0 is running"
fi
;;
*)
echo "Usage: $0 {start|stop|status}"
exit 1
esac
exit 0
Die Grundlage stammt, glaube ich, aus dem Wiki. Nur mal so als Vorlage zum abschauen...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: FHEM-Freak am 01 Juni 2013, 19:24:59
Hallo,

Bin gerade dabei den Sonos Play3 in mein FHEM einzubinden.
Mein Problem ist der Qnap, da Perl am Qnap keine Threads unterstützt.
Fehler "This Perl not built to support threads"
Mal schauen ob ich mir ein Perl am Qnap selbst kompilieren kann.
Werde mich melden falls ich weiterkomme.
Titel: Aw: Sonos steuern
Beitrag von: det. am 01 Juni 2013, 23:03:48
hallo,
kauf Dir einen RPI, nimm den nur für SONOS und häng den über FHEM2FHEM an das FHEM auf dem Qnap. Hast Du weniger Probleme und schnelleren Erfolg.
Titel: Aw: Sonos steuern
Beitrag von: FHEM-Freak am 02 Juni 2013, 09:15:30
Danke für den Tipp.
Das ist Variante 2, möchte aber vorerst beim Qnap bleiben.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 23 Juni 2013, 22:34:49
Hallo zusammen,

ich wollte mal eine kurze Zwischenmeldung geben, da es hier doch etwas ruhiger wurde.

Also, ich habe nun meine Sonos Landschaft um 2 Player erweitert, und kann die Stillstände bei dem Sonos-Modul leider auch bestätigen. Leider habe ich aber noch keine Lösung, vermute aber ein Problem bei der massenhaften Verarbeitung der Titel und sonstiger Aktualisierungsinformationen. Das muss ja alles über die Telnet-Schnittstelle verarbeitet werden...
Ich werde da also in nächster Zeit (nach meinem Urlaub) tiefer in die Analyse einsteigen, und hoffentlich das Problem eingrenzen können.

Desweiteren steht ja auch die Einbindung der Zonenverwaltung auf dem Plan....

Also, soweit erstmal einen schönen Sommeranfang und bis demnächst.

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: snoop am 26 Juni 2013, 22:23:21
Hallo Reiner,
Weiß garnicht hmmm "Herzlichen Glückwunsch zum 2nd Sonos Player".... ;o)
Sag doch mal bitte was es den geworden ist? Hintergrund: Der Player 5 besitzt ja einen line Out den ich auch sehr oft benutze = TV dran und somit auch gesteigertes Interesse.
Ferner finde ich es Super, dass es zum Thema "Zonen" bald etwas möglich sei wird.
Aber mach doch erst mal Urlaub und bis demnächst.
Viele Grüße
Arthur
P.S: ...danke für den Zwischenstatus/Info.

Titel: Aw: Sonos steuern
Beitrag von: fhainz am 06 Juli 2013, 13:22:06
Hallo!

Ich hab gerade Versucht das Modul einzubinden.

In der fhem.cfg hab ich define Sonos SONOS reingeschrieben und gespeichert. Kurz darauf wurde mir auch schon mein Sonos S5 und der Raum Sonos angelegt. Im Web Frontent hab ich dann auf Save config geklickt. Als ich mir aber die fhem.cfg angesehen hab und nochmals auf speichern geklickt hatte kam im Safari die Fehlermeldung "Safari kann keine Verbindung zum Server herstellen". Anschließend kann ich fhem nicht mehr aufrufen. Da hilft nur mehr ein sudo reboot.
Dann muss ich alles was an sonos erinnert aus der .cfg löschen damit ich wieder normal speichern kann.
FHEM ist up-to-date

Kann mir jemand helfen?

Grüße
Titel: Aw: Sonos steuern
Beitrag von: det. am 06 Juli 2013, 16:18:11
Hallo,

Hatte auch solche Probleme, Reinerlein hat mir da geholfen:
define Sonos SONOS
attr Sonos pingType icmp

dabei sollte FHEM dringend unter User root laufen, erreichst Du durch Eingabe in putty:
sudo usermod -l fhemuser fhem
und dann solltest Du sehen, das Du die letzte Version von SONOS hier aus dem Forum erwischt hast.
Da das ganze recht fragil ist, ist es auch noch eine gute Idee, SONOS auf einem eigenen RPI laufen zu lassen und mit FHEM2FHEM an dein Produktivsystem zu koppeln
Titel: Aw: Sonos steuern
Beitrag von: fhainz am 06 Juli 2013, 16:56:19
Ok danke ich werde das mal versuchen.
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 07 Juli 2013, 09:31:36
Hi,

wollte mich kurz aus dem Urlaub auch dazu melden.

Das Modul hat ein Riesenproblem mit dem Befehl 'rereadcfg' von Fhem. Das aber wird implizit von save ausgeführt.
Das war wohl der Grund, warum Fhem nach dem Speichern nicht mehr erreichbar war...

ich habe mir schon einige Gedanken um eine Neustrukturierung gemacht. Wenn das dann alles so läuft, wie ich mir das vorstelle, dann sollten diese Probleme auch beseitigt sein :-)
Aber auf dem Weg dahin liegt natürlich noch die ganze Realität der Entwicklung :-)

Das Ganze dauert aber noch ein bißchen, ich geniesse gerade das Super-Sommer-Sonnenwetter in Südfrankreich...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: PumpkinEater am 09 Juli 2013, 14:45:48
Hallo zusammen,
da ich seit einigen Tagen zwei Play:3 und eine Bridge habe, sollen diese nun schnell in fhem eingebunden werden. Sieht soweit auch schon ganz gut aus. Was mich stört, sind die folgender Fehlermeldungen, die nach dem Start (und bislang nur dann) auftreten:

Use of uninitialized value in string eq at /usr/local/fhem/fhem.pl line 2142.
Use of uninitialized value $d in hash element at /usr/local/fhem/fhem.pl line 2821.
Use of uninitialized value $dev in hash element at /usr/local/fhem/fhem.pl line 2318.

Auch wenn diese Fehler auf die eigentliche Funktion scheinbar keinen Einfluss haben, würde ich die Meldungen gerne abstellen. Die Meldungen kommen sowohl auf meinem Raspberry als auch auf einer normalen Ubuntu-Maschine (installiert sind jeweils fhem-5.4 und die neusten Sonos-Module). Habt Ihr eine Idee, was dort schieftläuft?

Gruß
Peter
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 09 Juli 2013, 18:48:10
Hi Peter,

ich habe mir die Zeilen mal angesehen. Das sieht eher unspezifisch aus. Bist du sicher, dass es nur zusammen mit dem Sonos-Modul zu dem Fehler kommt?

Sonst als allgemeine Vorgehensweise, erstmal mit 0 Modulen anfangen, und dann langsam steigern, bis der Fehler wieder auftritt :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: PumpkinEater am 09 Juli 2013, 19:37:22
Hallo Reiner,
die Meldungen tauchen nur auf, wenn ich die Sonos-Konfiguration in der fhem.cfg aktiviert habe. Ich werde alternativ noch mal eine Mini-fhem.cfg erstellen, in der nur die Sonos-Anteile enthalten sind.

Ansonsten funktionieren die Sonos-Module schon ganz gut, ich werde sie hauptsächlich für Sprachmeldungen nutzen. Ich hatte schon viel Spaß, als mir die Google-Tante so allerlei Blödsinn vorlesen musste ;-). Aufgefallen ist mir, dass nach etlichen Sprachansagen plötzlich Schluss war. Fhem meldete zwar weiterhin "Success", es gab aber keine Sprachausgabe mehr. Hat Google neben der Begrenzung auf 100 Zeichen auch eine obere Grenze bzgl. der Requests pro Zeit?

Auf jeden Fall schon mal vielen Dank für Deine Arbeit - Hut ab :-)

Gruß
Peter
Titel: Aw: Sonos steuern
Beitrag von: PumpkinEater am 09 Juli 2013, 20:32:04
ich noch mal ...

Eine Mini-fhem.cfg nur mit dem SONOS-Dingen produziert auch die Fehlermeldung. Es reicht sogar nur die Zeile "define Sonos SONOS".

Ich habe mal versucht, die Meldung betreffend Zeile 2142 in fhem.pl zu debuggen:

In fhem.pl (Zeile 2142) habe ich ein "Log 1, .." eingefügt:

sub
RemoveInternalTimer($)
{
  my ($arg) = @_;
  foreach my $a (keys %intAt) {
Log 1, ">>>>".$a."<<<<   >>>>".$arg."<<<< >>>>>".$intAt{$a}{ARG}."<<<<<";
    delete($intAt{$a}) if($intAt{$a}{ARG} eq $arg);
  }
}

Dies liefert dann:

>>>>2<<<<   >>>>RINCON_000E5********1400_MR<<<< >>>>>RINCON_000E5********1400_MR<<<<<
>>>>4<<<<   >>>>RINCON_000E5********1400_MR<<<< >>>>>RINCON_000E5********1400_MR<<<<<
>>>>3<<<<   >>>>RINCON_000E5********1400_MR<<<< >>>>><<<<<
>>>>0<<<<   >>>>RINCON_000E5********1400_MR<<<< >>>>>0<<<<<
>>>>2<<<<   >>>>RINCON_000E5********1400_MR<<<< >>>>>RINCON_000E5********1400_MR<<<<<
>>>>5<<<<   >>>>RINCON_000E5********1400_MR<<<< >>>>>HASH(0x3c6**e0)<<<<<
>>>>6<<<<   >>>>RINCON_000E5********1400_MR<<<< >>>>>RINCON_000E5********1400_MR<<<<<


Der Ausdruck "$intAt{$a}{ARG}" ist also mnachmal leer, dann kommt die Fehlermeldung. Was beuetet das "{ARG}"?

Gruß
Peter
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 10 Juli 2013, 00:03:21
Hi Peter,

bzgl. der Fehlermeldung muss ich schauen, wenn ich wieder an einem Rechner sitze. Momentan kann ich das von hier aus nicht untersuchen...
Das scheint aber eine Anpassung im Konzept der internen Timer zu sein, die ich in meinem Modul entsprechend nachziehen muss. Kann ich aber noch nicht genau sagen...

Zu den Durchsagen:
Wenn Google nichts mehr liefert, dann sollte von dort eigentlich ein Fehlercode zurückkommen (sowas wie bei einer zulangen Nachricht, dort kommt dann ein 404er Fehler oder so). Du könntest mal checken, ob die Dateien immer noch sauber abgelegt werden..
Außerdem könnte ich mir wieder mal ein Problem bei den Threads vorstellen. Für jede dieser Durchsagen starte ich einen davon, der dann die Überwachung übernimmt, ob die Durchsage fertig ist, und den Ur-Zustand anschließend wiederherstellt. Das müsste man per Top beobachten können...

Ich denke da kommt erst Abhilfe mit meiner kompletten Umstrukturierung. Da versuche ich das anders zu trennen... mal schauen, ob das so klappt...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: PumpkinEater am 10 Juli 2013, 06:40:30
Hallo Reiner,
die Soundfiles werden immer erzeugt - also keine Google-Begrenzung, sondern wie Du schon erwähnt hast, vermutlich ein Problem mit den Threads. Wenn keine Sprachausgaben mehr kommen, hilft meistens ein Restart von fhem. Ich werde mal auf Deine Umstrukturierung warten.

Gruß
Peter
Titel: Aw: Sonos steuern
Beitrag von: FHEM-Freak am 13 August 2013, 10:00:05
Zitat von: FHEM-Freak schrieb am Sa, 01 Juni 2013 19:24Hallo,

Bin gerade dabei den Sonos Play3 in mein FHEM einzubinden.
Mein Problem ist der Qnap, da Perl am Qnap keine Threads unterstützt.
Fehler "This Perl not built to support threads"
Mal schauen ob ich mir ein Perl am Qnap selbst kompilieren kann.
Werde mich melden falls ich weiterkomme.
Zitat von: det. schrieb am Sa, 01 Juni 2013 23:03hallo,
kauf Dir einen RPI, nimm den nur für SONOS und häng den über FHEM2FHEM an das FHEM auf dem Qnap. Hast Du weniger Probleme und schnelleren Erfolg.

Habe die Sache mit dem Qnap aufgegeben.
Bin komplett mit Fhem auf einen RPI umgezogen.

Sonos Play 3 läuft perfekt.
Tolle Arbeit des Entwicklers.
Danke dafür.

Einzige Problem ist das editieren der fhem.cfg wie hier beschrieben.
Link

Gibt es dafür schon eine Lösung ?
Titel: Aw: Sonos steuern
Beitrag von: m.zielinski am 13 August 2013, 10:41:07
Zitat von: Reinerlein schrieb am So, 23 Juni 2013 22:34Also, ich habe nun meine Sonos Landschaft um 2 Player erweitert, und kann die Stillstände bei dem Sonos-Modul leider auch bestätigen. Leider habe ich aber noch keine Lösung, vermute aber ein Problem bei der massenhaften Verarbeitung der Titel und sonstiger Aktualisierungsinformationen. Das muss ja alles über die Telnet-Schnittstelle verarbeitet werden...
Ich werde da also in nächster Zeit (nach meinem Urlaub) tiefer in die Analyse einsteigen, und hoffentlich das Problem eingrenzen können.

Hallo Reiner,

Gibt es schon ein Update zu dem Thema?

Ich habe deswegen erstmal die Sonos unterstützung bei mir wieder ganz raus genommen, da mir mehrmals das ganze fhem eingefroren war.
Aber mir wäre es sehr wichtig zumindest eines der Sonos Geräte zu steuern (play, pause, Lautstärke und Song/Playlistauswahl) - die Benachrichtigungs-Funktionen sind mir erst mal zweitrangig dabei.

Ich möchte einen FHem-6fach Schalter als Steuerung für ein Sonos im Kinderzimmer nutzen - meine Tochter soll dafür aber kein Handy/Tablet o.ä. bekommen.. Und da baue ich auf dein Modul...

Gruß,
Michael
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 13 August 2013, 18:07:38
Hi Michael,

ich bin dabei, da das ganze aber eine doch erhebliche Konzept-Anpassung ist, bin ich da noch etwas beschäftigt.

Ich muss dich (und natürlich auch die anderen hier) also leider noch etwas vertrösten, aber immerhin ist der Sommer bald vorbei, sodass ich allg. mehr Zeit haben werde, an diesem Modul weiterzustricken :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Elektrolurch am 16 August 2013, 15:48:24
Hallo Rainer,

erst einmal: tolles Projekt.
Leider fahre ich seit ca. zwei Monaten fhem auf meiner FB7390 und bin kräftig beim entwickeln.
Leider scheint ja das sonos-Modul dort nicht zu laufen.
Ich hätte gerne etwas ganz einfaches: Ich möchte einen Sound auf einem der Sonos-Player im Haus abspielen, z.B. Sirene oder Hundegebell.
So etwas müsste doch auch ohne das Multithreading gehen?
Ich bin mit dem UPNP  Thema nicht so bewandert, dass ich das programmieren könnte. Die Sonos-Player haben bei mir im Netzwerk feste Adressen.
Kannst Du mir da ev. Mit einigen Tipps weiterhelfen?
Das wäre super. Leider habe ich dazu im Forum nichts gefunden. Das Thema UPNP wurde erst vor einigen Tagen hier im Forum wieder aufgenommen, da erschien es mir allerdings so, dass Dein Super-Sonos Projekt nicht bekannt war....
Also, schon mal Danke.

Elektrolurch


Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 16 August 2013, 17:23:24
Hallo Elektrolurch,

bevor ich das FHEM-Modul begonnen hatte, hatte ich ein bestehendes PHP-Modul etwas erweitert.

Finden kannst du das ganze unter http://www.ip-symcon.de/forum/threads/7676-PHP-Sonos-%28Klasse-zum-Ansteuern-einzelner-Player%29/page23 (//www.ip-symcon.de/forum/threads/7676-PHP-Sonos-%28Klasse-zum-Ansteuern-einzelner-Player%29/page23) Artikel 221 und 222.
Das ist dann eine vereinfachte Nutzungsmöglichkeit für die dort sowieso veröffentlichte PHPSonos-Klasse. Dort kann man auch Titeländerungen mitbekommen (exemplarisch implementiert). Das hat mir damals mein FHEM getriggert, damit dieses meinen Verstärker zu dem Sonos-Player anschaltet.

Vielleicht reicht dir das ja erstmal.

Ansonsten kann ich dir nur zum Thema UPnP sagen, dass die Sonos Geräte sehr speziell in Bezug auf UPnP programmiert wurden. Mit einem normalen UPnP-Steuerprogramm wirst du die nicht vernünftig/einfach beeinflußen können, genauso wie andersherum mein Modul für andere, per UPnP steuerbare Geräte, nicht sinnvoll einsetzbar sein dürfte.

Desweiteren hat man bei UPnP immer das Thread-Problem. Nur kurz im Groben das Konzept dazu:
- Man registriert einen UPnP-Listener und fordert das Computer-Netz im Allgemeinen per Broadcast auf sich zu melden.
- Es melden sich die einzelnen Player, zu denen man dann jeweils eine Referenz erhält (und sich merkt).
- Mithilfe dieser Referenzen kann man die Player steuern, oder sich für weitere Events registrieren.
- Wenn man jetzt auf die Idee kommt, den Start-Listener zu beenden, hat man das Problem, dass die einzelnen Player-Referenz-Platzhalter nicht mehr funktionieren (bzw. ungültig werden).
- Wenn man jetzt also noch mit einer anderen Stelle der Software (z.B. FHEM o.ä.) was steuern möchte, bzw. die Ergebnisse auswerten möchte, dann kommt man um eben mind. einen weiteren Thread nicht drumherum.

Ich bin aber auf einem guten Wege, das Konzept jetzt sauber zu bekommen. Nur bin ich halt noch auf dem Weg :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: crazystone am 19 August 2013, 20:58:03
Hallo Reinerlein,

ich hatte, wie von Elektrolurch erwähnt, kürzlich in der Wunschliste das Thema UPnP angesprochen, siehe

Link (http://forum.fhem.de/index.php?topic=14266.0)

da sich niemand erinnern konnte, dass schon mal jemand eine UPnP Steuerung angefangen hat. Jetzt lese ich hier hochgespannt, dass Du diese schon für einen SONOS umgesetzt hast? Oder habe ich da etwas falsch verstanden?

betateilchen hat sich der Sache angenommen und ich bin sicher, er kann einiges von Deinen Erfahrungen profitieren. Könntest Du Dich mit ihm in Verbindung setzen oder auch zu dem anderen Thread beitragen?

Vielen Dank!
Thorsten
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 19 August 2013, 23:14:49
Hallo Thorsten,

ich kann gerne bei Problemen hilfreich zur Seite stehen. Ich habe den von dir genannten Thread mal kurz durchflogen (ist ja zum Glück noch nicht soo lang :-).
Ich verwende die Perl-UPnP-Library http://perlupnp.sourceforge.net/ (//perlupnp.sourceforge.net/). Die Entscheidung war gefallen, da die andere Library (http://search.cpan.org/~skonno/Net-UPnP-1.4.2/ (//search.cpan.org/~skonno/Net-UPnP-1.4.2/)) in meinen Tests nicht so erfolgreich war.
Ich möchte hier aber bitte betonen, dass ich sehr speziell auf Sonos hin getestet und entwickelt habe, und es sicherlich andere gibt, die das auch anders hinbekommen können (wie immer, man kann einfach nicht alles, und hat bestimmte Vorlieben und Arbeitsverfahren :-). Besonders die Thematik Threads Ja oder Nein kann sehr kontrovers diskutiert werden. Ich finde sie gut, da sie das Leben im Normalfall einfacher machen :-)

Meine Erfahrung mit dem Sonos bestätigen die Aussagen, die allg. bzgl. UPnP gemacht wurden:
Es gibt einen Grundschatz an Fähigkeiten, und UPnP hilft da auch eine ganze Menge, da sich das System mittels dieses Standards selbst beschreiben kann, und somit keine weitere Schnittstellendokumentation notwendig wäre.
Das gilt aber nur für die Zugriffswege und Prozeduren (inkl. Parametern u.ä.); Allerdings nicht für die Inhalte der Parameter, die man den Aufrufen mitgeben muss (Die Prozedurnamen sind dagegen meist noch sehr sprechend). Dort wird es meiner Erfahrung nach bei den meisten Herstellern sehr speziell.

Ich bin mit meinem Sonos-Modul sehr weit fortgeschritten. Auch wenn ich gerade einen Konzeptwechsel durchführe, so gilt das eher der Thread-Problematik. Ich bekomme es einfach nicht sauber hin, Threads direkt aus FHEM heraus zu starten und auch wieder sauber einzufangen. Da scheint der große FHEM-Overhead, der beim Thread-Erzeugen ja immer mit kopiert wird, für Probleme zu sorgen.
Mein jetziges Konzept sieht eine Abkapselung der UPnP-Funktionalität in einen eigenen Prozess vor, wo dann auch wieder sauber mit Threads hantiert werden kann.
Das sieht schon ganz gut aus, ich muss aber noch einige Zeit investieren.
Mein Modul hat mittlerweile ca. 215kB Größe erreicht (ohne die notwendigen Zusatzmodule), und kann wirklich nicht mehr klein und harmlos genannt werden.

Aber zum Thema selbst nochmal:
Ich glaube, dass es schwierig werden wird, ein wirklich allgemeines Modul für "alle" UPnP-Clients/Server zu enwickeln. Es gibt für jedes Gerät einfach zu viele Besonderheiten, die extra berücksichtigt werden müssen.
Ich persönlich habe viele Stunden mit dem Intel Device Spy verbracht, und habe unzählige Aufrufe der Sonos-Prozeduren durchgeführt, bis ich endlich die korrekten Parameter in der korrekten Kodierung und der korrekten Reihenfolge raushatte. So manches habe ich mittels Wireshark in meinem Netz mitgeschnitten, wenn ich mit dem Original-Controller einen Aufruf durchgeführt habe.

Sicherlich, wenn man sich auf Play/Pause/Vorwärts/Rückwärts beschränkt, geht es meist. Aber schon bei der Lautstärke z.B. fährt Sonos seine eigene Locke; die per UPnP-AV vorgegebenen Prozeduren sind zwar da (müssen sie ja auch, um dem Standard zu entsprechen), haben aber keine Funktion. Das wird über andere Prozeduren durchgeführt, die eben nicht Bestandteil des -AV-Standards sind, sondern einfach zusätzlich definiert wurden.

Soweit erstmal. Bei Fragen einfach an mich :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: crazystone am 20 August 2013, 07:04:28
Hallo Reiner,

Vielen Dank für Deine Bereitschaft zu helfen. Ich denke du bist schon genau auf dem Weg, den ich versucht habe anzuregen und ich fände es super, wenn du mit betateilchen in Kontakt treten würdest zu dem Stand den du schon hast. Leider kann man hier im Forum ja niemanden auf cc setzen :-)

Mir ging es genau darum, ein Modul zu haben, dass den UPnP Standard sauber implementiert und nur genau das abdeckt. Von der Erkennung der Geräte und Auflistung der Contents bis hin zu einfachen Control Point Funktionen ("spiele A auf B ab", Play, Pause, Stop). Wenn dann einige Geräte das nicht sauber implementieren, muss man schauen, ob man ggf. mit Zusatzmodulen speziell für diese Geräte diesem Zustand Rechnung tragen kann. Dafür wären dann sicher zusätzliche Customizing Funktionen hilfreich, mit denen Parameter oder Command Strings an das UPnP device gesendet werden können, eine Art Test und Entwicklungsumgebung für UPnP Integration.

Ich wäre dir schon sehr dankbar, wenn ich (und andere) die reine UPnP Standard Implementierung mal testen könnte, nicht mit der Erwartung, dass dann sofort alles funktioniert.

Kannst du mit deinem Modul schon sagen, welche Perl-Module erforderlich waren? Ich muss nämlich schauen, ob die auf der FB7390 alle drauf sind bzw. ggf. dann den Kampf mit dem AVM Support anfangen, dass die mal nachinstalliert werden, zumindest in einer Laborversion.

Viele Grüße
Thorsten
Titel: Aw: Sonos steuern
Beitrag von: betateilchen am 20 August 2013, 16:24:28
Zitat von: crazystone schrieb am Di, 20 August 2013 07:04Kannst du mit deinem Modul schon sagen, welche Perl-Module erforderlich waren?

Das steht doch klipp und klar im Beitrag VOR Deinem. Ich verwende übrigens genau die andere Library, weil die SF-Lösung bei mir nicht funktioniert hat.

Und hör bitte auf, die Leute hier kreuzweise durch die Threads zu verkuppeln, das bringt nix.
Titel: Aw: Sonos steuern
Beitrag von: crazystone am 20 August 2013, 22:32:09
Hallo Reiner,

ich habe mir den Intel-Device Spy mal angeschaut bzw. die ganze Tool-Suite. Das ist ja schon ziemlich umfänglich, was es da alles an Test-Tools gibt. Das sollte genügen, um diverse Device Simulationen zu testen bzw. auch den einzelnen Geräten auf die Spur zu kommen. Danke für den Link. Ich werde also schon mal einen meiner UPnP Player (Philips NP2900) damit testen, ob die Grundfunktionen da UPnP Standard konform funktionieren. Mit dem mitglieferten Sniffer sollte man dann ja die Sequenzen sehen und nachimplentieren können, wenn das UPnP Modul in FHEM mal läuft, richtig?

Viele Grüße
Thorsten
Titel: Aw: Sonos steuern
Beitrag von: Elektrolurch am 20 August 2013, 22:40:41
Hallo Reiner(lein),

danke für die Info. Ich habe mal die Kette der benötigten SW-Bestandteile nachvollzogen. Leider habe ich vor 20 Jahren mit C++ aufgehört und muss mich erst einmal wieder da aktualisieren.
Frage eines Neuanfängers: Ich brauche also dafür php. Das ist ja wohl eine Web-Server Erweiterung, z.B. bei einem Apache - Server. Ich nutze jetzt derzeit für das fhem-Projekt eine AVM FB 7390. Da läuft ja auch ein Webserver. Leider konnte ich so adoc nicht herausfinden, ob da auch schon php aktiv ist. Fehlen mir ja leider mal die Kenntnisse. Einen Apache mit php zusätzlich zu installieren, ist ja wohl nicht so ein großes Problem, ev. aber auch nicht notwendig?
Ansonsten wäre ja Dein php-Ansatz genau das, was ich bräuchte, um einen Alarm auf den AVs im Haus abzuspielen.
Ach ja: Du schriebst - Ansonsten kann ich dir nur zum Thema UPnP sagen, dass die Sonos Geräte sehr speziell in Bezug auf UPnP programmiert wurden. Mit einem normalen UPnP-Steuerprogramm wirst du die nicht vernünftig/einfach beeinflußen können, genauso wie andersherum mein Modul für andere, per UPnP
Mein dummes Nokia Handy kann zumindest über die Funktion "Eigene Geräte" Quellen und Ziele über UPnP verheiraten und bei den Sonos-Playern auch die Lautstärke einstellen. (!!!! Du schriebst ja, dassdas nicht mehr Standard bei den Sonos sei)

Gruß Elektrolurch
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 20 August 2013, 22:46:32
Hi Thorsten,

also, meine Import-Liste ist mittlerweile etwas länger, daher weiss ich nicht mehr ganz genau, welches Modul für den Reibungslosen Betrieb von PerlUPnP notwendig waren.

Aus den dem PerlUPnP-Modul selbst werden folgende Pakete eingebunden:
Von mir kommt momentan noch dazu:
Selber liefere ich noch mit:

Wobei einige davon bereits im Standard-Perl enthalten sind, und einige auch gemeinsam in einem Installations-Paket enthalten sein dürften. Ich nehme da eher wenig Rücksicht, da ich mein Modul zum Laufen bringen möchte, und halt notfalls einfach Dinge nachinstalliere. Manchmal kann man sich ja einschränken, aber ansonsten vertrete ich die Meinung, nicht das Rad nochmal erfinden zu müssen.

Zu dem Letzten Post (der gerade beim Tippen reingerauscht kam :-):
Du kannst mit dem Device-Spy alle deine UPnP-Devices im Netz sehen, und die zur Verfügung gestellten Prozeduren (inkl. deren Parameter und Auswahlmöglichkeiten) sowie die zur Verfügung gestellten Typen sehen.
Desweiteren kannst du dich für die zur Verfügung gestellten Events registrieren, und die dabei übergebenen Werte ansehen.
Die Sequenzen, die du meinst, beziehen sich dann auf den eigentlichen Inhalt der Parameter eines solchen Aufrufs.

Spiel erstmal rum, was du mit dem Spy bereits alles erreichen kannst...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 20 August 2013, 23:01:39
Hallo Elektrolurch,

für den Betrieb der reinen PHP-Konsolenanwendung brauchst du natürlich keinen Apache. Da reicht die eigentliche PHP-Installation.
Etwas trickreich war da die Installation der UPnP-Erweiterung für PHP, das habe ich aber ein bißchen im Post beschrieben, das hat bei mir auch etwas gehakt. Da musst du vielleicht ein bißchen Googlen...

Ob PHP installiert und ausführbar ist, kannst du einfach auf der Konsole durch Eingabe von "php --version" herausfinden:
pi@raspberrypi ~ $ php --version
PHP 5.4.4-12 (cli) (built: Feb  1 2013 08:58:27)
Copyright (c) 1997-2012 The PHP Group
Zend Engine v2.4.0, Copyright (c) 1998-2012 Zend Technologies
Dies mal die Ausgabe auf meinem Raspberry Pi.

Mit php -r "phpinfo();"z.B. kannst du schauen, ob dein UPnP dann geladen wurde.
Die Ausgabe ist sehr lang, da alles interne von PHP ausgegeben wird. Am Besten per grep durchsuchen:pi@raspberrypi ~ $ php -r "phpinfo();" | grep upnp
gupnp
gupnp support => enabled


Zu deinem Nokia-Handy:
Es werden im Standard zwei Methoden für die Lautstärkenanpassung vorgeschrieben ("SetVolume" und "SetVolumeDB") und nur die SetVolume funktioniert bei meinem Sonos. Das bedeutet, dass dein Handy instinktiv (und so würde das ja auch jeder Mensch im Normalfall machen) das richtige gemacht hat. Meine UPnP Teststeuersoftware konnte das nicht.
Ich wollte auch hauptsächlich darauf hindeuten, dass man immer schauen muss, ob es funktioniert. Man kann sich leider nicht einfach drauf verlassen. Natürlich wird einiges intuitiv klappen, allerdings auch einiges nicht.
Hat denn bei den Sonos-Playern das Starten eines Titels (besser gesagt: das Ablegen eines Titels in der Abspielliste mit anschließendem Start der Wiedergabe) funktioniert? Das hatte bei mir nämlich auch nicht geklappt.
Aber egal... das sind nur Beispiele... es soll am Ende ja alles funktionieren :-)

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: crazystone am 21 August 2013, 22:34:46
Also ich habe mal ein bisschen mit dem Intel Device Spy und den anderen Tools herumgespielt. Ist wirklich ernüchternd...

Also auch wenn es nicht hierher gehört (weil ja kein Sonos sondern Philips Streamium und nicht FHEM, noch nicht ;-)) mein NP290 versteht, Play, Stop, Pause, Balance, laut/leise. Ich kann gezielt ein einzelnes Media File abspielen. Das wars dann auch. Ich habe etliche Male Fehlermeldungen bekommen ("Server nicht verfügbar"), beim Versuch mehrere Files hintereinander abzuspielen, Radio zu starten (Play und Stop im Radio Mode). Es gab natürlich etliche Funktionen (Mute, PresetList, SelectPreset, Seek) die ich mit den Standard Tools nicht testen konnte.

Eine Erfahrung war auch, was da sonst noch alles abläuft. Eine Fritz Powerline PL546 die da reinspuckt, eine FB die DSL und WAN Status herumposaunt, Kathrein Receiver, die sich nur als rootdevice melden, aber sonst nix anzeigt, und natürlich etliche PCs mit verschiedenen Services, Content Container etc.

Am meisten hat mich gewundert, dass ich bei einem Internet-Radio wie dem NP290 keinen aktuell abgespielte Radiostream gefunden habe. Bin gespannt, was das PresetList oder Seek dann mal liefert.

Es ist mir jetzt durchaus klar, dass das Abfangen des Urwalds eine ganz schöne Herausforderung wird. Ich habe es mit dem ControlPoint auch nicht wirklich geschafft, ein Abspielen zu starten. Das klappte dann wirklich nur mit der Beispielanwendung (Auswahl eines Files per FileBrowser). Da wäre ich auch nochmal dankbar für die Erläuterung der Einzelschritte. Gewundert hat mich auch, das der Status (STOPPED) immer angezeigt wurde, auch während des Abspielens. Ideen?

Viele Grüße

Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 21 August 2013, 22:56:32
Hi Thorsten,

willkommen in der wunderbaren Welt von UPnP :-)
Nee, mal Spaß beiseite, hauptsächlich will der nur spielen.

Für das von mir verwendete Modul sieht die ControlPoint-Definition so aus:$SONOS_Controlpoint = UPnP::ControlPoint->new(SearchPort => 8008, SubscriptionPort => 9009, SubscriptionURL => '/eventSub', MaxWait => 10);
$SONOS_Search = $SONOS_Controlpoint->searchByType('urn:schemas-upnp-org:device:ZonePlayer:1', \&SONOS_Discover_Callback);
$SONOS_Controlpoint->handle;
Wie man erkennen kann, kann man beim Controlpoint bereits die Suche einschränken.
Bei mir melden sich die Zoneplayer eben wie oben definiert.
Das sieht bei anderen UPnP-Modulen zwar anders aber im Kern doch ähnlich aus...

Im ersten Schritt solltest du also mal schauen, ob du durch eine vernünftige Einschränkung dort etwas erreichst.

Aber für ein allgemeingültiges Modul müsste das natürlich frei definierbar sein. Desweiteren müsste irgendwie in einem Attribut definiert werden, was beim Discovern (sprich beim Erkennungsvorgang der gefundenen, bzw. sich meldenden Geräte) passiert.
Wie gesagt, ich bezweifel, dass da wirklich viel geht, was dann am Ende noch als Vereinfachung gegenüber einer normalen Modulentwicklung durchgehen könnte...

Aber natürlich gilt trotzdem (zumindest für mich): Was man mit dem Spy nicht simulieren/steuern kann, wirst du auch nicht mit deinem eigenen Modul hinbekommen. Zumindest nicht über den Standard-UPnP-Aufruf.
Man sollte UPnP als das betrachten, was es ist: Eine Erweiterung zu einem Netzwerkprotokoll wie TCP/IP, mit der man den Zugriff auf Geräte Standardisieren kann. Das bedeutet leider noch längst nicht, dass man auch alles steuern kann.
Bei Sonos z.B. gibt es auch einige Aufrufe, deren Inhalte verschlüsselt sind. Das betrifft zwar hauptsächlich so Dinge wie Benutzerzugänge o.ä. aber ärgerlich ist natürlich, dass man das dann gar nicht mehr rausbekommt (zumindest nicht ohne SONOS-Quellcode :-).

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: betateilchen am 22 August 2013, 13:30:09
Zitat von: Reinerlein schrieb am Mi, 21 August 2013 22:56Das sieht bei anderen UPnP-Modulen zwar anders aber im Kern doch ähnlich aus...
Im ersten Schritt solltest du also mal schauen, ob du durch eine vernünftige Einschränkung dort etwas erreichst.
Aber für ein allgemeingültiges Modul müsste das natürlich frei definierbar sein.

ja, und für ein "allgemeingültiges" Modul muss man im Vorfeld noch über völlig andere Dinge nachdenken. Zum Beispiel muss ich mindestens zwei Gerätetypen immer implementieren: ein Geräte das die Mediadaten liefert (z.B. Typ Mediaserver) und einen Gerätetypen, der die Mediadaten wiedergeben kann (z.B. Typ Mediarenderer)

Und dann gibt es noch Geräte, die beide Funktionen bereitstellen und dabei auch noch dummerweise die gleiche UUID verwenden...

usw. usw.

Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 22 August 2013, 13:38:59
Hi Betateilchen,

genau, soweit ich das aber überblicke, sind Geräte, die beides können, aufgetrennt in verschiedene Devices, die die jeweilige Arbeit Erledigen.
Bei Sonos z.B. gibt es zwei Sub-Devices: Eines, welches "Media Renderer" heißt, und eines das "Media Server" heißt.
Das bedeutet bei der Suche viel mehr Arbeit, da man ja auch alle Sub-Devices durchsuchen muss, die melden sich, zumindest bei Sonos, nicht einzeln, sondern nur über ihr Hauptdevice (also dem physikalischen Gerät entsprechend).

Allerdings unterscheiden sich bei Sonos wenigstens die UUIDs. Dort wird immer die des Hauptdevices verwendet und etwas angehangen:
_MR -> Für den Media Renderer
_MS -> Für den Media Server

Hast du Geräte, die beides können, aber das nicht durch virtuelle Trennungen deutlich machen?
Das wäre ja dann richtig blöd... Dann könnte man die noch nichtmal nach der Erkennung auseinanderhalten...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 22 August 2013, 20:42:48
Hi zusammen,

zwischendurch auch mal wieder eine Statusaktualisierung zur eigentlichen Sache: Dem Sonos-Modul.

Ich habe nun mein neues Konzept eingebaut, und ich muss sagen, dass es deutlich stabiler als vorher läuft. Ich habe auch schon die Unterstützung für Gruppenbildungen und den daranhängenden Themen eingebaut:Allerdings gibt es noch etwas zu basteln:
Als Folge der Konzeptumstellung bleibt noch eine kleine Baustelle offen, die ich noch schließen muss. Dann geht es hier weiter...

Für diejenigen, die es Interessiert (zum leichteren Überspringen als Zitat):
ZitatDas Konzept sieht vor, dass für den ganzen UPnP-Kram aus dem Modul heraus ein eigener Prozess gestartet wird, der dann nicht mehr die "Altlast" FHEM mit sich rumträgt, und wieder sauber threaden kann.
Für den Anwender ändert sich nur die Konfiguration des zentralen Sonos-Devices, da dort nun ein "Host:Port" mit angegeben werden muss, also z.B. "localhost:4712".
An dieser Stelle wird ein laufender Host gesucht, und wenn dieser nicht gefunden wird, wird versucht lokal selber durch einen Neuprozess einen zu starten. Dieser Prozess lauscht dann auf dem Port auf eingehende Verbindungen von FHEM. Dazu wird das FHEM-Standardverfahren für Netzverbindungen verwendet.
Wenn eine Verbindung zustande kam, werden die ganzen UPnP-Sachen gestartet und die entsprechenden Meldungen an FHEM weitergeleitet.

Das hat zu Folge, dass FHEM bzgl. der Befehle "rereadcfg" und "shutdown" auch wieder normal benutzt werden kann, also man auch wieder die fhem.cfg Datei über die Oberfläche editieren und speichern kann.

Viel passiert also, und bald wird es in die Runde gestreut, damit sich hoffentlich jeder dran erfreuen kann.

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: der-Lolo am 03 September 2013, 18:02:12
Hallo Reinerlein,
Sag mal ist eigentlich absehbar wann das "bald" ist? Kannst du sagen wann das Sonos Modul eingecheckt wird..?
Ich überlege gerade ob ich als nächstes meine Sonos Komponenten integriere oder aber mich um optische Belange kümmer und einen Floorplan erstelle...
Gibt es das Sonos Modul nach deiner Einschätzung noch im September - Oktober?
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 03 September 2013, 18:55:45
Hallo Der-Lolo,

ich bin eigentlich soweit durch, und seit heute im Produktivtest auf meinem Raspberry Pi. Dort taucht aber Erfahrungsgemäß immer noch die eine oder andere Unstimmigkeit auf (ist bei mir ja ein Wechsel von Windows, als Entwicklungsumgebung, auf Linux), die es zu beheben gilt :-)
Vor allem nach einer solchen Änderung...

Ich habe auch schon den Thirdparty-Update Mechanismus/Server dafür eingerichtet, sodass die Installation auf eurer Seite mittels eines FHEM-Befehls erfolgen kann. Anschließend ist es natürlich genauso einfach eine neuere Version zu bekommen.

Also, ich gehe davon aus, dass es Anfang der nächsten Woche soweit sein könnte, wenn nichts gravierendes mehr im Test auftaucht.

Grüße Reinerlein
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 11 September 2013, 15:23:44
Hallo zusammen,

ich muss hier noch ein bißchen verlängern. Ich habe beim Testen in meinem Produktivsystem noch ein paar kleine Phänomene entdeckt, die ich erst untersuchen muss.
Es bringt ja nix, wenn ihr das auch mühsam ausprobiert...

Es wird aber...

Grüße Reiner
Titel: Aw: Sonos steuern
Beitrag von: Reinerlein am 15 September 2013, 15:07:51
Hallo zusammen,

es ist soweit. Ich habe das Produkt nun in meinem System einige Zeit stabil am Laufen. Ich würde sagen, es ist soweit, dass ihr mit an dem Stand teilhaben solltet.

Ich habe den Wiki-Entrag dazu bereits angepasst.
Hier nur in Kürze etwas dazu:
update thirdparty http://fhem.lmsoft.de/sonos sonos eingeben. Damit wird alles aktualisiert und/oder installiert. Die Vorbedingungen bzgl. Perl-eigener Module müssen natürlich trotzdem erfüllt sein. Hier werden nur die Dateien geliefert, die in dem Fhem-Pfad abgelegt werden (und vorher von mir hier immer veröffentlicht wurden).
  • Grundlegende Änderungen:
    • Es sind einige Get-Kommandos rausgeflogen. Alle Kommandos, deren Werte auch geliefert werden (können) haben nun keinen Getter mehr, sondern können nur noch aus dem entsprechenden Reading ausgelesen werden.
    • Alle Get- und Set-Kommandos laufen jetzt asynchron. Das bedeutet, dass ein Aufruf sofort zurückkehrt, und das Ergebnis des Aufrufs nach der Beendigung dann in dem entsprechenden Result abgelesen werden kann.
    • Für die Kommandos gibt es eine Queue, damit die eigentlichen Aufrufe an den Player nicht kollidieren.
    • Die Alarminformationen sind nicht mehr als Hash im Reading abgelegt, sondern als String, der per "eval" wieder in einen "echten" Perl-Hash umgewandelt werden kann.
  • Neues:
    • Man kann nun Button-Events definieren. Damit kann man z.B. einen Play5 einigermaßen autark betreiben, ohne immer einen Controller zur Hand zu haben. Näheres dazu im Wiki
    • Man kann (wie bereits woanders mal geschrieben) Gruppen bilden, auflösen und den Gesamtzustand ermitteln und festlegen
    • Durch die neue Thread- und Prozessstruktur läuft das Speak auch wieder stabil
    • Dadurch, dass der UPnP-Teil in einem eigenen Prozess läuft, ist auch dessen Log-Ausgabe nicht mehr im Fhem-Kontext und kommt direkt auf dem Standard-Out raus. Im Normalfall hat man diesen Stdout in seinem Start-Skript auf eine Datei umgelenkt, sodass man auch zur Laufzeit dort reinschauen kann. Der Loglevel wird aus dem globalen Verbose-Tag mit übernommen
    [/list]
    Ich hoffe, dass der Stand soweit stabil ist, dass auch bei euch alles läuft.
    Also etwas Nachsicht, wenn noch das eine oder andere Auftritt. Bei mir (Fhem auf Windows, Fhem auf Rapsberry Pi, 2x Play5, 1x Connect, 1x Bridge) läuft es momentan stabil.

    Viel Spass beim Verwenden und Basteln...

    Grüße Reiner
  • Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 15 September 2013, 18:37:42
    Danke Reinerlein,
    Ich bin gerade die Umgebung am vorbereiten - es scheitert leider bei der SOAP::Lite Installation...
    Mal schauen ob ich das hinbekomme...

    Bei der von dir beschriebenen Hand Installation bleibt er auch hängen beim make Test


    Test Summary Report
    -------------------
    t/SOAP/Transport/HTTP/CGI.t                (Wstat: 512 Tests: 2 Failed: 2)
      Failed tests:  1-2
      Non-zero exit status: 2
    Files=33, Tests=854, 56 wallclock secs ( 4.08 usr  0.33 sys + 44.79 cusr  1.90 csys = 51.10 CPU)
    Result: FAIL
    Failed 1/33 test programs. 2/854 subtests failed.
    make: *** [test_dynamic] Error 255
    root@raspberrypi:~/soaplite/SOAP-Lite-0.715#



    Wenn ich es richtig verstehe steckt der Fehler irgendwo bei einem Ü


    01-core.t .................................. ok
    t/010-serializer.t ........................... ok
    t/012-cloneable.t ............................ ok
    t/013-array-deserialization.t ................ ok
    t/014_UNIVERSAL_use.t ........................ ok
    t/015_UNIVERSAL_can.t ........................ ok
    t/02-payload.t ............................... ok
    t/03-server.t ................................ ok
    t/04-attach.t ................................ skipped: Could not find MIME::Parser - is MIME::Tools installed? Aborting.
    t/05-customxml.t ............................. ok
    t/06-modules.t ............................... ok
    t/07-xmlrpc_payload.t ........................ ok
    t/08-schema.t ................................ ok
    t/096_characters.t ........................... skipped: (no reason given)
    t/097_kwalitee.t ............................. skipped: (no reason given)
    t/098_pod.t .................................. skipped: (no reason given)
    t/099_pod_coverage.t ......................... skipped: (no reason given)
    t/SOAP/Data.t ................................ ok
    t/SOAP/Lite/Deserializer/XMLSchema1999.t ..... ok
    t/SOAP/Lite/Deserializer/XMLSchema2001.t ..... ok
    t/SOAP/Lite/Deserializer/XMLSchemaSOAP1_1.t .. ok
    t/SOAP/Lite/Deserializer/XMLSchemaSOAP1_2.t .. ok
    t/SOAP/Lite/Packager.t ....................... ok
    t/SOAP/Schema/WSDL.t ......................... ok
    t/SOAP/Serializer.t .......................... ok
    t/SOAP/Transport/HTTP.t ...................... ok
    t/SOAP/Transport/HTTP/CGI.t .................. 1/?
    #   Failed test 'return utf8 string'
    #   at t/SOAP/Transport/HTTP/CGI.t line 57.

    #   Failed test 'utf8 content: Ã�berall'
    #   at t/SOAP/Transport/HTTP/CGI.t line 59.
    #          got: 'Ã�berall'
    #     expected: 'Überall'
    # Looks like you failed 2 tests of 2.
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 15 September 2013, 19:34:30
    Hi Der-Lolo,

    versuch doch mal die andere Installationsvariante mittelssudo apt-get install libsoap-lite-perlIch hatte da manchmal auch so meine Probleme, weswegen ich diese Variante auch beschrieben hatte...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 15 September 2013, 20:09:36
    Interessant, das apt-get wählt ein Paket

    libsoap-lite-perl (0.714-1)

    Weil ich nicht viel weiter wusste bin ich in das Soaplite 0.715 Verzeichnis und habe dort das make Test abgesetzt...

    Test Summary Report
    -------------------
    t/SOAP/Transport/HTTP/CGI.t                (Wstat: 1024 Tests: 0 Failed: 0)
      Non-zero exit status: 4
      Parse errors: No plan found in TAP output
    Files=33, Tests=868, 67 wallclock secs ( 4.13 usr  0.38 sys + 54.12 cusr  2.35 csys = 60.98 CPU)
    Result: FAIL
    Failed 1/33 test programs. 0/868 subtests failed.
    make: *** [test_dynamic] Error 255


    Es funktioniert zwar immer noch nicht, aber es sieht besser aus als vorher...
    Titel: Aw: Sonos steuern
    Beitrag von: det. am 15 September 2013, 20:19:03
    Sorry Reinerlein,

    bisher ging es (mit den Versionen bis heute)- jetzt nach dem Update kommt:ERROR:

    Cannot load module SONOS
    2013.09.15 20:14:18 0: Can't locate UPnP/ControlPoint.pm in @INC (@INC contains: /usr/bin/lib /usr/bin/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /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 . /usr/share/fhem/FHEM) at /usr/share/fhem/FHEM/00_SONOS.pm line 168, <$fh> line 63.
    BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 168, <$fh> line 63.
    Titel: Aw: Sonos steuern
    Beitrag von: FHEM-Freak am 15 September 2013, 20:32:27
    Danke Reinerlein,

    Update hat super geklappt.
    Danach noch "define Sonos SONOS localhost:4711 30" und es läuft.

    Was mir aufgefallen ist das es beim drücken von PLAY und STOP zu langen zeitverzögerungen kommt bis der Play3 das macht was man will, dauert bis zu einer Minute.
    Werd ich mir aber noch genauer anschauen.

    Sieht im log so aus.
    SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->Play() auszuführen.
    SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->Play() um eine weitere Sekunde.


    Zum abstürzen hab ich es nicht gebracht.
    Speichern von fhem.cfg mit Save fhem.cfg funktioniert auch wieder.
    Titel: Aw: Sonos steuern
    Beitrag von: m.zielinski am 15 September 2013, 21:00:04
    Bei mir kam es auch zu langen verzögerungen bei Steuerbefehlen - nach kurzer Zeit so 15-20 Sekunden.

    Ausserdem schien mir der Webserver dadurch auch deutlich langsamer zu reagieren bei z.b. Licht an/aus so dass ich Sonos erstmal wieder deaktiviert habe.

    Bei einem restart ("shutdown restart") hat sich auch komplett fhem weggehängt, als es versuchte den UPNP-Prozess zu stoppen. Nach 2 Minuten habe ich dann manuell den Raspberry-Pi rebooted.

    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 15 September 2013, 23:16:14
    Hallo zusammen,

    OK, das sieht viel aus :-)
    @Der-Lolo: Ich bin mir nicht sicher, ob ich jemals den Test des Moduls ausgeführt habe. Ich habe es nur installiert und dann verwendet. Meldet denn Perl noch dieses Modul als fehlend?

    @Det: Hmm. die Sache mit den Pfaden für die Libraries hat mich hier auch schon zur Verzweiflung gebracht. Dadurch dass ein Teil des Moduls "ausserhalb" von Fhem ausgeführt wird, kann ich nicht direkt auf die Konfigurationen von Fhem zurückgreifen. Da ich auch eigentlich nur die Pfadangabe benötige, habe ich das auf anderem Wege ermittelt. Das scheint nicht immer sauber zu gehen.
    Kannst du mir mal die Ausgabe der Konsole zusenden, wenn du folgendes im Fhem-Modulverzeichnis ausführst?
    perl 00_SONOS.pm 4712 4
    Damit kann man diesen UPnP-Lauscher auch selber starten. Mich würde interessieren, ob der auch die Module vermisst...

    @FHEM-Freak: Das mit der langen Zeitverzögerung ist nicht normal. Wenn man nicht gerade mehrere Befehle auf einmal absetzt, sollte die Anweisung direkt ausgeführt werden. Die Log-Ausgabe von dir deutet darauf hin, dass noch ein alter Befehl auf Beendigung wartet. Was hast du denn direkt davor ausgeführt? Es kann natürlich sein, dass es immer noch den einen oder anderen Befehl gibt, der keine saubere Rück-/Beendigungsmeldung liefert, und deshalb immer als nicht abgeschlossen gilt.
    Auch hier würde ich gerne die Konsolenausgabe des UPnP-Prozesses sehen (das was auf Stdout rauskommt, nicht das, was im Fhem-Log landet). Da wird mitgeschrieben, welche Anweisungen gerade ausgeführt werden sollen, und ob dabei irgendwo ein Fehler aufgetreten ist.

    @m.zielinski: Eigentlich sollte Fhem nicht mehr blockiert werden. Aus Sicht von Fhem ist das ganze ein normales Tcp-Device (wie z.B. der HMLAN-Adapter auch). Es wird auf eingehende Nachrichten reagiert, und ansonsten darf der UPnP-Prozess sich blockieren, wie er möchte, Fhem sollte davon unbeeindruckt bleiben.
    Kannst du mir bitte auch die Konsolenausgabe zukommen lassen?

    Allgemein gilt, dass das Modul am Anfang etwas Last verursacht, da viele Informationen geliefert und an Fhem übertragen werden müssen. Wenn sich die ganzen Komponenten dann aber fertig gemeldet haben, sollte dort Ruhe einkehren. Bei mir ist das so nach ca. 20-50 Sekunden nach dem Fhem-Start (auf dem Pi, auf meinem Windows-System, welches mehr Leistung hat, ist das natürlich schneller).
    Des Weiteren läuft Fhem bei mir als Root, da ich diverse Dinge (auch ausserhalb von Sonos) z.B. per Ping anspreche. Ich muss mal schauen, ob ich das als nicht-root mal getestet bekomme, und vielleicht einen Teil der Probleme nachgestellt bekomme.

    Sorry für diese Probleme, aber man kann halt Testen wie man will, es ist immer die eigene Umgebung, die dann funktioniert. Bei anderen findet man dann ganz andere Rahmenbedingungen vor...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: FHEM-Freak am 16 September 2013, 20:22:07
    Zitat von: Reinerlein schrieb am So, 15 September 2013 23:16Auch hier würde ich gerne die Konsolenausgabe des UPnP-Prozesses sehen (das was auf Stdout rauskommt, nicht das, was im Fhem-Log landet). Da wird mitgeschrieben, welche Anweisungen gerade ausgeführt werden sollen, und ob dabei irgendwo ein Fehler aufgetreten ist.
    Da musst mir bitte etwas weiterhelfen, habe bezüglich Stdout nichts gefunden.
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 16 September 2013, 20:40:37
    Hallo Fhem-Freak,

    ich weiss jetzt nicht, wie du dein Fhem startest. Bei mir steht im Startskript hinter dem eigentlichen Perl-Aufruf ein "> /var/log/fhem" damit wird die normale Ausgabe (unter Textorientierten Systemen stdout, also Standard-Out, genannt) in eine Datei umgeleitet, damit man da  später noch rankommt.

    Hier mal der Schnipsel aus meinem Startskript:/etc/fhem/fhem/fhem.pl /etc/fhem/config/fhem.cfg > /var/log/fhem 2> /var/log/fhem &

    Du könntest Fhem aber auch zum Testen ohne dein Startskript, also direkt auf der Konsole starten.
    Dazu in das Verzeichnis wechseln, in dem die fhem.pl-Datei liegt, sicherstellen, das Fhem nicht gerade läuft, und folgendes eingeben:perl fhem.pl fhem.cfgDann ist das, was du auf der Konsole durchrauschen siehst, die Standardausgabe, und das was ich sehen möchte :-)
    Es sollte dort mit folgender Zeile losgehen, kann aber etwas dauern, weil Fhem erst bei der "define Sonos"-Zeile ankommen, und den Prozess erst starten muss:00_SONOS.pm is listening to Port 4711

    Kommst du damit weiter?

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: FHEM-Freak am 17 September 2013, 09:04:40
    Hallo Reiner,

    Danke für die Info.
    Bei mir starten Fhem auch mit dem Startscript automatisch beim hochfahren.

    Bei abstürzen verwende ich Putty und den von dir genannten Aufruf.
    perl fhem.pl fhem.cfg

    Habe auch schon gesehen das dort Infos ausgegeben werden, nur wusste ich nicht das du die Angezeigten protokolle meinst.
    Ich werde sie Posten wenn ich zuhause bin.

    Gruss Kurt
    Titel: Aw: Sonos steuern
    Beitrag von: det. am 17 September 2013, 11:59:13
    Hallo Reiner,

    sorry, etwas wenig Zeit - hab die Zeile eingetippt - Ergebnispi@rpi3 /usr/share/fhem/FHEM $ perl 00_SONOS.pm 4712 4
    2013.09.17 11:56:55 1: SONOS0: 00_SONOS.pm is listening to Port 4712
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 17 September 2013, 13:39:31
    Hi Detlev,

    das bedeutet, dass die UPnP-Library im Prinzip gefunden wird. Nur der Teil Fhem-Modul hat damit noch ein Problem...
    Das war bislang immer der problemfreie Teil, da ich dort direkt auf die Fhem-Konfiguration selbst zurückgreife.

    Hmm, hast du irgendwas besonderes an deiner Fhem-Installation?
    Wie sieht denn deine normale Fhem-Startzeile aus? Du verwendest ja vermutlich ein Startskript, kannst du mal die Zeile posten, die Fhem startet?

    Grüße, Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: det. am 17 September 2013, 20:37:52
    Hallo Reiner,

    hab z.Z. real Life Sachen um die Ohren ( angenehme ), so dass ich nicht richtig zum Testen komme. Am Start script habe ich nichts gemacht, das ist das übliche aus dem Busware RPI image. Sonst habe ich nichts Spezielles auf dem RPI, wenn ich Zeit habe probiere ich es noch auf einem 2ten - am Wochenende. Auf beiden war bisher das SONOS Modul vor dem letzten update und ging prima.
    Titel: Aw: Sonos steuern
    Beitrag von: FHEM-Freak am 17 September 2013, 21:17:44
    Hallo Reiner

    Hoffe das ist der gewünschte Log
    2013.09.17 20:41:34 1: SONOS0: FHEM/00_SONOS.pm is li                                          stening to Port 4711
    2013.09.17 20:41:37 1: SONOS0: Connection accepted from localhost:57346
    2013.09.17 20:41:38 3: SONOS0: Received: 'SetData:Sonos:RINCON_000E58E3266201400                                          _MR,RINCON_000E58F0A13A01400_MR'
    2013.09.17 20:41:38 3: SONOS0: Received: 'StartThread'
    2013.09.17 20:41:39 3: SONOS1: I am the new UPnP-Thread. Nice to meet you...
    2013.09.17 20:41:41 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und                                           pruefe dann alle 30 Sekunden...
    2013.09.17 20:41:42 1: SONOS3: Restorethread gestartet. Warte auf Arbeit...
    2013.09.17 20:41:42 2: SONOS1: Discover SonosPlayer 'Wohnzimmer' (S3) Software R                                          evision 4.1 with ID 'RINCON_000E58F0A13A01400_MR'
    2013.09.17 20:41:49 2: SONOS1: SonosPlayer 'Wohnzimmer' (S3) Software Revision 4                                          .1 with ID 'RINCON_000E58F0A13A01400_MR' is already defined and will only be upd                                          ated
    2013.09.17 20:41:49 2: SONOS1: SonosPlayer 'Wohnzimmer' is now updated
    2013.09.17 20:41:49 2: SONOS1: Service-subscribing successful with SID="uuid:RIN                                          CON_000E58F0A13A01400_sub0000003006" and Timeout="86400s"
    2013.09.17 20:41:49 2: SONOS1: Rendering-Service-subscribing successful with SID                                          ="uuid:RINCON_000E58F0A13A01400_sub0000003007" and Timeout="86400s"
    2013.09.17 20:41:49 2: SONOS1: Alarm-Service-subscribing successful with SID="uu                                          id:RINCON_000E58F0A13A01400_sub0000003008" and Timeout="86400s"
    2013.09.17 20:41:49 2: SONOS1: ZoneGroupTopology-Service-subscribing successful                                           with SID="uuid:RINCON_000E58F0A13A01400_sub0000003009" and Timeout="86400s"
    2013.09.17 20:41:50 3: SONOS1: Discover: End of discover-event
    2013.09.17 20:41:50 2: SONOS1: Discover SonosPlayer 'Sonos-BRIDGE' (ZB100) Softw                                          are Revision 4.1 with ID 'RINCON_000E58E3266201400_MR'
    2013.09.17 20:41:50 2: SONOS1: SonosPlayer 'Sonos_BRIDGE' (ZB100) Software Revis                                          ion 4.1 with ID 'RINCON_000E58E3266201400_MR' is already defined and will only b                                          e updated
    2013.09.17 20:41:50 2: SONOS1: SonosPlayer 'Sonos_BRIDGE' is now updated
    2013.09.17 20:41:50 1: SONOS1: Service-subscribing not possible due to missing T                                          ransportService
    2013.09.17 20:41:50 2: SONOS1: ZoneGroupTopology-Service-subscribing successful                                           with SID="uuid:RINCON_000E58E3266201400_sub0000000022" and Timeout="86400s"
    2013.09.17 20:41:50 3: SONOS1: Discover: End of discover-event
    2013.09.17 20:41:50 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_W                                          ohnzimmer".
    2013.09.17 20:41:51 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Woh                                          nzimmer".
    2013.09.17 20:41:51 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone                                           "Sonos_Sonos_BRIDGE".
    2013.09.17 20:41:52 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "S                                          onos_Sonos_BRIDGE".
    2013.09.17 20:41:52 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnz                                          immer".
    2013.09.17 20:41:52 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnzim                                          mer".
    2013.09.17 20:41:52 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone                                           "Sonos_Wohnzimmer".
    2013.09.17 20:41:53 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "S                                          onos_Wohnzimmer".
    2013.09.17 20:41:53 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_W                                          ohnzimmer".
    2013.09.17 20:41:54 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Woh                                          nzimmer".
    Thread 2 terminated abnormally: icmp ping requires root privilege at FHEM/00_SON                                          OS.pm line 2625 thread 2
    Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 7.
    Subroutine DebianMail redefined at ./FHEM/99_myUtils.pm line 13.
    Subroutine SetTempList_Heizung_Aus redefined at ./FHEM/99_myUtils.pm line 37.
    Subroutine SetTempList_Heizung_Ein redefined at ./FHEM/99_myUtils.pm line 50.
    2013.09.17 20:45:46 2: SONOS1: Discover SonosPlayer 'Wohnzimmer' (S3) Software R                                          evision 4.1 with ID 'RINCON_000E58F0A13A01400_MR'
    2013.09.17 20:45:51 2: SONOS1: SonosPlayer 'Wohnzimmer' (S3) Software Revision 4                                          .1 with ID 'RINCON_000E58F0A13A01400_MR' is already defined and will only be upd                                          ated
    2013.09.17 20:45:51 2: SONOS1: SonosPlayer 'Wohnzimmer' is now updated
    2013.09.17 20:45:51 2: SONOS1: Service-subscribing successful with SID="uuid:RIN                                          CON_000E58F0A13A01400_sub0000003013" and Timeout="86400s"
    2013.09.17 20:45:51 2: SONOS1: Rendering-Service-subscribing successful with SID                                          ="uuid:RINCON_000E58F0A13A01400_sub0000003014" and Timeout="86400s"
    2013.09.17 20:45:51 2: SONOS1: Alarm-Service-subscribing successful with SID="uu                                          id:RINCON_000E58F0A13A01400_sub0000003015" and Timeout="86400s"
    2013.09.17 20:45:51 2: SONOS1: ZoneGroupTopology-Service-subscribing successful                                           with SID="uuid:RINCON_000E58F0A13A01400_sub0000003016" and Timeout="86400s"
    2013.09.17 20:45:51 3: SONOS1: Discover: End of discover-event
    2013.09.17 20:45:51 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_W                                          ohnzimmer".
    2013.09.17 20:45:51 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Woh                                          nzimmer".
    2013.09.17 20:45:52 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnz                                          immer".
    2013.09.17 20:45:52 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnzim                                          mer".
    2013.09.17 20:45:52 2: SONOS1: Discover SonosPlayer 'Wohnzimmer' (S3) Software R                                          evision 4.1 with ID 'RINCON_000E58F0A13A01400_MR'
    2013.09.17 20:45:58 2: SONOS1: SonosPlayer 'Wohnzimmer' (S3) Software Revision 4                                          .1 with ID 'RINCON_000E58F0A13A01400_MR' is already defined and will only be upd                                          ated
    2013.09.17 20:45:58 2: SONOS1: SonosPlayer 'Wohnzimmer' is now updated
    2013.09.17 20:45:58 2: SONOS1: Service-subscribing successful with SID="uuid:RIN                                          CON_000E58F0A13A01400_sub0000003017" and Timeout="86400s"
    2013.09.17 20:45:58 2: SONOS1: Rendering-Service-subscribing successful with SID                                          ="uuid:RINCON_000E58F0A13A01400_sub0000003018" and Timeout="86400s"
    2013.09.17 20:45:58 2: SONOS1: Alarm-Service-subscribing successful with SID="uu                                          id:RINCON_000E58F0A13A01400_sub0000003019" and Timeout="86400s"
    2013.09.17 20:45:59 2: SONOS1: ZoneGroupTopology-Service-subscribing successful                                           with SID="uuid:RINCON_000E58F0A13A01400_sub0000003020" and Timeout="86400s"
    2013.09.17 20:45:59 3: SONOS1: Discover: End of discover-event
    2013.09.17 20:45:59 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone                                           "Sonos_Wohnzimmer".
    2013.09.17 20:45:59 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "S                                          onos_Wohnzimmer".
    2013.09.17 20:45:59 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_W                                          ohnzimmer".
    2013.09.17 20:45:59 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Woh                                          nzimmer".
    2013.09.17 20:45:59 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_W                                          ohnzimmer".
    2013.09.17 20:45:59 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Woh                                          nzimmer".
    2013.09.17 20:45:59 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnz                                          immer".
    2013.09.17 20:45:59 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnzim                                          mer".
    2013.09.17 20:45:59 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone                                           "Sonos_Wohnzimmer".
    2013.09.17 20:45:59 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "S                                          onos_Wohnzimmer".
    2013.09.17 20:45:59 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_W                                          ohnzimmer".
    2013.09.17 20:45:59 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Woh                                          nzimmer".


    Bin bis Freitag beruflich unterwegs also keine Eile.

    Gruss Kurt
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 17 September 2013, 22:41:18
    Hallo zusammen,

    @Detlev: ich werde demnächst mal ein paar zusätzliche Log-Ausgaben bzgl. der Library-Pfade, die verwendet werden, machen. Dann sehen wir vielleicht auch mehr, woran es dort mangelt.

    @Kurt: Dein Problem scheint erstmal einfach zu lösen zu sein :-) In dem Wust gibt es eine Meldung, dass für das Ausführen von "ping" mittels "icmp" root Rechte erforderlich sind. Da gibt es jetzt zwei Möglichkeiten:
    1. Fhem unter dem Benutzer root laufen lassen (geht durch umbenennen/löschen des Benutzers "fhem")
    2. Dem Modul sagen, dass er eine andere Methode als "icmp" verwenden soll. Das geht durch Setzen des Attributs "pingType" am Sonos-Device. Mögliche Werte sind dort "tcp", "icmp", "syn" und "udp". Die verschiedenen Verfahren haben alle ihre Vor- und Nachteile, sodass man dort keine eindeutige Empfehlung aussprechen kann, ausser, dass bei mir "icmp" sehr stabil läuft, und mit "syn" ein Player immer noch als Lebend erkannt wird, wenn er schon längst weg ist. "tcp" ist, glaube ich, für die Sonos-Geräte eigentlich keine gute Wahl, da das etwas Last auf dem Ziel (also dem Player) verursacht.
    Probier das einfach mal aus.
    Ansonsten sieht es dort doch eigentlich ganz gut aus...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: det. am 18 September 2013, 19:18:37
    Hallo Reiner,
    auf einem 2ten RPI das identische Fehlerbild. Mach Dir aber bitte keinen Stress, das Modul ist nur nice to have
    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 21 September 2013, 17:33:14
    Hallo Reinerlein,
    Ich habe nun das Sonos Modul installiert und Sonos definiert...
    Sieht soweit ganz gut aus, es hat problemlos meinen Play3, das Dock und den zp90 erkannt...

    Mein Play3 läuft im Bad über eine Philips living Whites die auf Tastendruck 20min anschaltet...

    Ich würde nun gerne sobald der Play3 sich meldet schauen ob im Wohnzimmer der Zp90 eine Wiedergabe hat,
    Falls ja soll der play3 sich mit dem Wohnzimmer gruppieren - falls nicht soll er Star FM abspielen...

    Wie kann ich so etwas realisieren?
    Titel: Aw: Sonos steuern
    Beitrag von: FHEM-Freak am 22 September 2013, 13:06:32
    Zitat von: Reinerlein schrieb am Di, 17 September 2013 22:411. Fhem unter dem Benutzer root laufen lassen (geht durch umbenennen/löschen des Benutzers "fhem")
    Ansonsten sieht es dort doch eigentlich ganz gut aus...
    Hallo Reiner,

    Komplettes Fhem System neu auf den Pi installiert mit root Rechte.
    Sonos läuft perfekt.
    Keine verzögerungen und keine abstürze mehr.
    Danke für deine Hilfe.

    Gruß Kurt
    Titel: Aw: Sonos steuern
    Beitrag von: CQuadrat am 22 September 2013, 19:08:30
    Hallo Reiner,

    also bei mir läuft das Ganze noch nicht so rund.

    Ich hatte vor dem aktuellen "Release" massive Probleme mit der Stabilität: z.B. hing sich das System auf, wenn ich die Konfigurationsdateien per <rereadcfg> neu einlesen wollte.

    Leider habe ich dieses Verhalten aktuell auch noch. So führt ein Stop von fhem per Konsole zu einem Hänger:

    2013.09.22 15:07:22 3: SONOS0: Received: 'disconnect'
    2013.09.22 15:07:22 3: SONOS0: Disconnecting client and/or shutdown server...
    2013.09.22 15:07:22 3: SONOS1: ControlPoint is successfully stopped!
    2013.09.22 15:07:22 3: SONOS1: Thread has stopped all ControlPoint-Actions.
    2013.09.22 15:07:22 1: SONOS3: PlayerRestore-Thread has ended.
    2013.09.22 15:07:23 3: SONOS1: UPnP Controlpoint gives up his endless loop...
    2013.09.22 15:07:23 1: SONOS0: Connection accepted from localhost:39547
    2013.09.22 15:07:23 1: SONOS0: Connection accepted from localhost:39548
    2013.09.22 15:07:23 3: SONOS0: Received: 'disconnect'
    2013.09.22 15:07:23 3: SONOS0: Disconnecting client and/or shutdown server...
    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 4225, <$client> line 1.


    Viele Grüße

    Christoph
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 23 September 2013, 00:10:16
    Hallo Christoph,

    ich konnte das Problem bei mir nachstellen. Mein Test bzgl. 'rereadcfg' liegt wohl schon etwas zurück :-) Auf jeden Fall wurde an der Stelle eine, irgendwann dazugekommene, Sache unberücksichtigt gelassen.
    Das habe ich nun geradegezogen.

    Leider ist mir selber noch ein anderes Phänomen aufgefallen, weswegen ich noch nicht das Updatesystem aktualisiert habe:
    Wenn ein Befehl an einen Player gesendet werden soll, während gerade eine Aktualisierungsnachricht eines Players ankommt (und verarbeitet wird), dann bleibt der Thread hängen.
    Das beeinflusst Fhem an dieser Stelle noch nicht direkt, da aus Sicht von Fhem alles Ordnungsgemäß verschickt wurde, aber der Sonos-Teil läuft dann natürlich nicht mehr...
    Da bin ich aber gerade dran.

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 23 September 2013, 00:27:50
    Hallo Der-Lolo,

    hier mal eine kurze Beschreibung, wie es gehen könnte:define Sonos_Bad_Appeared_Notify notify Sonos_Bad:presence:.appeared { \
      if (ReadingsVal('Sonos_Wohnzimmer', 'transportState', '') eq 'PLAYING') { \
        fhem 'set Sonos_Wohnzimmer AddMember Sonos_Bad' \
      } else { \
        fhem 'set Sonos_Bad LoadRadio Star%20FM' ;; \
        fhem 'set Sonos_Bad Play' \
      } \
    }
    Natürlich musst du u.U. die Namen anpassen.
    Desweiteren bin ich mir gerade, wegen des von mir im letzten Post erwähnten Fehler, nicht sicher, ob es wirklich funktionieren wird. Der Player sendet nach dem Laden des Radiosenders sofort eine Aktualisierung aus. Die dann direkt mal mit dem Play-Befehl konflikten könnte. Bei etwas ähnlichem ist es mir nämlich aufgefallen. Ich habe, angelehnt an mein Beispiel im Wiki, eine Tastensteuerung für meinen Play5 gebaut, die den Player startet, und dann einen Sleeptimer setzt. Dabei passiert mein beschriebenes Problem manchmal...
    Vielleicht geht was mit einem Sleep-Befehl, habe ich aber noch nicht getestet...

    Ich habe auf der Wiki-Seite zu dem Modul auch ein paar Beispiele abgelegt. Da kannst du ja auch mal nach Ideen stöbern...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 23 September 2013, 19:16:36
    Hallo zusammen,

    ich habe nun einige kleinere Bugfixings drin, und die Version aktualisiert.
    Installation, wie gehabt, über den Update-Mechanismus:update thirdparty http://fhem.lmsoft.de/sonos sonos
    Folgendes ist drin:
    - 'rereadcfg'-Problematik wurde korrigiert
    - Diverse Hängermöglichkeiten wurden beseitigt. Unter anderem das von mir entdeckte Problem bzgl. Verarbeitung von Playernachrichten, während ein Befehl gesendet werden soll.
    - Debug-Ausgabe der Grundpfade für die Fehlersuche bei Detlev

    Bitte ausgiebig testen.

    Danke, Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: det. am 23 September 2013, 21:49:09
    Hallo Reiner,

    gleich angetestet und nicht weit gekommen - in putty - keinerlei Ausgaben, im LOG File mit verbose 5:
    2013.09.23 21:44:06 5: Loading /usr/share/fhem/FHEM/00_SONOS.pm
    2013.09.23 21:44:06 1: reload: Error:Modul 00_SONOS deactivated:
     Can't locate UPnP/ControlPoint.pm in @INC (@INC contains: /usr/bin/lib /usr/bin/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /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 . /usr/share/fhem/FHEM) at /usr/share/fhem/FHEM/00_SONOS.pm line 180, <$fh> line 79.
    BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 180, <$fh> line 79.

    2013.09.23 21:44:06 0: Can't locate UPnP/ControlPoint.pm in @INC (@INC contains: /usr/bin/lib /usr/bin/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /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 . /usr/share/fhem/FHEM) at /usr/share/fhem/FHEM/00_SONOS.pm line 180, <$fh> line 79.
    BEGIN failed--compilation aborted at /usr/share/fhem/FHEM/00_SONOS.pm line 180, <$fh> line 79.


    in putty eingegeben: perl 00_SONOS.pm 4712 4
    pi@rpi2 /usr/share/fhem/FHEM $ perl 00_SONOS.pm 4712 4
    Current: "00_SONOS.pm", gPath: ""
    2013.09.23 21:56:36 1: SONOS0: 00_SONOS.pm is listening to Port 4712
    Titel: Aw: Sonos steuern
    Beitrag von: snoop am 23 September 2013, 23:41:32
    Hallo Reiner,

    auch von mir kurzes Feedback zum rereadcfg.

    Bei mir erscheint die folgende Meldung:

    2013.09.23 23:33:49 3: SONOS0: Disconnecting client...
    2013.09.23 23:33:49 3: SONOS0: Trying to kill Sonos_Thread...
    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 4243, <$client> line 1.

    Sonos Version: aktuell

    Viele Grüße
    Arthur
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 24 September 2013, 00:34:17
    Hallo zusammen,

    das ist aber auch verzwickt...

    @Detlev: Kannst du mir sagen, mit was dein globales Attribut 'modpath' gefüllt ist? Ich finde es komisch, dass die Standalone-Variante funktioniert, und das eigentliche Fhem-Modul nicht... Ausserdem muss auch beim Laden des Fhem-Moduls eine Ausgabe auf der Konsole rauskommen. Bei einem funktionierenden Modulstart erhält man dort immer zwei Zeilen. Bei mir z.B.:Current: "/etc/fhem/fhem/fhem.pl", gPath: "/etc/fhem/fhem/FHEM"
    Current: "/etc/fhem/fhem/FHEM/00_SONOS.pm", gPath: ""
    2013.09.24 00:29:38 1: SONOS0: /etc/fhem/fhem/FHEM/00_SONOS.pm is listening to Port 4711
    .
    .
    .
    Die erste Zeile beim Modulstart, und die zweite Zeile als eigener Prozess...

    @Arthur: Ich habe das Paket nochmal aktualisiert und habe noch eine weitere Überprüfung eingebaut. Obwohl es mich doch sehr wundert, das der Thread weg sein soll, und immer noch als vorhanden geführt wird... sehr Mysteriös... Das ist jetzt erstmal eine Symptombehebung. Vielleicht reicht das aber ja auch schon...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: det. am 24 September 2013, 07:27:57
    Hallo Reiner,
    frühe Antwort auf Deine Frage - das:attr global modpath /usr/share/fhem
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 24 September 2013, 09:29:38
    Hi Detlev,

    das ist echt komisch. Kannst du mir mal dein komplettes Startskript zusenden?
    Die Applikation startet nicht unter dem Namen 'fhem.pl' und wird offiziell aus dem Pfad '/usr/bin' gestartet. Das aber wiederum deckt sich nicht mit der Angabe deines Attributs 'modpath'.

    Leider kenne ich dieses Image, welches du installiert hast, nicht. Deswegen müssen wir hier etwas stochern...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: snoop am 24 September 2013, 19:00:43
    Hallo Reiner,

    super - danke!!! Daumen hoch! Jetzt geht's - heißt der Test war erfolgreich.

    Bin schon auf den Test der Gruppierungsfunktion gespannt (habe das eine oder andere vor)...

    Viele Grüße
    Arthur
    Titel: Aw: Sonos steuern
    Beitrag von: CQuadrat am 25 September 2013, 08:07:33
    Hallo Reiner,

    dem Kompliment muss ich mich auch anschließen: Super Arbeit!


    Probleme habe ich derzeit nur noch damit, dass Fhem nicht mitbekommt, wenn sich ein Sonos-Gerät an- bzw. abmeldet (habe alle pingtypes ausprobiert). Das PRESENCE-Reading bleibt unverändert. Gibt es da einen Tip, wie man hier das Problem anhand von Logs einkreisen könnte?


    Viele Grüße

    Christoph
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 25 September 2013, 11:56:11
    Hi Christoph,

    ab LogLevel 4 gibt der IsAlive-Checker aus, wie die Pingvorgänge ausgeführt werden. Ab LogLevel 3 sieht man, wenn der Checker einen Player als nicht mehr vorhanden erkennt. Und ab Level 5 zeigt er auch jedes mal an, welches Verfahren er verwendet.

    Um Fehlerkennungen zu vermeiden, gibt es einen sogenannten Grace-Mode, das bedeutet, dass ein Player nicht sofort als abwesend gemeldet wird, sondern er muss mehrmals hintereinander als solches erkannt werden. Ich hatte ab und zu mal das Problem, dass ein Ping mal verloren ging, und der Player plötzlich abwesend war. Da ein Anwesend aber nur über den Discover-Mechanismus erfolgt (und dieser ja nicht kommt. da der Player ja normal weiterlebt), blieb das Teil immer abwesend.
    Darum dieser Modus...

    Ich persönlich habe gute Erfahrungen mit 'icmp'. Das benötigt aber root-Rechte. Bei 'syn' habe ich das Problem, dass mein Switch die Informationen in seiner Tabelle zu lange speichert, und der Player noch ewig als 'an' erkannt wird.

    Leider ist das ein echt leidiges Thema. Der Player selbst meldet erst beim Wiedereinschalten, dass er weg ist, um kurz danach zu melden, dass er wieder da ist... Das ist natürlich nicht so praktisch, erkennt man aber auch sehr gut am Original-Controller. Dort wird der Player auch noch auf unbestimmte Zeit weitergeführt, und erst beim Einschalten kurz weggemacht und wieder erkannt...

    Vielleicht hilft dir die Untersuchung mittels der Logs... Du kannst sie bei unklarheiten auch gerne posten, dann schaue ich da mal rein...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 26 September 2013, 16:47:40
    Hallo Reinerlein,
    das von Dir vorgeschlagene

    define Sonos_Bad_Appeared_Notify notify Sonos_Bad:presence:.appeared {
      if (ReadingsVal('Sonos_Wohnzimmer', 'transportState', '') eq 'PLAYING') {
        fhem 'set Sonos_Wohnzimmer AddMember Sonos_Bad'
      } else {
        fhem 'set Sonos_Bad LoadRadio Star%20FM' ;;
        fhem 'set Sonos_Bad Play'
      }
    }

    ergibt folgende ausgabe wenn ich die Steckdose anschalte und etwa eine minute warte im Eventmonitor...


    2013-09-26 16:33:04 SONOS Sonos ZoneGroupState:
    2013-09-26 16:33:13 FHEMWEB FHEMWEB:192.168.178.5:49480 rereadicons
    2013-09-26 16:33:13 FHEMWEB FHEMWEB:192.168.178.5:49828 rereadicons
    2013-09-26 16:33:14 FHEMWEB WEB rereadicons
    2013-09-26 16:33:14 FHEMWEB WEBphone rereadicons
    2013-09-26 16:33:14 FHEMWEB WEBtablet rereadicons
    2013-09-26 16:33:15 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 16:33:12
    2013-09-26 16:33:15 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 16:33:15 SONOS Sonos ZoneGroupState:
    2013-09-26 16:33:15 SONOS Sonos ZoneGroupState:
    2013-09-26 16:33:16 FHEMWEB FHEMWEB:192.168.178.5:49480 rereadicons
    2013-09-26 16:33:16 FHEMWEB FHEMWEB:192.168.178.5:49828 rereadicons
    2013-09-26 16:33:17 FHEMWEB WEB rereadicons
    2013-09-26 16:33:17 FHEMWEB WEBphone rereadicons
    2013-09-26 16:33:17 FHEMWEB WEBtablet rereadicons
    2013-09-26 16:33:17 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 16:33:14
    2013-09-26 16:33:17 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 16:33:18 FHEMWEB FHEMWEB:192.168.178.5:49480 rereadicons
    2013-09-26 16:33:18 FHEMWEB FHEMWEB:192.168.178.5:49828 rereadicons
    2013-09-26 16:33:18 FHEMWEB WEB rereadicons
    2013-09-26 16:33:18 FHEMWEB WEBphone rereadicons
    2013-09-26 16:33:19 FHEMWEB WEBtablet rereadicons
    2013-09-26 16:33:19 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 16:33:16
    2013-09-26 16:33:19 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 16:33:19 SONOS Sonos ZoneGroupState:
    2013-09-26 16:33:19 SONOS Sonos ZoneGroupState:


    im Logfile ist gar nichts über Sonos zu sehen...
    Ich habe schon versucht das Sonos_Bad:presence:.appeared in ein
    Sonos_Bad LastSubscriptionsResult: Just subscribed zu ändern,
    aber auch das bringt leider nicht den gewünschten erfolg.

    Hast Du noch eine Idee?

    Insgesamt habe ich festgestellt das mein Netzwerk nicht mehr sooo stabil ist wie vor integration der Sonos Module.
    Ich habe allerdings noch nicht ganz verstanden wie ich die Methode, die teilnehmer zu erkennen, ändern kann.
    Kannst Du mir das vielleicht nochmal kurz erklären?

    Tausend Dank schonmal - tolle Arbeit die Du geleistet hast, ich verspreche mir viele kleine features von Sonos und Speak...

    btw. hat jemand ne ahnung wie ich ankommende anrufe der Fritzbox im FHEM welches auf einem Raspi läuft mit Aktionen belegen kann?
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 26 September 2013, 17:59:46
    Hallo Der-Lolo,

    da scheint dein Playerzustand vorher nicht auf "disappeared" gewechselt zu haben. Dieses "Event" erfolgt nur, wenn das Reading vorher ein anderes (als "appeared") war. Leider ist es oft so, das man UPnP-Discover-Events erhält, obwohl der Player bereits erkannt ist. In diesem Fall würde dieses Event immer wieder erzeugt werden, was zu unerwünschten Ergebnissen führen würde, deshalb diese Einschränkung...
    Ich habe aber noch eine Anpassung gemacht, dass der Mechanismus beim Wiederanschalten auch ein Zurücksetzen des Presence-Zustands bewirkt. Das bedeutet, dass auch wenn der IsAlive-Checker das nicht mitbekommen hat, beim Wiederanschalten erst ein Event "disappeared" und kurz danach ein Event "appeared" kommen sollte.

    Das ganze ist im Normalfall das Pärchen "disappeared" und "appeared", wenn der IsAlive-Checker aus irgendeinem Grund (noch) nicht die Abwesenheit festgestellt hat, kann normalerweise auch keine (wieder-)anwesenheit festgestellt werden. Das habe ich ja nun etwas erweitert. Vielleicht hilft das ja...

    Wenn du auf "Just Subscribed" triggern willst, musst du beachten, das Fhem in Notify-Definitionen keine Leerzeichen haben will. Du musst dafür also z.B. "Just.subscribed" schreiben. Du könntest vermutlich auch das Leerzeichen maskieren, da bin ich mir aber nicht sicher...

    Und was meinst damit, dass dein Netzwerk nicht mehr soo stabil läuft?
    Welches Netzwerk meinst du?
    Prinzipiell kannst du (oder auch ich) an der Erkennungsmethode der Player nix ändern. Das ist Grundlage des UPnP-Standards. Die Library, die ich verwende, ist aber natürlich nicht perfekt, sodass dort vielleicht der eine oder andere Bug versteckt sein könnte... Die Frage ist, ob ich den finden würde, und auch ändern könnte...
    Oder meintest du etwas anderes mit "Teilnehmer erkennen"?

    Zu den Anrufen: Im Wiki habe ich dazu exemplarische Beispiele, die dir als Grundlage vielleicht einen Einstieg verschaffen können. Man kann dann auch Durchsagen mit dem Namen (sofern im Telefonbuch bekannt) machen. Dabei ist aber zu beachten, dass der Google-Aufruf eine Latenz reinbringt, und der Anruf später gemeldet wird. Das bewegt sich aber im Sekundenbereich...

    Der Update-Server ist bereits aktualisiert :-)

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 26 September 2013, 18:38:40
    ich meine mein FHEM Netzwerk, fhem läuft auf einem Raspi, es gibt einen HM-Lan einen Max-Cube und die Phillips Bridge...

    Irgendwo beschreibst du das man das attribut pingtype anpassen könnte und experimentieren sollte um die beste performance zu erreichen.

    Erst hatte ich gerade ein bisschen Bange wegen dem updaten, es lief aber total problemlos, Danke Dir.

    Leider funktioniert das setzen des abspielens immer noch nicht..


    2013-09-26 18:29:41 SONOSPLAYER Sonos_Wohnzimmer currentSenderInfo: Stone Temple Pilots - Plush
    2013-09-26 18:29:41 SONOSPLAYER Sonos_Wohnzimmer infoSummarize1: Star FM Berlin: 'Rush Hour' - Stone Temple Pilots - Plush
    2013-09-26 18:29:41 SONOSPLAYER Sonos_Wohnzimmer infoSummarize2: PLAYING => Star FM Berlin: 'Rush Hour' - Stone Temple Pilots - Plush
    2013-09-26 18:29:41 SONOSPLAYER Sonos_Wohnzimmer PLAYING => Star FM Berlin: 'Rush Hour' - Stone Temple Pilots - Plush
    2013-09-26 18:30:02 HUEDevice HUEDevice9 bri: 254
    2013-09-26 18:30:02 HUEDevice HUEDevice9 onoff: 1
    2013-09-26 18:30:02 HUEDevice HUEDevice9 level: 100 %
    2013-09-26 18:30:02 HUEDevice HUEDevice9 pct: 100
    2013-09-26 18:30:02 HUEDevice HUEDevice9 on
    2013-09-26 18:30:02 HUEDevice HUEDevice9 RGB: 000000

    2013-09-26 18:30:42 SONOS Sonos ZoneGroupState:
    2013-09-26 18:30:46 PRESENCE Denon present
    2013-09-26 18:30:52 FHEMWEB FHEMWEB:192.168.178.4:52829 rereadicons
    2013-09-26 18:30:52 FHEMWEB FHEMWEB:192.168.178.4:52830 rereadicons
    2013-09-26 18:30:53 FHEMWEB FHEMWEB:192.168.178.4:52831 rereadicons
    2013-09-26 18:30:53 FHEMWEB FHEMWEB:192.168.178.4:52832 rereadicons
    2013-09-26 18:30:54 FHEMWEB FHEMWEB:192.168.178.4:52833 rereadicons
    2013-09-26 18:30:54 FHEMWEB FHEMWEB:192.168.178.4:52834 rereadicons
    2013-09-26 18:30:54 FHEMWEB FHEMWEB:192.168.178.5:50386 rereadicons
    2013-09-26 18:30:55 FHEMWEB FHEMWEB:192.168.178.5:50427 rereadicons
    2013-09-26 18:30:55 FHEMWEB WEB rereadicons
    2013-09-26 18:30:56 FHEMWEB WEBphone rereadicons
    2013-09-26 18:30:56 FHEMWEB WEBtablet rereadicons
    2013-09-26 18:30:57 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 18:30:51
    2013-09-26 18:30:57 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 18:30:57 SONOS Sonos ZoneGroupState:
    2013-09-26 18:30:57 SONOS Sonos ZoneGroupState:
    2013-09-26 18:30:57 FHEMWEB FHEMWEB:192.168.178.4:52829 rereadicons
    2013-09-26 18:30:57 FHEMWEB FHEMWEB:192.168.178.4:52830 rereadicons
    2013-09-26 18:30:58 FHEMWEB FHEMWEB:192.168.178.4:52831 rereadicons
    2013-09-26 18:30:58 FHEMWEB FHEMWEB:192.168.178.4:52832 rereadicons
    2013-09-26 18:30:58 FHEMWEB FHEMWEB:192.168.178.4:52833 rereadicons
    2013-09-26 18:30:58 FHEMWEB FHEMWEB:192.168.178.4:52834 rereadicons
    2013-09-26 18:30:58 FHEMWEB FHEMWEB:192.168.178.5:50386 rereadicons
    2013-09-26 18:30:59 FHEMWEB FHEMWEB:192.168.178.5:50427 rereadicons
    2013-09-26 18:30:59 FHEMWEB WEB rereadicons
    2013-09-26 18:30:59 FHEMWEB WEBphone rereadicons
    2013-09-26 18:30:59 FHEMWEB WEBtablet rereadicons
    2013-09-26 18:30:59 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 18:30:53
    2013-09-26 18:30:59 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 18:31:00 FHEMWEB FHEMWEB:192.168.178.4:52829 rereadicons
    2013-09-26 18:31:00 FHEMWEB FHEMWEB:192.168.178.4:52830 rereadicons
    2013-09-26 18:31:00 FHEMWEB FHEMWEB:192.168.178.4:52831 rereadicons
    2013-09-26 18:31:00 FHEMWEB FHEMWEB:192.168.178.4:52832 rereadicons
    2013-09-26 18:31:00 FHEMWEB FHEMWEB:192.168.178.4:52833 rereadicons
    2013-09-26 18:31:01 FHEMWEB FHEMWEB:192.168.178.4:52834 rereadicons
    2013-09-26 18:31:01 FHEMWEB FHEMWEB:192.168.178.5:50386 rereadicons
    2013-09-26 18:31:01 FHEMWEB FHEMWEB:192.168.178.5:50427 rereadicons
    2013-09-26 18:31:01 FHEMWEB WEB rereadicons
    2013-09-26 18:31:02 FHEMWEB WEBphone rereadicons
    2013-09-26 18:31:02 FHEMWEB WEBtablet rereadicons
    2013-09-26 18:31:02 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 18:30:55
    2013-09-26 18:31:02 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 18:31:02 SONOS Sonos ZoneGroupState:


    im logfile findet sich folgendes...

    2013.09.26 18:24:07 1: readingsUpdate(Sonos_Bad,presence,disappeared) missed to call readingsBeginUpdate first.
    2013.09.26 18:24:09 1: readingsUpdate(Sonos_Bad,presence,disappeared) missed to call readingsBeginUpdate first.
    2013.09.26 18:24:09 1: readingsUpdate(Sonos_Bad,presence,disappeared) missed to call readingsBeginUpdate first.
    2013.09.26 18:30:42 1: readingsUpdate(Sonos_Bad,presence,disappeared) missed to call readingsBeginUpdate first.
    2013.09.26 18:30:43 1: readingsUpdate(Sonos_Bad,presence,disappeared) missed to call readingsBeginUpdate first.
    2013.09.26 18:30:43 1: readingsUpdate(Sonos_Bad,presence,disappeared) missed to call readingsBeginUpdate first.
    2013.09.26 18:30:56 3: Sonos_Bad_Appeared_Notify return value: Unknown command LastSubscriptionsResult:, try help.
    2013.09.26 18:30:57 3: Sonos_Bad_Appeared_Notify return value: Unknown command LastSubscriptionsResult:, try help.
    2013.09.26 18:30:59 3: Sonos_Bad_Appeared_Notify return value: Unknown command LastSubscriptionsResult:, try help.
    2013.09.26 18:30:59 3: Sonos_Bad_Appeared_Notify return value: Unknown command LastSubscriptionsResult:, try help.
    2013.09.26 18:31:02 3: Sonos_Bad_Appeared_Notify return value: Unknown command LastSubscriptionsResult:, try help.
    2013.09.26 18:31:02 3: Sonos_Bad_Appeared_Notify return value: Unknown command LastSubscriptionsResult:, try help.

    das folgende kam dann als ich versuchte die Leerzeichen durch punkte zu ersetzen...

    zumindest spricht das Notify jetzt endlich an...

    Sonos_Bad_Appeared_Notify return value: syntax error at (eval 1079) line 1, near "\   if"
    syntax error at (eval 1079) line 1, near "'set Sonos_Bad Play' \"

    2013.09.26 18:45:15 3: Sonos_Bad_Appeared_Notify return value: syntax error at (eval 1087) line 1, near "\   if"
    syntax error at (eval 1087) line 1, near "'set Sonos_Bad Play' \"

    2013.09.26 18:45:16 3: Sonos_Bad_Appeared_Notify return value: syntax error at (eval 1095) line 1, near "\   if"
    syntax error at (eval 1095) line 1, near "'set Sonos_Bad Play' \"


    Ok, ich habe ein paar \ entfernt...

    2013.09.26 19:53:38 2: SONOS0: Error during MainTrigger: syntax error at (eval 329) line 1, near "understand you:"
     - Trying to execute 'Sorry. I don't understand you: 'A:RINCON_000E58F09A0E01400_MR:minVolume:0''
    2013.09.26 19:53:52 3: SONOSPLAYER0: Ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um 1s.
    2013.09.26 19:53:53 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:53:53 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:53:54 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:53:54 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:53:55 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:53:55 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:53:56 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:53:56 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:53:57 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:53:57 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:53:58 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:53:58 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:53:59 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:54:00 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:54:02 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:54:02 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:54:02 3: SONOSPLAYER0: Ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um 1s.
    2013.09.26 19:54:03 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:54:03 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:54:04 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:54:04 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:54:05 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:54:05 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:54:07 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:54:07 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:54:08 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:54:08 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.
    2013.09.26 19:54:09 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->AddMember(Sonos_Bad) auszuführen.
    2013.09.26 19:54:09 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->AddMember(Sonos_Bad) um eine weitere Sekunde.

    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 26 September 2013, 20:54:55
    Hallo Der-Lolo,

    sorry, da ist mir ein Tippfehler unterlaufen, und mein Test hat den nicht bemerkt.
    Ich habe das nochmal korrigiert. Damit sollte die Fehlermeldung mit dem 'missed to call readingsBeginUpdate first' erledigt sein...

    Vielleicht sind das andere nur Folgefehler, da ich mir die nicht so richtig erklären kann.

    Zu den Backslashs: Die sind notwendig, wenn du in der Fhem-Komfiguration z.B. einen Notify über mehrere Zeilen gehen lassen möchtest. Dabei muss der Backslash den Zeilenvorschub maskieren, also das letzte Zeichen in der Zeile sein (auch kein Leerzeichen dahinter).

    Probiers doch bitte nochmal...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 26 September 2013, 21:51:23
    es läuft leider immer noch nicht...

    aktuell bekome ich im Log folgendes:

    2013.09.26 21:47:08 2: SONOS0: Error during MainTrigger: syntax error at (eval 614) line 1, near "understand you:"
     - Trying to execute 'Sorry. I don't understand you: 'A:RINCON_000E58F09A0E01400_MR:buttonEvents:''

    aber ich glaube es geht trotzdem vorwärts...



    2013-09-26 21:59:56 SONOSPLAYER Sonos_Wohnzimmer LastSetActionName: AddMember
    2013-09-26 21:59:56 SONOSPLAYER Sonos_Bad presence: appeared
    2013-09-26 21:59:56 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 21:59:53
    2013-09-26 21:59:56 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 21:59:57 HUEDevice HUEDevice14 RGB: ef2c34
    2013-09-26 21:59:57 HUEDevice HUEDevice4 RGB: a34f13
    2013-09-26 21:59:57 HUEDevice HUEDevice3 RGB: a34f13
    2013-09-26 21:59:57 HUEDevice HUEDevice2 RGB: a34f13
    2013-09-26 21:59:57 HUEDevice HUEDevice12 RGB: 816e11
    2013-09-26 21:59:58 HUEDevice HUEDevice13 RGB: 7c5a19
    2013-09-26 21:59:58 HUEDevice HUEDevice5 RGB: 7c74fc
    2013-09-26 21:59:58 HUEDevice HUEDevice6 RGB: ff700c
    2013-09-26 21:59:58 HUEDevice HUEDevice7 RGB: 000000
    2013-09-26 21:59:58 HUEDevice HUEDevice9 RGB: 000000
    2013-09-26 21:59:58 HUEDevice HUEDevice8 RGB: 000000
    2013-09-26 21:59:58 HUEDevice HUEDevice10 RGB: 000000
    2013-09-26 21:59:59 FHEMWEB FHEMWEB:192.168.178.4:53878 rereadicons
    2013-09-26 21:59:59 FHEMWEB FHEMWEB:192.168.178.5:51237 rereadicons
    2013-09-26 21:59:59 FHEMWEB WEB rereadicons
    2013-09-26 22:00:00 FHEMWEB WEBphone rereadicons
    2013-09-26 22:00:01 FHEMWEB WEBtablet rereadicons
    2013-09-26 22:00:01 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 21:59:53
    2013-09-26 22:00:01 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 22:00:01 FHEMWEB FHEMWEB:192.168.178.4:53878 rereadicons
    2013-09-26 22:00:02 FHEMWEB FHEMWEB:192.168.178.5:51237 rereadicons
    2013-09-26 22:00:02 FHEMWEB WEB rereadicons
    2013-09-26 22:00:03 FHEMWEB WEBphone rereadicons
    2013-09-26 22:00:03 FHEMWEB WEBtablet rereadicons
    2013-09-26 22:00:03 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 21:59:54
    2013-09-26 22:00:03 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 22:00:03 SONOS Sonos ZoneGroupState:
    2013-09-26 22:00:03 SONOSPLAYER Sonos_Bad SleepTimerVersion:
    2013-09-26 22:00:03 SONOSPLAYER Sonos_Bad currentTrackURI:
    2013-09-26 22:00:03 SONOSPLAYER Sonos_Bad infoSummarize1: (0) '0' vom Album '0'
    2013-09-26 22:00:03 SONOSPLAYER Sonos_Bad infoSummarize2: STOPPED => (0) '0' vom Album '0'
    2013-09-26 22:00:03 SONOSPLAYER Sonos_Bad infoSummarize4:
    2013-09-26 22:00:03 SONOSPLAYER Sonos_Bad STOPPED => (0) '0' vom Album '0'
    2013-09-26 22:00:03 SONOS Sonos ZoneGroupState:
    2013-09-26 22:00:04 FHEMWEB FHEMWEB:192.168.178.4:53878 rereadicons
    2013-09-26 22:00:04 FHEMWEB FHEMWEB:192.168.178.5:51237 rereadicons
    2013-09-26 22:00:04 FHEMWEB WEB rereadicons
    2013-09-26 22:00:04 FHEMWEB WEBphone rereadicons
    2013-09-26 22:00:05 FHEMWEB WEBtablet rereadicons
    2013-09-26 22:00:05 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 21:59:56
    2013-09-26 22:00:05 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 22:00:05 SONOS Sonos ZoneGroupState:
    2013-09-26 22:00:05 SONOS Sonos ZoneGroupState:
    2013-09-26 22:00:05 HUEDevice HUEDevice1 RGB: 000000
    2013-09-26 22:00:06 FHEMWEB FHEMWEB:192.168.178.4:53878 rereadicons
    2013-09-26 22:00:06 FHEMWEB FHEMWEB:192.168.178.5:51237 rereadicons
    2013-09-26 22:00:07 FHEMWEB WEB rereadicons
    2013-09-26 22:00:07 FHEMWEB WEBphone rereadicons
    2013-09-26 22:00:08 FHEMWEB WEBtablet rereadicons
    2013-09-26 22:00:08 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 21:59:58
    2013-09-26 22:00:08 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 22:00:08 FHEMWEB FHEMWEB:192.168.178.4:53878 rereadicons
    2013-09-26 22:00:09 FHEMWEB FHEMWEB:192.168.178.5:51237 rereadicons
    2013-09-26 22:00:09 FHEMWEB WEB rereadicons
    2013-09-26 22:00:09 FHEMWEB WEBphone rereadicons
    2013-09-26 22:00:10 FHEMWEB WEBtablet rereadicons
    2013-09-26 22:00:10 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 21:59:58
    2013-09-26 22:00:10 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 22:00:11 FHEMWEB FHEMWEB:192.168.178.4:53878 rereadicons
    2013-09-26 22:00:11 FHEMWEB FHEMWEB:192.168.178.5:51237 rereadicons
    2013-09-26 22:00:12 FHEMWEB WEB rereadicons
    2013-09-26 22:00:12 FHEMWEB WEBphone rereadicons
    2013-09-26 22:00:12 FHEMWEB WEBtablet rereadicons
    2013-09-26 22:00:12 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 22:00:01
    2013-09-26 22:00:12 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 22:00:13 SONOS Sonos ZoneGroupState:
    2013-09-26 22:00:13 SONOS Sonos ZoneGroupState:
    2013-09-26 22:00:13 SONOS Sonos ZoneGroupState:
    2013-09-26 22:00:16 FHEMWEB FHEMWEB:192.168.178.4:53878 rereadicons
    2013-09-26 22:00:17 FHEMWEB FHEMWEB:192.168.178.5:51237 rereadicons
    2013-09-26 22:00:17 FHEMWEB WEB rereadicons
    2013-09-26 22:00:18 FHEMWEB WEBphone rereadicons
    2013-09-26 22:00:18 FHEMWEB WEBtablet rereadicons
    2013-09-26 22:00:18 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 22:00:16
    2013-09-26 22:00:18 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-09-26 22:00:19 PRESENCE Denon present
    2013-09-26 22:00:25 FHEMWEB FHEMWEB:192.168.178.4:53878 rereadicons
    2013-09-26 22:00:25 FHEMWEB FHEMWEB:192.168.178.5:51237 rereadicons
    2013-09-26 22:00:25 FHEMWEB WEB rereadicons
    2013-09-26 22:00:26 FHEMWEB WEBphone rereadicons
    2013-09-26 22:00:26 FHEMWEB WEBtablet rereadicons
    2013-09-26 22:00:26 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-09-26 22:00:24
    2013-09-26 22:00:26 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed


    2013.09.26 22:00:13 2: SONOS0: Error during MainTrigger: syntax error at (eval 873) line 1, near "understand you:"
     - Trying to execute 'Sorry. I don't understand you: 'R:RINCON_000E58F09A0E01400_MR:Mute:0''
    Titel: Aw: Sonos steuern
    Beitrag von: Will am 26 September 2013, 23:02:17
    can't use an undefined value as a HASH reference at ./FHEM/21_SONOSPLAYER.pm line 361


    Habe nun auch upgegraded. Sobald ich Sonos starte kommt die Fehlermeldung oben und Fhem verabschiedet sich.

    Passt das ins Bild?



    Wil
     
     
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 26 September 2013, 23:16:14
    Hi Will,

    hmmm... Bist du sicher, dass auf den letzten Stand geupdatet hast? Kam da vielleicht eine Fehlermeldung, dass er irgendwas nicht aktualisieren konnte?
    An dieser Stelle (Zeile 361) wird keine Hash-Reference erwartet (und kann somit auch nicht undefined sein :-)
    Dort wird auf eine Thread-Queue zugegriffen, um zu erfahren, wieviele Anweisungen bereits auf Ausführung warten. Kam irgendwann vorher vielleicht eine Fehlermeldung, dass er irgendeine Library vermissen würde?

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: Will am 27 September 2013, 07:11:07
    Hi reinerlein,

    Korrekt erkannt, beim ersten updateversuch hat er über Zugriffsrechte einiger dateien gemeckert.
    Habe diese Dateien über chown umgebogen, dann wieder update. --> nothing to do. Offensichtlich wird irgendwo vermerkt dass ein update gefahren wurde ohne dass alles abgeschlossen war.
    Dann habe ich gewartet bis du ein neues update gebracht hast, das lief dann durch und ich dachte das geht. Leider nicht.

    Habe ich die Möglichkeit sonos neu aufzusetzen, also 'druberzubugeln'?

    Wil
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 27 September 2013, 10:27:27
    Hi Will,

    da war dann das Pech, dass ich nur die Datei "SONOS" verändert hatte, und er damit die Datei "SONOSPLAYER" nicht nochmal aktualisiert hat :-)

    Das kannst du mit dem Parameter "force" am Ende erreichen:update thirdparty http://fhem.lmsoft.de/sonos sonos force
    Probiers mal bitte aus...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: Will am 27 September 2013, 22:07:54
    Hi reinerlein,

    So alle relevanten files mit fhem zugriff versehen mit force installiert. Scheint zu gehen.
    Danke.

    W
    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 27 September 2013, 22:49:52
    Auch hier gibt's Erfolge...
    Zumindest die erste Bedingung funktioniert...
    Und wie durch zauberhaft geht die Musik im Bad an - danke dir Reinerlein
    Titel: Aw: Sonos steuern
    Beitrag von: Will am 28 September 2013, 08:02:22
    pi@raspberrypi /opt/fhem $ Undefined subroutine &main::SONOS_getAllSonosplayerDevices called at ./FH
    EM/21_SONOSPLAYER.pm line 674.


    Also die Installation hat geklappt weil ich sehe die neuen features - wenn ich über fhwm sonos bedienen will stürzt fhem ab.
    Fehlermeldung oben.

    W
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 28 September 2013, 09:59:37
    Hi Will,

    das deutet darauf hin, dass das Sonos-Modul nicht geladen werden konnte. Gibt es weiter oben noch eine Fehlermeldung, die auf ein nicht geladenes Modul hindeutet?
    Du hattest ja ein Update durchgeführt. Hast du danach die Konfiguration des Sonos-Device angepasst, oder so belassen? Es sind Parameter hinzugekommen, die zwar optional sind, deren Optionalität von mir aber nicht wirklich geprüft wurde. Es kann also durchaus sein, dass dort ein Fehler auftritt. Dann wäre der erste Workaround eine komplette Definition z.B.:define Sonos SONOS localhost:4711 30
    Desweiteren sollte dieses Sonos-Device vor irgendwelchen SonosPlayer-Devices definiert werden...

    Auf jeden Fall wird hier das Modul SONOS vermisst (bzw. eine dort definierte Sub-Routine), da das Update geklappt hat, kann es ja keine alte Version mehr sein.

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 01 Oktober 2013, 17:36:06
    Hallo Reinerlein,
    gestern abend habe ich noch ein update auf FHEM gemacht...
    Über nacht hat mir dann SONOS das Logfile mit

    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 3809.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 3805.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 3767.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 3790.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 3767.

    vollgeschrieben...
    Hast Du eine Erklärung?
    Was kann ich tun?
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 01 Oktober 2013, 18:44:54
    Hallo Der-Lolo,

    das ist wirklich komisch. Da scheinst du Fhem-Devices zu haben, deren Typ undefiniert ist.
    Wie kann man das hinbekommen?

    An dieser Stelle suche ich alle Fhem Defines durch, und suche das SONOS- bzw. das gesuchte SONOSPLAYER-Device heraus. Dort (in den Zeilen 3805 und 3809 z.B.) wird eben der Typ des Defines mit einer Konstanten verglichen. Das sollte niemals einen solchen Fehler werfen...

    Ich bin da wirklich überfragt. Ich werde demnächst wieder eine neue Version herausbringen, die die Befehle an die Player schneller verarbeiten wird, aber an dieser Stelle wird der Code genauso aussehen...

    Kannst du vielleicht mal eine minimalistische Fhem-Konfiguration erzeugen, wo das Problem auftritt, und diese hier posten?

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 01 Oktober 2013, 18:56:15
    Hm, vielleicht hab ich etwas früh alarm geschlagen - haben den Raspi gerade mal neugestartet, nun ist es weg...
    sorry falls ich für Kopfzerbrechen sorgte...

    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 03 Oktober 2013, 11:02:58
    jetzt muss ich doch nochmal fragen...
    Bis jetzt hatte ich im Wohnzimmer immer ne Wiedergabe, das gruppieren funktionierte ja auch meistens ;-)

    Aber nun ohne wiedergabe im Wohnzimmer startet der Play3 nicht das Radio

    2013-10-03 10:56:59 SONOSPLAYER Sonos_Bad presence: appeared
    2013-10-03 10:56:59 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-10-03 10:56:54
    2013-10-03 10:56:59 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-10-03 10:56:59 SONOSPLAYER Sonos_Bad LastSetActionName: LoadRadio
    2013-10-03 10:56:59 SONOS Sonos ZoneGroupState:
    2013-10-03 10:56:59 SONOS Sonos ZoneGroupState:
    2013-10-03 10:57:00 FHEMWEB FHEMWEB:192.168.178.5:50635 rereadicons
    2013-10-03 10:57:00 FHEMWEB FHEMWEB:192.168.178.5:50636 rereadicons
    2013-10-03 10:57:00 FHEMWEB FHEMWEB:192.168.178.5:50637 rereadicons
    2013-10-03 10:57:00 FHEMWEB FHEMWEB:192.168.178.5:50638 rereadicons
    2013-10-03 10:57:01 FHEMWEB FHEMWEB:192.168.178.5:50639 rereadicons
    2013-10-03 10:57:01 FHEMWEB FHEMWEB:192.168.178.5:50640 rereadicons
    2013-10-03 10:57:01 FHEMWEB WEB rereadicons
    2013-10-03 10:57:01 FHEMWEB WEBphone rereadicons
    2013-10-03 10:57:01 FHEMWEB WEBtablet rereadicons
    2013-10-03 10:57:02 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-10-03 10:56:56
    2013-10-03 10:57:02 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-10-03 10:57:02 FHEMWEB FHEMWEB:192.168.178.5:50635 rereadicons
    2013-10-03 10:57:02 FHEMWEB FHEMWEB:192.168.178.5:50636 rereadicons
    2013-10-03 10:57:02 FHEMWEB FHEMWEB:192.168.178.5:50637 rereadicons
    2013-10-03 10:57:03 FHEMWEB FHEMWEB:192.168.178.5:50638 rereadicons
    2013-10-03 10:57:03 FHEMWEB FHEMWEB:192.168.178.5:50639 rereadicons
    2013-10-03 10:57:03 FHEMWEB FHEMWEB:192.168.178.5:50640 rereadicons
    2013-10-03 10:57:03 FHEMWEB WEB rereadicons
    2013-10-03 10:57:03 FHEMWEB WEBphone rereadicons
    2013-10-03 10:57:03 FHEMWEB WEBtablet rereadicons
    2013-10-03 10:57:04 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-10-03 10:56:58
    2013-10-03 10:57:04 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-10-03 10:57:04 SONOSPLAYER Sonos_Bad LastSetActionResult: Radiofavourite "Starpresence:" not found. Choose one of: "Star FM Berlin"
    2013-10-03 10:57:04 SONOS Sonos ZoneGroupState:
    2013-10-03 10:57:04 SONOS Sonos ZoneGroupState:
    2013-10-03 10:57:05 SONOSPLAYER Sonos_Bad LastSetActionName: Play
    2013-10-03 10:57:05 SONOSPLAYER Sonos_Bad LastSetActionResult: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"

    Hast Du ne Idee was da nun schief läuft?
    Wie kommt das LastSetActionResult: Radiofavourite "Starpresence:" not found zustande..?
    und warum spielt UPnP nicht mir?
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 03 Oktober 2013, 11:35:37
    Hallo Der-Lolo,

    du kannst nur Radiosender abspielen, die sich in deiner Radiosender-Favoritenliste befinden. Dort befindet sich bei dir aber nur der Sender "Star FM Berlin".
    Dort musst du einfach "Starpresence:" hinzufügen (mit deinem Sonos-Controller), dann sollte es gehen.

    Überprüfen kannst du die Liste mit dem Befehl "get Sonos_Bad Radios". Dann steht im Ergebnis die Liste der möglichen Radiosender (das ist die gleiche wie in der Fehlermeldung selbst).

    Der UPnP-Fehler kommt vom Player, da er den Sender nicht abspielen konnte...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 03 Oktober 2013, 14:26:48
    Ich glaube du hast mich nicht richtig verstanden, ich moechte ja star fm berlin hoeren, und frage mich wo dieses starpresence ueberhaupt her kommt... Im notify habe ich auch
    fhem 'set Sonos_Bad LoadRadio Star%20FM%20' ;; stehen
    Ich bin gerade nicht zuhause, mir aber sicher das es in den favoriten kein starpresence gibt...
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 03 Oktober 2013, 15:33:25
    Hallo Der-Lolo,

    OK, das ging da nicht so deutlich draus hervor.

    Aber auch das ist einfach. Du hast das wohl am Event "presence" hängen, nicht wahr:-)

    Du musst in einem Fhem-Event die Prozentzeichen noch maskieren, also doppelt hinschreiben.
    Das bedeutet bei dir: "Star%%20FM%%20Berlin".

    Ein einfaches %-Zeichen wird von Fhem durch den entsprechenden Event-Namen ersetzt.

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 03 Oktober 2013, 18:07:43
    Danke Reinerlein,
    ich glaube jetzt haben wir es hinbekommen - tausend Dank!!!

    Ich werde noch ein bisschen beobachten ob es auch zuverlässig läuft, ich bekam nämlich immer wieder dieses

    2013.10.03 17:51:59 3: SONOSPLAYER0: Ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Bad->LoadRadio(Star%20FM%20Berlin) um 1s.
    2013.10.03 17:51:59 3: SONOSPLAYER0: Ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Bad->Play() um 1s.
    2013.10.03 17:52:00 3: SONOSPLAYER0: Versuche jetzt set Sonos_Bad->LoadRadio(Star%20FM%20Berlin) auszuführen.
    2013.10.03 17:52:00 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Bad->LoadRadio(Star%20FM%20Berlin) um eine weitere Sekunde.

    Gibt es vielleicht eine möglichkeit ausstehende befehle zu löschen bevor mann neue Sendet?

    Titel: Aw: Sonos steuern
    Beitrag von: peter79 am 03 Oktober 2013, 20:29:01
    Hallo Reiner,

    spiele grade auch ein bischen mit dem Sonos Modul. Erst einmal vielen Dank für Deine Arbeit.
    Grundsätzlich scheint es nach ein paar Anlaufversuchen zu funktionieren - leider aber immer nur zimlich kurzzeitig :-(
    D.h. starte ich durch funktioniert erst einmal alles, inkl. automatischem Start nach Stromzufuhr. Wenn ich dann aber, ca. ein paar Minuten nichts tue, bekomme ich das gleiche Problem wie mein Vorredner:

    2013.10.03 19:55:45 5: SONOS0: Received from UPnP-Server: 'DoWorkAnswer:RINCON_000E58F2222801400_MR:LastSetActionResult:7'
    2013.10.03 19:55:45 4: SONOS0: DoWorkAnswer arrived for 'Sonos_Bad':LastSetActionResult:7
    2013.10.03 19:55:45 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_000E58F2222801400_MR:Balance:0'
    2013.10.03 19:55:45 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_000E58F2222801400_MR:Volume:7'
    2013.10.03 19:55:45 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_000E58F2222801400_MR:0'
    2013.10.03 19:55:45 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_000E58F2222801400_MR'
    2013.10.03 19:55:46 5: SW: DoWork:RINCON_000E58F2222801400_MR:setRelativeVolume:7

    2013.10.03 19:55:47 5: SONOS0: Received from UPnP-Server: 'DoWorkAnswer:RINCON_000E58F2222801400_MR:LastSetActionResult:14'
    2013.10.03 19:55:47 4: SONOS0: DoWorkAnswer arrived for 'Sonos_Bad':LastSetActionResult:14
    2013.10.03 19:55:47 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_000E58F2222801400_MR:Balance:0'
    2013.10.03 19:55:47 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_000E58F2222801400_MR:Volume:14'
    2013.10.03 19:55:47 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_000E58F2222801400_MR:0'
    2013.10.03 19:55:47 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_000E58F2222801400_MR'
    2013.10.03 19:55:54 5: SW: DoWork:RINCON_000E58F2222801400_MR:setRelativeVolume:7

    2013.10.03 19:55:55 5: SONOS0: Received from UPnP-Server: 'DoWorkAnswer:RINCON_000E58F2222801400_MR:LastSetActionResult:21'
    2013.10.03 19:55:55 4: SONOS0: DoWorkAnswer arrived for 'Sonos_Bad':LastSetActionResult:21
    2013.10.03 19:55:55 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_000E58F2222801400_MR:Balance:0'
    2013.10.03 19:55:55 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_000E58F2222801400_MR:Volume:21'
    2013.10.03 19:55:55 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_000E58F2222801400_MR:0'
    2013.10.03 19:55:55 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_000E58F2222801400_MR'
    2013.10.03 20:14:38 5: SW: DoWork:RINCON_000E58F2222801400_MR:setRelativeVolume:7

    2013.10.03 20:14:41 3: SONOSPLAYER0: Ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Bad->VolumeU() um 1s.
    2013.10.03 20:14:42 3: SONOSPLAYER0: Versuche jetzt set Sonos_Bad->VolumeU() auszuführen.
    2013.10.03 20:14:42 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Bad->VolumeU() um eine weitere Sekunde.
    2013.10.03 20:14:43 3: SONOSPLAYER0: Versuche jetzt set Sonos_Bad->VolumeU() auszuführen.
    2013.10.03 20:14:43 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Bad->VolumeU() um eine weitere Sekunde.
    2013.10.03 20:14:44 3: SONOSPLAYER0: Versuche jetzt set Sonos_Bad->VolumeU() auszuführen.
    2013.10.03 20:14:44 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Bad->VolumeU() um eine weitere Sekunde.
    2013.10.03 20:14:45 3: SONOSPLAYER0: Versuche jetzt set Sonos_Bad->VolumeU() auszuführen.
    ...

    Weiterhin sehe ich trotz Verbose 5 nicht, dass die Box in irgendeiner Weise zyklisch abgefragt wird, bin mir aber auch nicht sicher, ob ich alles richtig konfiguriert habe - daher anbei einmal meine Konfig:

    define Sonos SONOS localhost:4711 30
    attr Sonos pingType icmp
    attr Sonos verbose 5
    define Sonos_BRIDGE SONOSPLAYER RINCON_000E58EFB30601400_MR
    attr Sonos_BRIDGE group BRIDGE
    attr Sonos_BRIDGE icon icoSONOSPLAYER_icon-ZB100.png
    attr Sonos_BRIDGE model Sonos_ZB100
    attr Sonos_BRIDGE room Sonos
    define Sonos_Bad SONOSPLAYER RINCON_000E58F2222801400_MR
    attr Sonos_Bad generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Bad generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Bad generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Bad getAlarms 1
    attr Sonos_Bad group Bad
    attr Sonos_Bad icon icoSONOSPLAYER_icon-S3.png
    attr Sonos_Bad minVolume 0
    attr Sonos_Bad model Sonos_S3
    attr Sonos_Bad room Sonos
    attr Sonos_Bad stateVariable InfoSummarize2
    attr Sonos_Bad verbose 5
    attr Sonos_Bad webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_Bad weblink image /fhem/icons/SONOSPLAYER/Sonos_Bad_AlbumArt
    attr AlbumArt_Bad group Bad
    attr AlbumArt_Bad htmlattr width='200'
    attr AlbumArt_Bad room Sonos

    define Sonos_Bad_Appeared_Notify notify Sonos_Bad:presence:.appeared { \
            fhem "set Sonos_Bad LoadRadio FFH%%20Digital%%20-%%20Alternative" ;; \
            fhem "set Sonos_Bad Volume 20" ;; \
            fhem "set Sonos_Bad Play" \
    }

    Viele Grüße
    Peter
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 04 Oktober 2013, 00:27:28
    Hallo zusammen,

    das mit den ausstehenden Befehlen baue ich gerade wieder aus, da ich die Struktur noch etwas optimiert habe. Desweiteren baue ich noch an einer anderen Stelle eine Optimierung ein, damit da weniger Kommunikation zwischen den Schichten notwendig wird.
    Das muss ich aber erst noch sauber fertigstellen, bevor ich es veröffentlichen kann...

    Desweiteren habe ich schon den Fehler mit der Durchsage und dem Wiederanstarten der Line-In-Wiedergabe von Arthur behoben, kommt dann beim nächsten Update mit.

    Zu den Ping-Checks: Die starten erst nach 120Sekunden, damit erst mal alle Player sauber erkannt wurden. Die können ja nicht schon gleich wieder weg sein, oder? :-)
    Dazu müsste aber trotzdem eine Ausgabe auf der Konsole (nicht im Fhem-Log, das du gepostet hast) existieren, die darauf hindeutet, dass der Thread gestartet ist, etwas wartet, und dann die Überprüfung durchführt. Die Überprüfung selbst wird dort auch ausgegeben.
    In der nächsten Version kann man diese Prüfung auch deaktivieren, da manche die ja gar nicht benötigen. Dann ist das Verhalten wie beim Sonos-Controller: Beim Einschalten eines Players wird der kurz vorher als abwesend markiert, und dann gleich danach als anwesend. Für eine einfache "Player-ist-da"-Erkennung reicht das auch...
    @Peter: Es kann sein, dass auf der Konsole eine Ausgabe erfolgt, dass dein Prozess nicht mit root-Rechten läuft, und deshalb der pingType "icmp" nicht geht. Dann stürzt der Thread leider ab, und hängt das Modul mit auf. Das entspräche deiner Beobachtung, dass nach einer Weile (ca. 120s?) das ganze festhängt...

    Also, bzgl. der ausstehenden Befehle bitte noch etwas Geduld, da ich das komplett machen möchte.

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: PumpkinEater am 04 Oktober 2013, 07:31:09
    Hallo Reiner,
    ich habe jetzt auch mal die neue Version installiert, komme aber leider nicht so recht weiter. Nach dem Start von fhem sehe ich im Logfile
    2013.10.04 07:12:32 5: SONOS0: Received from UPnP-Server: 'CommandAttr:AlbumArt_Wohnzimmer group Wohnzimmer'
    2013.10.04 07:12:32 5: SONOS0: Received from UPnP-Server: 'ReadingsBeginUpdate:RINCON_000ExxxxxxE001400_MR'
    2013.10.04 07:12:32 0: SONOS0: Fehlerhafter Aufruf von ReadingsBeginUpdate: RINCON_000ExxxxxxE001400_MR
    2013.10.04 07:12:32 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_000Exxxxxx001400_MR:presence:appeared'
    2013.10.04 07:12:32 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E58F189E001400_MR:presence:appeared

    Wenn ich dann versuche, per
    /usr/local/fhem/fhem.pl localhost:7072 'set Sonos_Wohnzimmer Volume 15'
    die Lautstärke zu ändern, so klappt das dann (manchmal) auch einige Male, bis weitere Aufrufe dann nichts mehr bewirken, und im Logfile folgende Meldungen immer wieder erscheinen:
    2013.10.04 06:59:17 3: SONOSPLAYER0: Immer noch ausstehenden Befehl erkannt. Verlagere die Ausführung von set Sonos_Wohnzimmer->Volume(10) um eine weitere Sekunde.
    2013.10.04 06:59:18 3: SONOSPLAYER0: Versuche jetzt set Sonos_Wohnzimmer->Volume(10) auszuführen.
    20


    Scheinbar ist bei meiner Installation noch etwas im Argen.

    Gruß
    Peter

    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 04 Oktober 2013, 08:33:55
    Hallo Reiner,
    so ganz läuft das leider immer noch nicht rund - heute morgen zeigte sich im Event Monitor


    2013-10-04 08:28:13 SONOS Sonos ZoneGroupState:
    2013-10-04 08:28:13 SONOSPLAYER Sonos_Wohnzimmer ZonePlayerUUIDsInGroup: RINCON_000E5828236001400
    2013-10-04 08:28:13 SONOSPLAYER Sonos_Wohnzimmer ZoneGroupName: Wohnzimmer
    2013-10-04 08:28:13 SONOS Sonos ZoneGroupState:
    2013-10-04 08:28:13 SONOSPLAYER Sonos_Bad presence: disappeared
    2013-10-04 08:28:13 HUEDevice HUEDevice5 RGB: 8985fc
    2013-10-04 08:28:13 HUEDevice HUEDevice6 RGB: ff700c
    2013-10-04 08:28:13 HUEDevice HUEDevice7 RGB: 000000
    2013-10-04 08:28:14 HUEDevice HUEDevice9 RGB: 000000
    2013-10-04 08:28:14 HUEDevice HUEDevice8 RGB: 000000
    2013-10-04 08:28:14 HUEDevice HUEDevice10 RGB: 000000
    2013-10-04 08:28:21 FHEMWEB FHEMWEB:192.168.178.5:51893 rereadicons
    2013-10-04 08:28:22 FHEMWEB FHEMWEB:192.168.178.5:51894 rereadicons
    2013-10-04 08:28:22 FHEMWEB FHEMWEB:192.168.178.5:51895 rereadicons
    2013-10-04 08:28:22 FHEMWEB FHEMWEB:192.168.178.5:51896 rereadicons
    2013-10-04 08:28:23 FHEMWEB FHEMWEB:192.168.178.5:51897 rereadicons
    2013-10-04 08:28:23 FHEMWEB FHEMWEB:192.168.178.5:51898 rereadicons
    2013-10-04 08:28:24 FHEMWEB WEB rereadicons
    2013-10-04 08:28:24 FHEMWEB WEBphone rereadicons
    2013-10-04 08:28:25 FHEMWEB WEBtablet rereadicons
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Wohnzimmer LastSetActionName: AddMember
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad presence: appeared
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-10-04 08:28:21
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-10-04 08:28:25 SONOS Sonos ZoneGroupState:
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad transportState: STOPPED
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad numberOfTracks: 0
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad currentTrack: 0
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad currentTrackURI:
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad currentTrackDuration: 0:00:00
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad currentTitle:
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad currentAlbumArtist: STOPPED
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad infoSummarize1: [Keine Musikdatei]
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad infoSummarize2: STOPPED => [Keine Musikdatei]
    2013-10-04 08:28:25 SONOSPLAYER Sonos_Bad STOPPED => [Keine Musikdatei]
    2013-10-04 08:28:26 FHEMWEB FHEMWEB:192.168.178.5:51893 rereadicons
    2013-10-04 08:28:26 FHEMWEB FHEMWEB:192.168.178.5:51894 rereadicons
    2013-10-04 08:28:26 FHEMWEB FHEMWEB:192.168.178.5:51895 rereadicons
    2013-10-04 08:28:26 FHEMWEB FHEMWEB:192.168.178.5:51896 rereadicons
    2013-10-04 08:28:26 FHEMWEB FHEMWEB:192.168.178.5:51897 rereadicons
    2013-10-04 08:28:27 FHEMWEB FHEMWEB:192.168.178.5:51898 rereadicons
    2013-10-04 08:28:27 FHEMWEB WEB rereadicons
    2013-10-04 08:28:27 FHEMWEB WEBphone rereadicons
    2013-10-04 08:28:27 FHEMWEB WEBtablet rereadicons
    2013-10-04 08:28:27 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-10-04 08:28:22
    2013-10-04 08:28:27 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-10-04 08:28:27 SONOSPLAYER Sonos_Bad ZonePlayerUUIDsInGroup: RINCON_000E58F09A0E01400
    2013-10-04 08:28:27 SONOSPLAYER Sonos_Bad ZoneGroupID: RINCON_000E58F09A0E01400:12
    2013-10-04 08:28:27 SONOS Sonos ZoneGroupState:
    2013-10-04 08:28:27 SONOS Sonos ZoneGroupState:
    2013-10-04 08:28:28 FHEMWEB FHEMWEB:192.168.178.5:51893 rereadicons
    2013-10-04 08:28:28 FHEMWEB FHEMWEB:192.168.178.5:51894 rereadicons
    2013-10-04 08:28:28 FHEMWEB FHEMWEB:192.168.178.5:51895 rereadicons
    2013-10-04 08:28:28 FHEMWEB FHEMWEB:192.168.178.5:51896 rereadicons
    2013-10-04 08:28:28 FHEMWEB FHEMWEB:192.168.178.5:51897 rereadicons
    2013-10-04 08:28:29 FHEMWEB FHEMWEB:192.168.178.5:51898 rereadicons
    2013-10-04 08:28:29 FHEMWEB WEB rereadicons
    2013-10-04 08:28:29 FHEMWEB WEBphone rereadicons
    2013-10-04 08:28:29 FHEMWEB WEBtablet rereadicons
    2013-10-04 08:28:29 SONOSPLAYER Sonos_Bad LastSubscriptionsRenew: 2013-10-04 08:28:24
    2013-10-04 08:28:29 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Just subscribed
    2013-10-04 08:28:30 SONOSPLAYER Sonos_Bad LastSubscriptionsResult: Nothing to do.


    Nothing to do. ist Definitiv falsch - ich möchte ja eine wiedergabe haben...
    im Wohnzimmer auf dem ZP90 lief Radio.

    Im Logfile sind keine Daten bzgl. Sonos zu finden...
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 04 Oktober 2013, 15:10:35
    Hallo zusammen,

    hmm. Vielleicht sollten wir mit weiteren Stochereien warten, bis ich meinen aktuellen Stand veröffentlicht habe. Ich könnte mir vorstellen, dass das eine oder andere sich direkt erledigt (wie die Sache mit den ausstehenden Befehlen), oder mindestens besser wird.
    Auch die Sache mit den SubscriptionsRenew wird auf eine andere Art erledigt. Diese Meldungen sind dann sowieso nicht mehr im Fhem-Log, sondern nur noch auf der Konsole zu sehen, da Fhem damit nicht mehr behelligt wird.
    Nur zum Abrunden: Die Meldung mit 'nothing to do' bezieht sich ausschließlich auf den Renew-Vorgang, der nur jede Stunde einmal durchgeführt werden muss. Das hat keine Auswirkung auf andere Benutzung durch Fhem o.ä.

    Bei den ausstehenden Befehlen scheint sich eine Ausführung nicht korrekt als beendet gemeldet haben (oder sich nicht beendet haben). Wie gesagt, das erledigt sich demnächst ganz...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: der-Lolo am 04 Oktober 2013, 17:12:10
    Ok, damit kann ich gut leben...
    Ich bin eh total froh das es Leute wie dich gibt - die sich die Mühe machen solche steuerungsmöglichkeiten erst möglich zu machen.
    Ein ganz großes Lob an das bis jetzt geleistete - nicht mehr extra zum iPad greifen zu müssen um die Musik im Bad an zu machen hat den WAF Faktor extrem verbessert.
    FHEM hat für mich eh noch sehr viele Baustellen, da spielt es keine große Rolle wann das Sonos System perfekt läuft, bis dahin benutze ich einfach zusätzlich die timer Funktion und schalte die Steckdose 5min. eher...
    Ich widme mich dann vorerst den max Thermostaten...
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 10 Oktober 2013, 08:52:23
    Hallo zusammen,

    ich wollte mal kurz einen Zwischenstand liefern.

    Die Entwicklung ist nun soweit durch und auch in längeren Tests geprüft. Ich werde heute oder Morgen diverse Kommentare im Code und, falls notwendig, die Dokumentation anpassen, und dann den Update-Server aktualisieren.

    Es sind eigentlich erstmal alle wichtigen Punkte drin, bis auf das Thema von Det., wo es noch etwas diffus bzgl. der Pfade aussieht. Das werde ich dann angehen, wenn die jetzigen Änderungen u.U. noch mal nachgeschärft wurden :-)

    Bis später...
    Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: JoeALLb am 10 Oktober 2013, 16:29:15
    Freue mich auf die neue Version!! Bin gespannt!
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 10 Oktober 2013, 19:39:10
    Hallo zusammen,

    sooo, ich habe das nochmal durchgesehen, und die Doku hoffentlich in allen Punkten angepasst.

    Es kann geupdatet werden:update thirdparty http://fhem.lmsoft.de/sonos sonos
    Es sollten folgende Punkte drin sein / beachtet werden:
    - Die Befehlswarteschlange auf Fhem-Ebene wurde entfernt. Es gibt jetzt nur noch das Reading "LastActionResult", in dem das letzte Ergebnis der durchgeführten Aktion abgelegt wird.
    - Bei der temporären Wiedergabe (TempPlaying, Speak) wird nun auch ein Line-Eingang korrekt wiederhergestellt.
    - Man kann nun auch die LED am Player schalten
    - CurrentTempPlaying (es kann nur eine temporäre Wiedergabe zur Zeit laufen) wird nicht mehr benötigt, da dies nun in der internen Warteschlange abgearbeitet wird.

    Viel Spaß damit...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: JoeALLb am 10 Oktober 2013, 20:24:08
    Hi und danke...

    doch leider kann ich jetzt die Sonos-Geräte nicht mehr starten...


    Auf der kommandozeile erscheint:
    > 2013.10.10 20:19:38 3: SONOS0: Received: 'DoWork:RINCON_000E5836AAAC01400_MR:play:'

    aber nichts passiert.
    Gibt es eventuell eine neue Abhängigkeit? Ich betreibe es auf RPI.
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 10 Oktober 2013, 20:42:12
    Hi,

    hmm... aus dieser einen Zeile ist jetzt nicht soviel erkennbar :-) Das ist zumindest noch kein Fehler, sondern heisst nur, dass die Anweisung beim Steuer-Thread angekommen ist.

    Stell doch bitte mal den Loglevel höher, und schau mal, was direkt danach im Log / in der Konsole auftaucht. Ansonsten stell doch das Log mal hier ein (oder per PN).

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: snoop am 10 Oktober 2013, 21:12:38
    Hallo Reiner,

    musste jetzt doch suchen "sonos" ist wohl auch im FHEM Forum etwas gewandert....

    Zitat- Bei der temporären Wiedergabe (TempPlaying, Speak) wird nun auch ein Line-Eingang korrekt wiederhergestellt.

    Test folgt -> DANKE jetzt schon mal dafür - ich kämpfe grade mit der SD Karte am RPI die meint ständig ein OI/DEVICE Error ausgeben zu müssen (SD Karten Test sagt: Karte ist I.O.) - was zu Neudeploy des RPIs führt. ;o(

    Viele grüße
    Arthur
    Titel: Aw: Sonos steuern
    Beitrag von: JoeALLb am 11 Oktober 2013, 17:42:29
    Zwischeninfo:
    Heute hat es wieder funktioniert, jedoch hat sich mein rpi heute nacht auch ohne ersichtlichen Grund rebootet.
    Ich werds weiter beobachten!
    Titel: Aw: Sonos steuern
    Beitrag von: m.zielinski am 11 Oktober 2013, 17:48:44
    Mein Raspberry stand heute morgen auch still bzw fhem war komplett beendet. Leider zeigte weder fhem noch console logfile irgendwas an.

    Bin dann wieder auf die vorversion gegangen statt der von gestern.

    Der WAF sinkt zu sehr wenn Fhem ganz weg ist...
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 11 Oktober 2013, 20:38:06
    Hallo zusammen,

    mich würde es tatsächlich wundern, wenn wegen des Moduls Fhem hängenbleibt, oder gar der RPi einen Neustart durchführen muss.
    Aber natürlich kann man nichts ausschließen und ich wurde schon oft genug zum wundern gebracht :-) Nur brauchts dafür die Konsolenausgabe, da dort die Ausgaben des abgetrennten Prozesses auflaufen.

    Ich habe das bei mir so gelöst, dass die Konsole in eine Datei umgelenkt wird, sodass ich das auch noch nachträglich durchsehen kanm. Notfalls muss man sowas einrichten, um dem ganzen auf die Spur zu kommen...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: JoeALLb am 11 Oktober 2013, 22:25:19
    Hast du dafür eine Anleitung??

    Vielleicht hilft das schon:
    Ich konnte soeben beobachten, dass manchmal die CPU-Auslastung länger als 5 Minuten auf 100% ging. Daraufhin hat der Watchdog den rpi neu gestartet.
    In der Log stand ein Hinweis (aus dem Kopf) "kill XXY konnte nicht beendet werden".... naja o ähnlich zumindest. Es war jedoch das SONOS-Modul...
    Titel: Aw: Sonos steuern
    Beitrag von: Reinerlein am 11 Oktober 2013, 22:45:30
    Hi,

    man könnte einfach das Modul "von Hand" starten:perl fhem.pl fhem.cfg > fhem.log &Damit wird im aktuellen Verzeichnis die Konsolenausgabe in die Datei fhem.log geschrieben.
    Das & sorgt dafür, dass der Prozess direkt im Hintergrund gestartet wird, und du die Datei mittail -f fhem.loglaufend mitlesen kannst...

    Das mit der CPU Auslastung ist natürlich möglich, wobei ich das bei mir noch nicht hatte... Vielleicht liegt es daran, dass mein fhem unter dem Benutzer root läuft. Das ist aber momentan reine Mutmaßung...
    Ich erhoffe mir durch die Log-Analyse einen Einblick, was da die CPU Last erzeugen könnte. Dann können wir das auch in den Griff bekommen...

    Grüße Reiner
    Titel: Aw: Sonos steuern
    Beitrag von: JoeALLb am 11 Oktober 2013, 23:18:55
    Jetzt gerade habe ich eine andere Fehlermeldung bekommen..... aer die CPU war auch bei 100% last.
    Ich versuch mal so ein Logging mitlaufen zu lassen!

    2013.10.11 23:02:48 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2013.10.11 23:02:49 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2013.10.11 23:02:49 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2013.10.11 23:02:52 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2013.10.11 23:02:52 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2013.10.11 23:02:57 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnzimmer".
    2013.10.11 23:02:57 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnzimmer".
    2013.10.11 23:03:00 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2013.10.11 23:03:01 3: SONOS0: Received: 'DoWork:RINCON_000E58532C2E01400_MR:play:'
    Out of memory!
    Perl exited with active threads:
            1 running and unjoined
            1 finished and unjoined
            0 running and detached
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Oktober 2013, 10:15:47
    Hi JoeALLb,

    das mit dem Memory-Error hatten wir hier schon mal. Ich weiss jetzt nicht mehr genau, ob sich das erledigt hatte, oder irgendwie in den Griff bekommen wurde. Das Modul selbst macht an dieser Stelle keine großen Aktionen. Es wird ein SOAP-Paket an den Player zusammengeschnürt, und ein bißchen hin- und herkommuniziert. Alles nix großartiges, da muss der Speicher echt knapp bemessen sein.

    Kannst du mal prüfen, wieviel der Perl-Prozess so benötigt, und wieviel dein Pi da noch so frei hat?
    Vielleicht könnte auch eine Swap-Datei auf einem anderen Speichermedium helfen (auf der SD Card ist das wohl eher nicht so gut).

    Bei mir sieht die Aufteilung auf die beiden Prozesse so aus, dass Fhem ca. 40MB und mein extra Prozess ca. 70MB belegt.
    Hier mal die Ausgabe des belegten Speichers aus dem Befehl "top":KiB Mem: 188880 total, 139588 used, 49292 free, 8012 buffers
    KiB Swap: 102396 total, 4592 used, 97804 free, 39712 cached
    Da wird also Swap verwendet, obwohl noch Arbeitsspeicher frei ist, was unter Linux auch normal ist. Ich habe da aber auch nix angepasst, das ist wohl das Standardverhalten / die Standardeinrichtung von Raspbian...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: snoop am 12 Oktober 2013, 18:10:19
    Hallo Reiner,
    der erste Test zum Thema:
    ZitatBei der temporären Wiedergabe (TempPlaying, Speak) wird nun auch ein Line-Eingang korrekt wiederhergestellt.
    war erfolgreich - Vielen Dank dafür.
    Viele Grüße
    Arthur
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 12 Oktober 2013, 19:52:31
    Hallo Reiner,

    heute morgen lief FHEM noch, also konnte ich das Problem nicht nachstellen.
    Es laufen jedoch häufig mehrere upnp-Perl-Prozesse aus dem Sonos-Bereich.... ich habe derzeit tatsächlich den Verdacht, dass FHEM, welches nicht mit Root-Rechten läuft,
    probleme beim Abbau vorhandener und nicht mehr benötigter Connections hat.... daher hab ich vermutlich vor 2 Tagen auch mal den Fehler "Trying to kill Sonos_Thread..." mit dem nicht erfolgreichen Kill-Befehl gesehen. Kann das sein? Wann genau wird denn hier etwas gekillt?

    Ich war heute zuwenig zuhause und konnte es dahe rnicht weiter testen...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Oktober 2013, 20:22:52
    Hi JoeALLb,

    dieser Versuch den Sonos_Thread zu killen wird immer dann unternommen, wenn du ein "rereadcfg" oder "shutdown" in Fhem durchführst. Nach der Ausgabe von "trying" sollte dann kurz danach die Ausgabe von "UPnP-Thread wurde beendet" kommen. Damit ist dann auch der UPnP-Listener beendet, und empfängt keine Nachrichten mehr von den Playern. Es werden aber auch noch andere Threads getötet, da sollten also auch noch entsprechende Ausgaben erfolgen (insgesamt bis zu 3). Wenn du ein "shutdown" in Fhem durchführst, wird sogar der ganze Prozess beendet (wenn du ihn nicht selber per Hand gestartet hattest).

    Und mit "es laufen jedoch häufig mehrere upnp-Perl-Prozesse" meinst du echte Prozesse, die du z.B. per "top" oder "ps" auf der Konsole sehen kannst?
    Das ist dann reichlich komisch, weil im Normalfall beim Start eines zweiten Sonos_Thread eine Fehlermeldung kommen müsste, dass der Port (den du übergeben/eingestellt hast) bereits belegt ist. Er startet ja immerhin einen Serverdienst auf dem angegebenen Port (bzw. versucht es).

    Aber eigentlich sollte das alles von root unabhängig sein. Der Prozess wurde ja schließlich von dem Fhem-User gestartet, und darf dementsprechend auch von diesem Benuter wieder entfernt werden...
    Komisch, komisch...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 12 Oktober 2013, 23:55:46
    Hallo Reiner

    mit htop in der Baumansicht konnte ich diese sehen. Aktuell sind da "nur" 2.
    Ich habe zwischenzeitlich auch fhem nochmals aktualisiert und einige perl-module aktualisiert... vielleicht funktioniert es ja deshalb derzeit! Ich beobachte es noch weiter
    und schreibe alles in Logdateien mit! Danke erstmal dafür.


    `- perl fhem.pl fhem.cfg
    |  `- perl FHEM/00_SONOS.pm 4711 3
    |     `- perl FHEM/00_SONOS.pm 4711 3
    |     `- perl FHEM/00_SONOS.pm 4711 3



    Edit: Fixed!!! Der Speak-Fehler(unten) wurde durch die Schreibrechte im SonosSpeak-Verzeichnis ausgelöst. Darauf hat mich die Logdatei leider nicht sofort gebracht-.....
    Jetzt funktioniert es!!!

    Nun wollte ich die Funktion Speak testen, dabei erhalte ich jedoch fiolgende Meldung.
    Mache ich da was falsch?
    set Sonos_Wohnzimmer Speak 30 de Test


    2013.10.13 00:18:47 3: SONOS0: Received: 'DoWork:RINCON_000E58532C2E01400_MR:speak:30,de, Test'
    2013.10.13 00:18:47 3: SONOS1: Load MP3 from "http://translate.google.com/translate_tts?tl=de&q=Test" to "/mnt/SonosSpeak//RINCON_000E58532C2E01400_MR_Speak.mp3"
    2013.10.13 00:18:47 2: SONOS1: Beim Setzen der MP3-Informationen (ID3TagV2) ist ein Fehler aufgetreten: Can't call method "title_set" on an undefined value at FHEM/00_SONOS.pm line 1659, <$client> line 2.

    2013.10.13 00:18:47 3: SONOS1: Start temporary playing of "\192.168.178.69\SonosSpeak/RINCON_000E58532C2E01400_MR_Speak.mp3"
    2013.10.13 00:18:49 3: SONOS1: SleepTimer berechnet die Laufzeit des Titels selber, da keine Wartezeit uebermittelt wurde!
    2013.10.13 00:18:49 1: SONOS1: Da keine Endzeit ermittelt werden konnte, wird kein Restoring durchgef?hrt werden!



    edit: verwendeten code corrigiert
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 13 Oktober 2013, 00:30:21
    Hi,
    soeben hatte ich folgende Fehlermeldung... vielleicht hilft das weiter? Danach war wieder mein Arbeitsspeicher voll und ich hatt
    9 UpnP-Prozesse in htop gesehen. Sorry für die vielen Nachrichten, aber ich hoffe, es hilft weiter ;-)


    2013.10.13 00:26:54 3: SONOS0: Trying to kill Sonos_Thread...
    2013.10.13 00:26:54 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2013.10.13 00:26:54 1: SONOS2: Restore-Thread wurde beendet.
    2013.10.13 00:26:55 3: SONOS1: Controlpoint-Listener wurde beendet.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 4038, <$client> line 17.
    Current: "fhem.pl", gPath: "./FHEM"
    Current: "FHEM/00_SONOS.pm", gPath: ""
    2013.10.13 00:27:14 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    2013.10.13 00:27:16 1: SONOS0: Connection accepted from localhost:47862
    2013.10.13 00:27:17 3: SONOS0: Received: 'SetData:Sonos:none:RINCON_000E58532C9001400_MR,RINCON_000E58532C2E01400_MR,RINCON_000E5871016E01400_MR,RINCON_000E5836AAAC01400_MR'
    2013.10.13 00:27:17 3: SONOS0: Received: 'StartThread'
    2013.10.13 00:27:18 3: SONOS1: UPnP-Thread gestartet.
    2013.10.13 00:27:19 1: SONOS2: Restore-Thread gestartet. Warte auf Arbeit...
    2013.10.13 00:27:20 2: SONOS1: Discover Sonosplayer 'Wohnzimmer' (ZP120) Software Revision 4.1 with ID 'RINCON_000E5836AAAC01400_MR'
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Oktober 2013, 01:43:39
    Hi,

    kein Problem, wir versuchen das Problem ja zu lösen :-)

    Eigentlich dachte ich, dass ich das Poblem mit den nicht mehr vorhandenen Threads, die ich töten möchte, im Griff habe... Dem scheint nicht so zu sein. Da schärfe ich noch etwas nach.
    Aber das wird eine reine Symptombehandlung und wir wollen ja eigentlich das Problem in den Griff bekommen...

    Ich habe mir das bei mir auch mal mit htop angeschaut, und ich habe natürlich auch die Threads, nur dass es bei mir einer mehr ist. Ich habe im Baum oben den Fhem-Prozess, und darunter meinen selbstgestarteten zweiten Prozess. Dann folgen darunter drei Threads, die ich in Perl ja auch starte. Bei dir waren das nur zwei. Da fehlt wohl der IsAlive-Thread (zumindest laut deines Log-Auszugs). Da müsste dazu passend eigentlich eine Ausgabe kommen. Vielleicht kannst du den Loglevel mal hochdrehen, und die ersten Zeilen der Konsolenausgabe mal hier angeben. Vielleicht stirbt der wegen fehlender Rechte.
    Steht dein PingType vielleicht auf "icmp"? Das geht nur als root. Aber wie gesagt, da müsste eine Ausgabe zu erfolgen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Oktober 2013, 15:13:28
    Hi JoeALLb,

    eine Frage kann ich mir mittlerweile selber beantworten. Das passiert, wenn man seinen eigenen Code nicht mehr vollständig im Kopf hat :-)
    Sorry dafür...

    Du hast wahrscheinlich keinen pingType definiert. Ab Version 2.0 wird dann standardmäßig keine zyklische Prüfung mehr durchgeführt. Das Verhalten ist dann so wie beim Original-Controller (Ein Player bleibt für immer in der Liste der verfügbaren Player, erst wenn man ihn wieder anschaltet, verschwindet er kurz, und taucht danach wieder auf). Das bedeutet auch, dass dieser Thread natürlich gar nicht erst gestartet wird.
    Damit ist die Anzahl der Threads geklärt. Ich habe pingType definiert, und somit einen Thread mehr als du...

    Aber dein Speicherproblem ist damit natürlich noch nicht geklärt... Da müssen wir noch irgendwas herausfinden...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 14 Oktober 2013, 21:51:19
    Hallo Reiner,

    genau ;-)
    Ich lasse im Moment noch alle meine Sonos-Boxen permanent an und prüfe sie deshlb noch nicht. Jedoch ist meine Konfiguration durchaus noch im Entstehen....
    Schaltest Du deine per Funksteckdose aus?

    Wenn ich Dir irgend etwas helfen kann, gib mir einfach bescheid. Ich lese mich erstmal in Deinen Code ein, und würde ihn gerne um eine Offline-Voice.Methode ergänzen, obwohl mir durchaus bewußt ist, dass eine Stimme aus espeak undeutlicher klingt als die von Google. Wäre das in deinem Sinne, oder soll ich das lieber eigens auslagern?

    Lässt Du dich schon von diesem Modul wecken, oder nimmst Du noch die Sonos-interne Weckfunktion? Ich spiele derzeit mit den diversen Möglichkeiten herum, hab aber noch keine für mich zufriedenstellende Lösung gefunden..
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Oktober 2013, 23:22:53
    Hi,

    ich lasse meine Player eigentlich immer an. Ich habe hauptsächlich Dinge eingerichtet, die bei meinen Play:5 nach dem Transportieren wieder bestimmte Playlisten lädt, und die Tasten für Start, Stop, Forward usw. einrichtet.

    Spaßeshalber hatte ich mal sowas wie Durchsagen bei Anrufen und Türklingeln eingerichtet. Aber das habe ich wieder entfernt. Das ganze gesabbel war auf Dauer nervig :-)
    Eigentlich habe ich das ganze Modul Hauptsächlich für das Anschalten meines Verstärkers hinter meinem Connect gebaut :-) Der ganze Rest ist für die anderen Fhem-User gebaut :-)

    Meine persönliche Meinung zum Wecken (oder SleepTimer) ist, dass das im Sonos-System gut aufgehoben ist. Dort kann jeder aus dem Haus den Alarm noch verändern (besonders die Frau neben einem :-)
    Aber das kann auf beiden Seiten gut gelöst werden. Man erhält ja im Fhem auch ein Event bei SleepTimer- und Alarmereignissen...

    Das mit der Offline-Sprachausgabe kann ich relativ einfach einbauen. Ich würde dass dann allg. definieren, sodass man selber konfigurieren kann, welches man verwenden möchte. Das sollte kein Problem sein.
    Welches Offline-System würdest du denn empfehlen?
    Dann kann ich das zum Testen verwenden...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 15 Oktober 2013, 11:05:30
    espeak ist einfach zu verwenden, ich verwende es für ein Navi-Projekt. Interessant fände ich auch ein Caching von bereits generierten MP3s, damit nicht jedes mal eine neue geladen werden muss, was zu einem hörbaren Delay führt.


    Heute hatte ich wieder einen Abtzurz mit dieser Meldung, die gleich vielfach angezeigt wurde.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.


    Hilft diese Zeile weiter?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Oktober 2013, 11:37:50
    Hi JoeALLb,

    das mit espeak schaue ich mir mal an.
    Das mit dem Caching wird etwas schwierig werden, da man ja eine Art Datenbank vorhalten müsste, welche Datei mit welchem Text generiert wurde.
    Ich denke, dass es da einfacher ist, sich eine Datei genieren zu lassen, und anschließend an einem anderen Ort mit sprechenden Dateinamen abzulegen, und dann immer diese Datei abspielen zu lassen. Das kann man dann mittels "PlayURITemp" durchführen.

    Diese "Abstürze" sind manchmal leider normal. Die kommen immer mal wieder dann, wenn die Subscriptions erneuert/auf- oder abgebaut werden sollen, und sind ein Fehler in der verwendeten Library "perlupnp". In meinen Tests hatte das aber keinen Einfluss auf die Funktionalität. Geht denn irgendwas danach nicht mehr?

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: FHEM-Freak am 15 Oktober 2013, 12:19:27
    Beim mir läuft ein Sonos Play3 über Fhem der mit einem HM-PB-2-WM55 geschalten wird wobei ein Radiostream ein und ausgeschalten wird.
    Seit ich Fhem mit root rechte laufen lassen gibt es keine Probleme mehr mit Verzögerungen oder abstürze seitens Fhem.
    Werde das sicher noch ausbauen mit Temperatur ansage und weiteren Sonos Komponenten.
    Hoffe das die bald erhältlichen Sonos Play1 auch funktionieren.
    Perfekt Reiner weiter so und Danke dafür.
    8)
    Titel: Antw:Sonos steuern
    Beitrag von: peter79 am 16 Oktober 2013, 00:17:40
    Hallo Reiner,

    ich bin leider immer noch nicht wirklich weitergekommen - ausgeführt wird fhem definitiv per root.
    Mit folgender Meldung verabschiedet sich Thread 1 nach relativ kurzer, unbestimmter Zeit ( 1-10 Minuten / sowohl auf meinem Pi, wie auch in einer Ubuntu VM):

    root@ubufhem:/opt/fhem# Thread 1 terminated abnormally: Can't use string ("
        ") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/Common.pm line 219, <$client> line 2.

    Habe echt schon viel ausprobiert - komme hier aber irgendwie nicht weiter und das Problem scheint ja bei anderen auch nicht aufzutreten... Falls Du mehr Infos benötigst oder irgendeine Idee hast, lasse es mich bitte wissen.

    Dank und Gruß,
    Peter
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Oktober 2013, 00:56:09
    Hi Peter,

    die Meldung klingt auf jeden Fall erstmal komisch. Da scheint sich ein Device gemeldet zu haben, welches keine Kindelemente hat. Das sollte aber bei Sonos-Komponenten immer der Fall sein.

    Kannst du mal den Loglevel hochschrauben (auf 5), und die Konsolenausgabe (nicht das Fhem-Log) hier posten, oder mir per PN zukommen lassen?
    Vielleicht erkennt man dort etwas...

    Um das zu vereinfachen kannst du den UPnP-Server auch selber starten, und danach Fhem starten.
    Also z.B. erstmal Fhem komplett beenden, dann in dem FHEM-Verzeichnis:sudo perl 00_SONOS.pm 4711 5 > console.logausführen. Da müsste dann in der Datei "console.log" erstmal ungefähr folgende Ausgabe auftauchen:Current: "/etc/fhem/fhem/FHEM/00_SONOS.pm", gPath: ""
    2013.10.16 00:49:09 1: SONOS0: /etc/fhem/fhem/FHEM/00_SONOS.pm is listening to Port 4711

    Nun kannst du Fhem starten, wenn du dort allerdings eine andere Verbindung als localhost:4711 konfiguriert hattest, muss du das oben entsprechend anpassen. Sonst findet Fhem den Server nicht...

    Wenn dein Fhem sich dann verbunden hat, kommt noch so was in der Art dazu:2013.10.16 00:49:10 1: SONOS0: Connection accepted from localhost:57254gefolgt von ganz vielen Ausgaben, das Threads gestartet wurden, und irgendwelche Events empfangen wurden...

    Nun kannst du nach dem Auftreten des Fehlers bequem die Log-Datei weiterverarbeiten (z.B. mir senden :-)...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 16 Oktober 2013, 11:45:33
    Zitat von: Reinerlein am 15 Oktober 2013, 11:37:50
    Diese "Abstürze" sind manchmal leider normal. Die kommen immer mal wieder dann, wenn die Subscriptions erneuert/auf- oder abgebaut werden sollen, und sind ein Fehler in der verwendeten Library "perlupnp". In meinen Tests hatte das aber keinen Einfluss auf die Funktionalität. Geht denn irgendwas danach nicht mehr?

    Meine Abstürze scheinen leider direkt damit zusammenhängen. Ich bekomme immer diese Sequenz vor einem Absturz.
    Die CPU-Last geht bei der ersten Fehlermeldung auf 100% und fhem reagiert nicht mehr. Der Speicherverbrauch steigt.
    Manchmal fängt sich das System wieder, häufig wird fhem jedoch abgeschossen. Manchmal, wenn die CPU-KLast zu lange hoch bleibt (über 30 Minuten),
    dann rebootet der watchdog das Betriebssystem.
    -> Ich versuche jetzt auch mal, fhem als root auszuführen?!!?

    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Argument "disconnect" isn't numeric in numeric ne (!=) at FHEM/00_SONOS.pm line 2575, <$client> line 2.
    Argument "" isn't numeric in numeric ne (!=) at FHEM/00_SONOS.pm line 2562, <$client> line 2.
    Argument "" isn't numeric in numeric ne (!=) at FHEM/00_SONOS.pm line 2575, <$client> line 2.
    Argument "" isn't numeric in numeric ne (!=) at FHEM/00_SONOS.pm line 2562, <$client> line 2.
    Argument "" isn't numeric in numeric ne (!=) at FHEM/00_SONOS.pm line 2575, <$client> line 2.
    Argument "" isn't numeric in numeric gt (>) at FHEM/00_SONOS.pm line 3123, <$client> line 2.
    Argument "" isn't numeric in numeric gt (>) at FHEM/00_SONOS.pm line 3123, <$client> line 2.
    Argument "" isn't numeric in numeric gt (>) at FHEM/00_SONOS.pm line 3123, <$client> line 2.
    Argument "" isn't numeric in numeric gt (>) at FHEM/00_SONOS.pm line 3123, <$client> line 2.
    Argument "" isn't numeric in numeric gt (>) at FHEM/00_SONOS.pm line 3123, <$client> line 2.
    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 4081, <$client> line 2.
    Perl exited with active threads:
            2 running and unjoined
            0 finished and unjoined
            0 running and detached
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 16 Oktober 2013, 11:49:12
    Zitat von: Reinerlein am 15 Oktober 2013, 11:37:50
    Das mit dem Caching wird etwas schwierig werden, da man ja eine Art Datenbank vorhalten müsste, welche Datei mit welchem Text generiert wurde.
    Hm, eine einfache Lösung, die für mich völlig reichen würde, wäre, den dateinamen als sha1-hash des Textes zu erzeugen, und vor einem download einfach zu prüfen, ob diese Datei schon vorhanden ist. Ich bezweifle, dass ich dadurch einen doppelten Dateinamen bei anderen Textmeldungen erhalten würde, und wenn doch, würde ich es als unkritisch einstufen. Ob die Lösung jedoch als "allgemeingültig" eingestuft werden kann, kann ich derzeit nicht beurteilen.
    Titel: Antw:Sonos steuern
    Beitrag von: peter79 am 16 Oktober 2013, 23:47:50
    Hi Reiner,

    besten Dank für die Hinweise - die Logs bleiben aber leider leer und der Thread stürzt ab, wie beschrieben.

    @Da scheint sich ein Device gemeldet zu haben, welches keine Kindelemente hat. Das sollte aber bei Sonos-Komponenten immer der Fall sein.
    --> Das war jetzt aber trotzdem der entscheidende Hinweis :-)

    Habe aufgrund dessen, einmal den Traffic in meinem Netz etwas genauer angeschaut:
    --> da sprechen doch auch noch andere Komponenten UPnP... wie z.B. das IPMI meines Supermicro Mainboards im VM-Server (grr... kann noch nicht mal abgestellt werden, OK könnte sicher auch in ein anderes VLAN, aber ich will das zu hause mal nicht übertreiben...).
    --> Genau dann, wenn sich das IPMI mit einer SSDP-Message meldet, scheint Dein Modul das IPMI als Device einbinden zu wollen und der Thread stürzt ab :-(

    Da ich im Moment nicht sicher bin, ob dies an der UPnP-Lib oder Deinem Script liegt - ist es ggf. möglich die Prüfroutine der zulässigen Geräte etwas zu verfeinern (denke dass könnte mit anderen Devices auch noch Probleme geben...)?

    Viele Grüße
    Peter
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Oktober 2013, 00:55:51
    Hi Peter,

    hmm... eigentlich sage ich in meiner Broadcast-Such-Anfrage, dass ich Geräte haben möchte, die den Typ "urn:schemas-upnp-org:device:ZonePlayer:1" haben. Alles andere sollte dann auch nicht gemeldet werden.

    Aber du hast natürlich Recht, ich prüfe in meiner Callback-Methode dann nicht mehr, was sich da eigentlich gemeldet hat, sondern laufe einfach mit meiner Verarbeitung los :-)
    Ich schaue mir das nochmal an, da kann man sicherlich noch eine Prüfung einbauen, mein Skript ist da nur etwas gutgläubig...

    Allerdings sollte wirklich was auf der Konsole rauskommen, da wird so einiges gemeldet. Aber wir haben jetzt ja erstmal einen Anhaltspunkt den ich verfolgen/ausmerzen kann. Dann schauen wir weiter...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 17 Oktober 2013, 18:42:42
    Bei einem Tastendruck liefert ein Notify mit folgendem Inhalt

    set Sonos_Wohnzimmer RemoveMember Sonos_Schlafzimmer,Sonos_Kueche,Sonos_Bad;;
    set Sonos_Wohnzimmer stop


    diese Fehlermeldung...
    Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/21_SONOSPLAYER.pm line 486.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Oktober 2013, 20:25:22
    Hi JoeALLb,

    der Befehl "RemoveMember" ist momentan nur für das Entfernen von einem Mitglied der aktuellen Gruppe gebaut (genauso wie "AddMember" nur einen hinzufügen kann). Es kann also keine Liste übergeben werden, sondern nur ein Devicename.

    Ich schreibe das mal auf meine Liste, dass dort auch mehrere Elemente möglich sein sollen.

    Alternativ dazu kannst du am zentralen Sonos-Device den "Groups"-Befehl verwenden. Wenn du einen Zoneplayer alleine in einer Zone haben möchtest, kannst du das dort z.B. mit dem Befehlset Sonos Groups [Sonos_Wohnzimmer]erreichen.

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 17 Oktober 2013, 21:26:54
    Hallo Reinerlein,

    danke für die Info, das habe ich wohl übersehen.

    set Sonos Groups [Sonos_Wohnzimmer]
    hat leider nur einmal funktioniert, seither macht es nichts mehr.... während andere Befehle aber noch angenommen werden.
    Seltsam alles.... ich teste weiter!
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 17 Oktober 2013, 22:06:19
    Nachtrag:
    Wenn ich alle Sonose getrennt einzeln angebe, löst er die Gruppen zuverlässig auf!
    Bsp:
    set Sonos Groups [Sonos_Bad], [Sonos_Kueche]


    Folgendes fällt mir noch auf: Wenn ich diesen Befehl über ein notify starte,
    set Sonos Groups [Sonos_Wohnzimmer,Sonos_Kueche];;set Sonos_Wohnzimmer LoadRadio BAYERN%203;;set Sonos_Wohnzimmer Play;;set Sonos_Wohnzimmer Volume 40;;set Sonos_Kueche Volume 40
    kommt folgender Fehler.
    Hier habe ich das % in Bayern 3 vergessen zu escapen.

    String found where operator expected at (eval 617) line 1, near "Tirol",""
    Bareword found where operator expected at (eval 617) line 1, near "","LoungeFM"
            (Missing operator before LoungeFM?)
    String found where operator expected at (eval 617) line 1, near "LoungeFM",""
    Bareword found where operator expected at (eval 617) line 1, near "","ORF"
            (Missing operator before ORF?)
    String found where operator expected at (eval 617) line 1, near "4",""
            (Missing operator before ","?)
    Bareword found where operator expected at (eval 617) line 1, near "","RTL"
            (Missing operator before RTL?)
    Number found where operator expected at (eval 630) line 1, near "" not found. Choose one of: "95.5"
            (Missing operator before 95.5?)
    Bareword found where operator expected at (eval 630) line 1, near "95.5 Charivari"
            (Missing operator before Charivari?)
    String found where operator expected at (eval 630) line 1, near ")",""
            (Missing operator before ","?)
    Bareword found where operator expected at (eval 630) line 1, near "","Antenne"
            (Missing operator before Antenne?)
    Bareword found where operator expected at (eval 630) line 1, near "","BAYERN"
            (Missing operator before BAYERN?)
    Number found where operator expected at (eval 630) line 1, near "BAYERN 3"
            (Do you need to predeclare BAYERN?)
    String found where operator expected at (eval 630) line 1, near "3",""
            (Missing operator before ","?)
    Bareword found where operator expected at (eval 630) line 1, near "","Bayern"
            (Missing operator before Bayern?)
    Number found where operator expected at (eval 630) line 1, near "Bayern 2"
            (Do you need to predeclare Bayern?)
    String found where operator expected at (eval 630) line 1, near "2",""
            (Missing operator before ","?)
    Bareword found where operator expected at (eval 630) line 1, near "","Jamcast"
            (Missing operator before Jamcast?)
    String found where operator expected at (eval 630) line 1, near "Jamcast",""
    Bareword found where operator expected at (eval 630) line 1, near "","Life"
            (Missing operator before Life?)
    String found where operator expected at (eval 630) line 1, near "Tirol",""
    Bareword found where operator expected at (eval 630) line 1, near "","LoungeFM"
            (Missing operator before LoungeFM?)
    String found where operator expected at (eval 630) line 1, near "LoungeFM",""
    Bareword found where operator expected at (eval 630) line 1, near "","ORF"
            (Missing operator before ORF?)
    String found where operator expected at (eval 630) line 1, near "4",""
            (Missing operator before ","?)
    Bareword found where operator expected at (eval 630) line 1, near "","RTL"
            (Missing operator before RTL?)
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 3752.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 3752.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 3752.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 3752.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Oktober 2013, 22:53:25
    Hi JoeALLb,

    Bei deinem Radiosender schnippelt Fhem das Prozent-Zeichen raus, und setzt dafür den Namen des Events ein.

    Du musst in einem Notify "%%" schreiben, um ein Prozentzeichen durchzubekommen.

    Zu den Gruppen: Der Befehl erzeugt die angegebenen Gruppenkonstellationen. Mein Tipp war eher eine Zweckentfremdung dessen, da ich davon ausgegangen bin, dass du gerne dein Wohnzimmer alleine haben wolltest :-) Wenn du alles in einzelne Zonen möchtest, musst du das so machen, wie du geschrieben hast. Korrekterweise auch noch mit dem Wohnzimmer:set Sonos Groups [Sonos_Bad], [Sonos_Kueche], [Sonos_Wohnzimmer]

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: peter79 am 18 Oktober 2013, 00:05:18
    Hi Reiner,

    ZitatAllerdings sollte wirklich was auf der Konsole rauskommen, da wird so einiges gemeldet. Aber wir haben jetzt ja erstmal einen Anhaltspunkt den ich verfolgen/ausmerzen kann. Dann schauen wir weiter...

    --> OK, hatte mich etwas falsch ausgedrückt, natürlich wird mit "verbose 5" viel gelogged - aber während des Absturzes halt leider nichts, was nicht sonst auch kommt (z.B. die normalen keepalives). Hier noch einmal dargestellt - das ging diesmal schneller als ich nach aufstecken des IPMIs auf den Switch aus dem Keller wieder hochlaufen konnte  ;-)

    2013.10.17 23:21:14 4: SONOS2: IsAlive-Event UDN=RINCON_000E58EFB30601400_MR
    2013.10.17 23:21:14 5: SONOS2: Location: http://192.168.1.106:1400/xml/device_description.xml
    2013.10.17 23:21:14 5: SONOS2: PingType: icmp
    2013.10.17 23:21:14 4: SONOS2: 192.168.1.106 is alive
    Thread 1 terminated abnormally: Can't use string ("
        ") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/Common.pm line 219, <$client> line 2.
    2013.10.17 23:21:24 4: SONOS2: IsAlive-Event UDN=RINCON_000E58F2222801400_MR
    2013.10.17 23:21:24 5: SONOS2: Location: http://192.168.1.107:1400/xml/device_description.xml
    2013.10.17 23:21:24 5: SONOS2: PingType: icmp
    2013.10.17 23:21:25 4: SONOS2: 192.168.1.107 is alive


    Zitathmm... eigentlich sage ich in meiner Broadcast-Such-Anfrage, dass ich Geräte haben möchte, die den Typ "urn:schemas-upnp-org:device:ZonePlayer:1" haben. Alles andere sollte dann auch nicht gemeldet werden.
    Aber du hast natürlich Recht, ich prüfe in meiner Callback-Methode dann nicht mehr, was sich da eigentlich gemeldet hat, sondern laufe einfach mit meiner Verarbeitung los :-)

    --> Soweit ich im Dump sehen kann, erfolgt vor der SSDP-Message des IPMI keine Broadcast-Suchanfrage. Bin mir nicht sicher, wie Du das hier gemeint hast, aber für mich sieht es so aus, als würde die Callback-Methode dann eher auf alles hören, was an UPnP SSDP-Messages übers Netz kommt oder liegt das Problem vielleicht schon in der UPnP/Common.pm lib?! Bin hier im Moment nicht im Bilde, wie das alles zusammenspielt. Wenn ich mir Deinen Code anschaue, sollte da aber soweit ich es sehe wirklich eine Logging-Message kommen...

    Mach Dir bitte keine Stress - ich habe für mich ja erst einmal eine Lösung gefunden (Switch-Port-Shutdown für das IPMI, so oft brauche ich das zum Glück nicht...) - wie gesagt, könnte ich mir aber vorstellen, dass es früher oder später auch andere über dieses Problem stolpern - mit welcherm UPnP-Gerät auch immer.

    PS: Nach Abschaltung des IPMI lief das ganze bis zum Zeitpunkt als ich den Port wieder aufgesteckt hatte :)

    Viele Grüße
    Peter
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 18 Oktober 2013, 00:50:03
    Hallo Reiner, sorry,
    das hätte ich genauer schreiben sollen, aber das ist mir schon aufgefallen.
    Ich dachte nur, die Logdaten wären dennoch hilfreich, um das eventuell abzufangen...

    Gibt es für das URLencoden eigentlich eine Funktion, damit soetwas ähnliches wie
    {fhem (set Sonos_Wohnzimmer LoadRadio $encode("BAYERN 3") } möglich wird?

    Gibt es eine Möglichkeit, schnell alle Sonosse abzuschalten? Derzeit schalte ich alle nacheinander ab,
    was leider eine weile dauert.... Im Controller gibt es die Funktion "Alle Anhalten", die deutlich schneller reagiert.
    Ich dachte nur, dass es vielleicht in einen einzigen Aufruf gesteckt werden kann......



    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 Oktober 2013, 02:22:13
    Hallo zusammen,

    @Peter: Ich bin da gerade am Untersuchen, wie sich ein Zoneplayer vielleicht von anderem unterscheiden läßt. Das sollte wohl eigentlich möglich sein :-)
    nur kurz zum Komzept von UPnP: Man startet eine Suchanfrage als Broadcast in das lokale Netz. Dabei gibt man an, von welchen Grätetypen man Discover-Nachrichten erhalten möchte. Das wird dann im Normallfall gefiltert (ob das erst in der UPnP-Library erfolgt, oder das Device sich gar nicht erst meldet, weiss ich auch gerade nicht so genau), und über meine Callback-Methode gemeldet. Das bedeutet, daß dein IPMI auf eine solche Suchanfrage reagiert, und in meiner Callback-Methode landet. Im Prinzip ist es wurscht, warum genau. Das muss ich auf jeden Fall abfangen :-)
    Leider ist bei meinem Rechnersystem gerade ein Problem aufgetreten um das ich mich kümmern muss. Ich bitte da also kurzzeitig um etwas Geduld.

    @JoeALLb: Mit dem zentralen Stop für alle Sonos-Geräte schaue ich mal, wie der Original-Controller das macht. Aber ich gehe davon aus, dass der auch nur an alle nacheinander eine Nachricht sendet. Aber mal schauen...
    Zu den Playlistnamen: Wenn das Sonos Modul läuft, dann hat dein Perl offensichtlich das URI::Escape Paket geladen (ist eine Voraussetzung:-). Das bedeutet, du kannst mit dem Aufruf vonuri_escape('Meine Playlist')das Leerzeichen umwandeln lassen. Ich verwende auf der Befehlsempfangsseite das Pendant "uri_unescape()" aus diesem Paket. Das sollte also passen...

    Wie gesagt, ist mir gerade ein Problem Dazwischengekommen und damit meine Entwicklungsumgebung abhanden gekommen... Es gibt hier also eine kurze Verzögerung in der Weiterentwicklung...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 21 Oktober 2013, 20:27:50
    Hallo!

    Habt ihr eine Idee? Seit heute wird folgender text immer in der Küche, statt im Wohnzimmer ausgegeben:
    set Sonos_Wohnzimmer Speak 50 de Durchsage Test

    Ich habe fhem neu gestartet und habe noch immer das selbe ergebnis! Bin echt ratlos!
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Oktober 2013, 21:56:35
    Hallo JoeALLb,

    das Modul unterscheidet die einzelnen Player anhand der eindeutigen UDN. Hast du deine Sonos Landschaft vielleicht umbenannt?
    Das würde Fhem nicht weiter interessieren, da er ja immer noch die alten UDNs zu den alten Namen hat. Das kannst du kontrollieren, indem du an deinem SonosController die Informationen "Über das Sonos-System" ausgeben läßt, und mit den bei Fhem angegebenen UDNs vergleichst.
    Die UDN ist das Kürzel "RINCON_" gefolgt von der Seriennummer (was auch die Hardware-MAC-Adresse des Geräts ist) ohne Bindestriche, gefolgt von der Konstanten "1400_MR".

    Schau mal, ob die Fhem-Playernamen noch mit den entsprechenden Sonos-Playernamen übereinstimmen...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 21 Oktober 2013, 22:08:01
    Hallo Reiner,

    danke für die Nachricht! Nein, ich habe nichts umbenannt und habe sie auch nicht umgestellt.
    Aber jetzt geht es wieder. Ich habe alle in eine Gruppe geschmissen und die Gruppe dann einzeln wieder aufgelöst: --> Jetzt kommen die Befehle
    (es gab auch noch andere..) wieder beim korrekten Gerät an.
    Passiert ist es erstmals, nachdem ich solch einen Befehl an ein Gerät geschickt habe, das sich gerade in einer anderen Gruppe befunden hat....

    seltsam, und meine Frau war ganz schön überrascht!!! :D
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Oktober 2013, 00:15:48
    Hi JoeALLb,

    ok, damit hast du einen Bug entdeckt. Der Befehl "AddMember" ist stillschweigend davon ausgegangen, dass der hinzuzufügende Player "frei" ist.
    Das muss ja nicht immer so sein :-)

    Dabei entstehen wirklich lustige Konstellationen (das sieht man im Original-Controller nur anhand der Abspiellisten), dass ein Player z.B. zwar alleine eine Gruppe bildet, aber nicht sein eigener Koordinator ist :-)
    Das ist doch eher ungewöhnlich...

    Ich werde das also entsprechend anpassen...

    Als Notbehelf kann man den Befehl "set Groups" verwenden, und dort alle Player als jeweils eigene Gruppe angeben. Dann räumt er damit wieder auf...

    Danke für die Meldung.

    Grüße, Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 24 Oktober 2013, 06:11:21
    Hallo Reiner,
    Ich stolper ab und an über Abstürze meines Netzwerks, in diesem Zusammenhang ist mir der Avahi server aufgefallen der auf dem Raspi läuft, ich vermute mal das es für das Sonos Modul gebraucht wird...
    Kannst du mal was zu avahi sagen? Ich fand im ubuntu wiki einen Artikel in dem zum Beispiel beschrieben wird das man IPv6 ausklammern könne falls nicht benutzt...
    Was sind deine Anforderungen an avahi?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Oktober 2013, 08:59:44
    Hallo Der-Lolo,

    mir ist kein (direkter) Bezug des Sonos-Moduls zu avahi bekannt. Ich kannte das auch noch gar nicht. Es kann natürlich sein, dass ein Perl-Modul das irgendwo mitbringt.

    Ein Blick auf Wikipedia bzgl. avahi hat aufgezeigt, dass auch ein grafischer Desktop dieses Modul mitbringen könnte. Kann es sein, dass du sowas auf deinen Pi installiert hast?

    Edit: Es könnte auch von Bonjour gekommen sein. Das scheint eine zeroconf-Implementierung von Apple zu sein...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 31 Oktober 2013, 22:17:39
    Hallo Reiner,
    mal wieder ein Statusupdate von mir. Nach kompletter Neuinstallation von Linaro Linux, Perl und Fhem auf einem Cubieboard2 läuft Dein Modul auch bei mir. Es lag also wirklich an der Ordnerstruktur des Busware RPI Image vom September letzten Jahres, welches ich für meine 3 RPI immer nur geklont und angepasst hatte. Nach dem ersten Eindruck rennt das alles sehr schnell.
    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 06 November 2013, 10:50:46
    Zitat von: FHEM-Freak am 15 Oktober 2013, 12:19:27
    Hoffe das die bald erhältlichen Sonos Play1 auch funktionieren.

    Funktioniert ohne Probleme  :)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 November 2013, 15:45:22
    Hallo zusammen,

    von mir auch mal wieder eine Meldung.
    Ich habe meinen Rechner-Ausfall nun hinter mich gebracht, und kann mich wieder um das Modul kümmern.
    Ich bin gerade an dem Phänomen von komischen Lautstärken bei Durchsagen bei Gruppen. Ansonsten steht ja noch der eine oder andere Punkt auf der Liste...

    Ich denke, dass es am Wochenende was neues geben könnte...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Will am 10 November 2013, 21:38:58
    Hallo zusammen,

    Wieder mal ein neues fhem aufgesetzt und mich auf das neue sonos Modul gefreut. Zusätzlich betreibe ich eine neue sonos Komponente. Jetzt laufen play 1, play 3, und ein connect.
    Mit dem neuen sonos Modul läuft es aber noch nicht so rund:
    Alle player werden erkannt und die readings sind korrekt (sehe ich wenn ich mit der sonos APP bediene). Den play 1 kann ich über fhem bedienen....wenn ich dann den connect an machen will (play) geht der play 1 an. Wenn ich den play1 trenne, passiert gar nichts, also ein play bewirkt nichts....
    Meine notifies habe ich umgestellt auf das "große S" ;-)

    Hat da jemand eine Idee?

    Danke

    Wil

    Sent from my Nexus 7 using Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Will am 10 November 2013, 22:13:03
    Ach ja, stelle gerade fest, dass VolU und VolD und MuteT funktionieren, Play und Pause jedoch nicht.....die scheinen immer noch an den nplay1 zu gehen, obwohl abgesteckt (bei diesen befehlen motzt der log, dass der player bathroom - der play1- dissappeared ist)....

    W

    Sent from my Nexus 7 using Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 November 2013, 00:13:38
    Hi Will,

    kann es sein, dass diese beiden vorher eine Gruppe gebildet hatten? Vielleicht sogar so, dass der nun fehlende Play1 der Gruppenmaster war?

    Das würde darauf hindeuten, da die Lautstärke natürlich immer direkt an den entsprechenden Player gesendet wird, und Play/Pause usw. an den sogenannten Gruppenmaster...

    Ich fürchte, ich musss mir noch ein paar Gedanken um dieses ganze Gruppengetue machen. Diese Gruppen werden in meinen Augen nicht sauber von Sonos behandelt, sonst würden die verbleibenden Mitglieder eine Nachricht senden, dass sich der Zustand verändert hat... So aber bleibt alles beim Alten, und die Controller gucken in die Röhre, und senden ihre Signale an den falschen Player...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Will am 11 November 2013, 06:31:33
    Hallo reinerlein,
    Du hast natürlich recht, da hat fhem irgendwie nicht mitbekommen, dass es die Gruppe nicht mehr gibt. Wie wird in fhem denn die Gruppen aufgelöst? Muss man da immer jeden einzelnen player ungroupen? Ich mache mir dann malmeinen button der das tut......

    Sent from my Nexus 7 using Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 November 2013, 13:01:30
    Hi Will,

    das Problem ist, dass es keine Möglichkeit gibt 'in Fhem' zu ungroupen. Ich kann zwar Gruppieren und das auch wieder auflösen, das erfolgt aber durch Versenden von Nachrichten an die Player. Die wirkliche Gruppierungsfeststellung erfolgt dann durch einen Callback-Aufruf seitens der Player bei Fhem.

    Soll heissen, man hat keinen direkten Einfluss auf die Zoneplayer-Gruppen in Fhem, sondern die Player senden diesen Zustand an Fhem.

    Das bedeutet dann aber auch, dass du einen nicht mehr vorhandenen Player nicht mehr ungroupen kannst (Fhem sagt dir dann richtigerweise dass der Player verschwunden ist :-)

    Wie gesagt, ich muss mir da mal Gedanken machen, ob ich das Sonos-System als solches nicht zu einer Status-Aktualisierung überreden kann...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 14 November 2013, 22:39:03
    Hallo,
    ich bin neu im fhem Forum. Habe mir heute einen rasperry pi bestellt und will nun in Sachen Homeautomation mit Sonos und Fritzbox anfangen.

    In den letzen Tagen habe ich etwas mit php-Sonos herumgespielt, Grruppen gebildet, wieder aufgelöst, Radiosender abgespielt, Playlisten ausgelesen und gespeichert usw.

    Da Sonos später mit enocean Komponenten verbinden möchte, habe ich mich inzwischen in einige Systeme eingelesen und mich jetzt für fhem entschieden, da es meiner Ansicht nach meisten Möglichkeiten bietet....


    Meine Vorstellungen sind:
    - Gruppenkonfigurationen zeitgesteuert oder per Tastendruck bilden und wieder aufzulösen.
    - das Bilden von Stereopaaren bei play1 und play3
    - Einbinden eines SUBs (play3 + play3 +SUB)
    - Musik langsam ein und ausblenden bei Ereignissen (z.B. Telefon klingelt)
    - Türklingel mit BigBen-Sound als mp3
    - Sleeptimer auf Tastendruck (Lichtschalter)
    - Wecker über Google Calendar steuern

    Welche dieser Funktionen werden schon stabil unterstützt und welche könnten irgendwann mal funzen...und was ist aus der Sicht der Experten unlösbar!

    Zum Testen von Funktionen bin ich gerne bereit, nur leider habe ich keinen großen Plan vom Programmieren..

    Vielen Dank,
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 November 2013, 11:20:57
    Hallo djhans,

    erstmal herzlich willkommen bei Fhem :-)

    Zu deinen Fragen kann ich ein paar Antworten geben:
    - Gruppenkonfigurationen können über das Modul durchgeführt werden, und sind damit über Fhem-Zeit-Events auch Zeitgesteuert machbar.
    - Stereopaare gehen mit dem Modul nicht. Ich habe bislang die Philosophie verfolgt, dass nur das in der Automation landet, was auch automatisiert praktikabel ist. Diese Stereopaare sorgen nach der Einrichtung dafür, dass ein (bzw. zwei) Player "nicht mehr existiert" und damit über das Fhem-Modul auch nicht mehr greifbar wird. Ich vermute, dass es im Anschluss schwer wird, diese wieder aufzulösen (zumindest nicht über eine Umkehr-Operation, sondern durch eine Nachricht an den neu entstandenen Player). Verifiziert habe ich diese Aussage aber jetzt nicht. Ich kann mir das nach den momentan anliegenden Punkten ja mal anschauen...
    - Ich weiss jetzt nicht, was du mit Einbinden eines SUBs meinst. Das Einrichten selbst kann das Modul analog zu den Stereopaaren nicht. Benutzen aber schon, da sich das ganze Gebilde dann ja als ein Player meldet.
    - Musik langsam ein-/ausblenden ist nicht implementiert. Da kann ich aber mal schauen, ob das System das beherrscht. Ansonsten würde das für ein bisschen Last auf Fhem sorgen, da du eine Art Schleife bauen müsstest. Bedenke dabei aber, das das Modul eine eigene Warteschlange für die Anweisungen an die Player hält, und deine gesammelten Lautstärkeanpassungen dann u.U. in einem Rutsch ankommen...
    - Türklingel ist dann kein Problem, wenn diese ein Event in Fhem verursacht :-) Das (temporäre) Abspielen von Dateien geht mit dem Modul
    - Der Sleeptimer kann von Fhem aus gesetzt und auch abgefragt werden. Du kannst also auch ein Fhem-Event erzeugen lassen, wenn ein Sleeptimer abläuft. Damit kann man z.B. 10 Sekunden nach Ablauf des Sleeptimers das Licht ausmachen :-) Damit kann man auch auf Steuerungen aus Sonos heraus reagieren.
    - Der Wecker ist auch über Fhem einstellbar, und somit über eine geschickte Event-Erzeugung das auch über Google-Calendar einstellen lassen. Der umgekehrte Weg geht auch: Wenn jemand den Sonos-Wecker über seinen Controller anpasst, dann kannst du ein Fhem-Event dazu bekommen.

    Im Normalfall sind die Funktionen, die unterstützt werden, auch stabil. Da ich an dem einen oder anderen Punkt aber noch aktiv dran bin, bzw. diese recht frisch sind, kann es immer mal wieder zu einem Fehler kommen...

    Zu den Möglichkeiten kannst du auch mal im Fhem-Wiki nachschauen: http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 15 November 2013, 12:35:13
    Hallo Reiner,
    ganz lieben Dank für die schnelle Antwort.

    Ja, das mit den Stereo-Paaren und dem SUB ist natürlich schade! Aber ich denke auch, daß es recht komplex werden könnte, zumal man die Einstellungen des einzelnen Players vor und nach der Bildung als Stereopaar speichern müsste (Bass, Höhen, Loudness), da diese per Default nach der Zusammenkunft und Trennung auf Std.-Werte zurückgesetzt werden.

    Meine Anwendung ist die, daß ich halt ab und zu die beiden Play3s aus dem Schlafzimmer und dem Bad zusammen mit dem "Wohnzimmer-Sub" als Play3-Stereopaar mit SUB im Partykeller betreibe. Wenn man diese Konfigurationen auf Knopfdruck umstellen könnte, wäre das natürlich super genial!

    Das mit der Musik ein-und ausblenden geht mit PHP-Sonos. Die Funktion heißt  RampToVolume und funktioniert unter php eigentlich ganz gut bei mir.
    $sonos->RampToVolume(AUTOPLAY_RAMP_TYPE, 30); // Lautstärke steigt auf 30% an
    $sonos->RampToVolume(SLEEP_TIMER_RAMP_TYPE, 0); //Lautstärke wird ausgeblendet auf 0%
    Dafür braucht man keine Schleife. Ich habe es nur nicht hinbekommen, daß der Player beim ausblenden bis auf 0  auch wirklich abschaltet. Er geht halt nur auf "Mute"

    Keine Ahnung ob Dir das Bsp. hilft, aber es sollte funzen...

    Gruß,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 November 2013, 13:35:57
    Hi djhans,

    das mit der RampToVolume-Geschichte wird dann auf jeden Fall gehen. Ich schaue mir das, wie gesagt, mal an, und baue es ein.

    Mit dem Umbauen der Zonen kann ich ja mal schauen. Es wird dann halt nicht so bequem gehen, aber vielleicht kann ich da ja eine Art "Roh-Steuerungs-Modus" auf dem zentralen Modul machen (also nicht Device-abhängig). Ich kann ja auch noch einbauen, dass sowas wie Bass und Treble auch einstellbar sind, dann könnte man sich vielleicht zumindest eine Grundkonfiguration bauen.
    Wie gesagt, ich schaue mal, ob das sinnvoll geht... Ich habe das ganze Verhalten bei sowas bei mir noch nie untersucht...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 15 November 2013, 13:52:03
    Hi Reiner,
    super genial! Ich teste auch gerne alles durch.....
    Aber zuerst muss mein raspberry ans Fliegen kommen (Lieferung ist für morgen angekündigt!). Ich hoffe fhem funzt auch nur mit SONOS!
    Und dann muss ich so langsam anfangen alles auf enocean umzustellen, damit die Hütte auch"smart"  wird! ...und das wird ein langer kostenintensiver Weg...
    Ich hoffe nur, fhem ist die richtige Wahl gewesen.

    Ich melde mich wenn fhem läuft...
    Besten Dank und Gruß,
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 18 November 2013, 21:43:00
    Hallo Reiner,
    ich habe fhem nun auf dem pi laufen. Die Sonos Module habe ich lt. wiki mit "update thirdparty http://fhem.lmsoft.de/sonos sonos" in fhem installiert.
    Wie kann ich sehen, dass alles ok ist? Ich habe erwartet, dass die Sonos Module unter "Edit files" auftauchen.
    Gibt es eine einfache Möglichkeit einen Test zu machen? Oder ist ggf. bei der Installation der Module schief gegangen.

    die perl-Libs habe ich installiert.
    apt-get install libwww-perl libsoap-lite-perl
    Nachtrag:
    ich versteh noch nicht, wie man das System anspricht. Per Zufall hatte ich plötzlich Daten vom Sonos. Keine Ahnung wie ich das gemacht habe, habe es wieder gelöscht....wie macht man das ohne Zufall?

    Gruß,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 November 2013, 23:30:27
    Hi Christian,

    du hast dann erstmal nur meine Moduldateien vorhanden. Du müsstest jetzt mal das Sonos Modul initialisieren.
    z.B.:
    define Sonos SONOS localhost:4711 30

    Dann wirst du vielleicht noch das eine oder andere Perl-Modul nachinstallieren müssen. Das siehst du dann im Log. Dazu gibt es dann auch Hinweise im Wiki-Artikel. Aber das hast du ja auch schon entdeckt :-)

    Wenn alles funktioniert, werden automatisch alle Zoneplayer erkannt und angelegt. Wie bei Fhem üblich, erfolgt das alles erstmal nur im Speicher...
    Die Weboberfläche erreichst du im Normalfall unter http://ip.adresse:8083

    Grüße Reiner

    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 19 November 2013, 08:25:15
    Hallo Reiner,
    1000 Dank!. Das war es! Er findet alle Player.Ich hatte die "define" -  Zeile zwar schon gesehen, aber dachte es wäre nur ein Bsp. Ich konnte mit "4711 30" nix anfangen und habe es weggelassen....

    Nun gut!
    Jetzt kann ich ein wenig rumspielen.

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 November 2013, 10:11:30
    Hi Christian,

    schön :-)

    Nur zur Erklärung:
    Der Parameter
    localhost:4711
    beschreibt die Adresse, unter der der Subprozess erreichbar ist, bzw. gestartet wird.

    Die 30 sind der Timerintervall in Sekunden, in dem die Player auf Vorhandensein geprüft werden sollen.

    Viel Spaß beim Probieren...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 19 November 2013, 14:49:02
    Hallo,
    Besten Dank! Das verstehe ich (..."4711" erinnert mich immer an das Wasser aus Köln ;-)).
    Ich teste mal alles durch. Auf jeden Fall ist das eine feine Sache mit dem Sonos...

    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 19 November 2013, 16:11:30
    Hallo,
    also, irgendwie bin ich zu doof die Syntax zu kapieren!

    Ich will einfach nur in die fhem.cfg eintragen, daß auf einem bestimmten Sonos ein Radiosender abgespielt wird.

    Folgendes ist in der Config eingetragen:

    define Sonos SONOS localhost:4711 30
    Auf der linken Seite findet fhem nun meine 3 Kisten unter dem Label Sonos:
    Sonos_Wohnzimmer
    Sonos Schlafzimmer
    Sonos_Bad

    Wenn ich über das WebInterface nun Befehle absetzte, klappt das wunderbar, z.B.

    set LoadRadio WDR%202%20Ruhrgebiet

    Nun will ich das Ganze für die Kiste im Schlafzimmer in die Config einbauen und breche mir die Finger dabei!


    Setze Lautstärkre auf 20
    Lade WDR 2
    setzte sleeptimer 15
    schalte Schlafzimmer aus


    kriege ich nicht hin. Sobald ich versuche mit define Sonos_Schlafzimmer irgendetwas in die cfg einzutragen und speichere, meckert fhem, daß ich zuerst Bad und Wohnzimmer definieren muss...


    Das verstehe ich schon wieder nicht. Wie muss ich das aufbauen=


    Christian.



    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 November 2013, 17:20:13
    Hi Cristian,

    aller Anfang ist schwer:-)

    Du hast doch schon mal einen Anfang. Die Geräte reagieren, und du kannst Befehle absetzen... Der Rest ist jetzt Fhem Notation kennenlernen :-)

    In meinem Wiki-Artikel gibt es auch ein paar Beispiele, wie man das so machen könnte.
    Als Grundlage:
    - Du musst dir überlegen, was du eigentlich machen möchtest: Möchtest du auf ein Event (z.B. einen Tastendruck bei einer anderen, in Fhem verfügbaren, Komponente) reagieren? Möchtest du auf der Oberfläche von Fhem eine Steuermöglichkeit haben?
    - Ein Event wird z.B. in Fhem mit "notify" eingerichtet, und hat dann die Form
    define NameDesNotify notify RegulärerAusdruckDerDasEventBeschreibt AktionDieAusgeführtWerdenSoll

    Dazu empfiehlt sich auf jeden Fall auch die Lektüre der diversen Fhem-Einstiegsdokumente...
    Z.B.: http://fhem.de/Heimautomatisierung-mit-fhem.pdf

    Auf jeden Fall musst du die SonosPlayer nicht mehr per define definieren, da dies bereits erledigt wurde. Du kannst diese Komponenten nun benutzen, indem du sie steuerst, oder auf Events dieser Komponenten reagierst, indem du ein passendes Notify schreibst...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 20 November 2013, 13:58:25
    Hallo,
    danke für den Hinweis. Ich werde mal ein wenig probieren. Ich ahbe im Logfile allerdings zig Fehler, die nach einer gewissen Zeit auftauchen. Kann das jemand deuten? Das ist nur ein Ausschnitt:

    2013.11.20 13:48:23 0: SONOS0: ERROR in DoWork: 'play' -> UDN is undefined - []

    2013.11.20 13:48:24 0: SONOS0: Fehlerhafter Aufruf von DoWorkAnswer: :LastActionResult:CheckProxyObject-ERROR: SonosPlayer disappeared
    2013.11.20 13:48:29 0: SONOS0: ERROR in DoWork: 'pause' -> UDN is undefined - []

    2013.11.20 13:48:29 0: SONOS0: Fehlerhafter Aufruf von DoWorkAnswer: :LastActionResult:CheckProxyObject-ERROR: SonosPlayer disappeared


    Das ist sicherlich nicht normal:

    Dan habe ich versucht einen ganz einfachen Aufruf zu programmieren, aber auch da mache ich immer noch etwas gasch:

    define SonosAn at 13:00:00 set Sonos_Schlafzimmer Play

    Soll bezwecken, dass er einfach um13:00 Uhr die Kiste einchaltet, aber im Log steht:
    2013.11.20 13:00:00 3: SonosAn: Please define Sonos_Schalfzimmer first

    Hängt das mit den Fehlermeldungen zusammen, oder ist der Aufruf einfach falsch! Wenn ich in fhem einfach:
    set Sonos_Schlafzimmer Play eintippe, spielt das Gerät.

    djhans.

    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 20 November 2013, 14:06:46
    Tippfehler Schalfzimmer ist nicht gleich Schlafzimmer...
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 20 November 2013, 14:55:40
    Hi,
    danke, das ist es aber nicht.

    Im EventMonitor steht:

    Events:
    2013-11-20 14:52:00 SONOSPLAYER Sonos_Schlafzimmer Play
    2013-11-20 14:52:00 Global global DELETED SonosAN


    spielt aber trotzdem nicht. Der Tippfehler ist raus.

    djhans.
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 20 November 2013, 15:15:59
    Was er abspielen soll weiß der Player? Lautstärke und Mute sind auch ok..?
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 20 November 2013, 15:53:03
    Hi,
    ich denke es liegt am Play-Command. Andere Kommandos. z.B. AddMember funktionieren. Möglicherweise braucht Play noch weitere Befehle.

    Komisch ist nur, dass es in der Befehlszeile geht.
    Er soll einfach den Radiosender abspielen, der eingestellt ist. Das ist alles.

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 20 November 2013, 20:22:29
    Hallo,
    ich habe noch ziemliche Probleme mit dem Sonos Modul: Es kommen nach einiger Zeit seltsame Fehlermeldungen und die Sonos Player reagieren nicht mehr. Das geht bis zum Absturz von fhem. Jetzt habe ich diesen Fehler hier und es geht nix mehr:

    2013.11.20 20:16:21 0: SONOS0: ERROR in DoWork: 'play' -> UDN is undefined - []

    Woran kann das liegen?

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 November 2013, 11:00:42
    Hi Christian,

    nun auch mal von mir was dazu:
    Was steht denn bei deinem SonosPlayer-Device im Reading "ZoneGroupID". Das ist das, was zur Ermittlung des Zielplayers verwendet wird. An diesen Zielplayer wird dann die Play-Nachricht versendet, und das scheint bei dir nicht korrekt zu laufen...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 21 November 2013, 12:23:23
    Hi,

    so ließt fhem das aus.
    Wohnzimmer: gibt es nicht nur UDN RINCON_000E5898943A01400_MR
    Schlafzimmer: RINCON_000E58F084FC01400:28
    Bad: RINCON_000E58F084FC01400:27


    Kann es sein, daß fhem Probleme kriegt, wenn man einen ZonePlayer vom Strom trennt und ihn dann woanders wieder einsteckt? oder muss man die Config, die sich in die fhem.cfg. einträgt wieder löschen, weil sich die Daten ändern?

    Wohnzimmer ist ein ConnectAMP mit Sonos SUB
    Bad und Schlafzimmer jeweils Play 3

    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 November 2013, 13:16:38
    Hi Christian,

    momentan gibt es noch einen Bug, wenn man bei einer Gruppe den Koordinator (also derjenige, der am Anfang mal die Musik geliefert hat) abschaltet (vom Stromnetz trennt).
    Es wird von den Zoneplayern keine Nachricht rumgesendet, dass es nun einen neuen Koordinator geben müsste, und somit versucht Fhem auch diesen alten noch zu erreichen (da einfach keine neuere Information vorliegt)...

    Es sollte gehen, wenn man vor dem Abschalten, die Gruppe auflöst, oder eben nicht den Koordinator abschaltet...
    Das muss ich mir aber sowieso noch anschauen, und somit habe ich das auch auf meiner Liste...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 21 November 2013, 14:17:12
    Hi,
    das kann es sein!
    Ich hatte testweise eine Gruppe gebildet. Bin mir aber nicht sicher, ob ich diese vor dem Trennen aufgelöst habe...das muss ich mal verfolgen.....

    Ich melde mich, wenn ich wieder Probleme habe...

    Christian.

    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 21 November 2013, 14:35:02
    Hi,
    das ging schnell...

    Habe das System neu gestartet und auch die Sonos-Komponenten aus der fhem.cfg gelöscht.
    Meiner Meinung nach, erkennt Fhem den Connect:AMP im Wohnzimmer nicht. Der ist mit einem SUB gekoppelt.

    Wenn ich
    set Sonos_Wohnzimmer" LoadRadio WDR%202%20Ruhrgebiet
    mache, kommt dieser Fehler im Log:

    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsBeginUpdate: RINCON_000E583B374001400_MR
    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E583B374001400_MR:presence:appeared
    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E583B374001400_MR:Volume:27
    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E583B374001400_MR:Balance:0
    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E583B374001400_MR:roomName:Wohnzimmer
    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E583B374001400_MR:saveRoomName:Wohnzimmer
    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E583B374001400_MR:playerType:ZP120
    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E583B374001400_MR:Volume:27
    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E583B374001400_MR:location:http://192.168.1.45:1400/xml/device_description.xml
    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E583B374001400_MR:softwareRevision:4.2
    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: RINCON_000E583B374001400_MR:serialNum:00-0E-58-3B-37-40:B
    2013.11.21 14:23:03 0: SONOS0: Fehlerhafter Aufruf von ReadingsEndUpdate: RINCON_000E583B374001400_MR
    2013.11.21 14:23:17 0: SONOS0: Fehlerhafter Aufruf von GetReadingsToCurrentHash: RINCON_000E583B374001400_MR:1
    2013.11.21 14:23:17 0: SONOS0: Fehlerhafter Aufruf von GetReadingsToCurrentHash: RINCON_000E583B374001400_MR:0
    2013.11.21 14:23:17 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChanged: RINCON_000E583B374001400_MR:SleepTimerVersion:
    2013.11.21 14:23:17 0: SONOS0: Fehlerhafter Aufruf von ProcessCover: RINCON_000E583B374001400_MR:/getaa?s=1&u=x-sonosapi-stream%3as99166%3fsid%3d254%26flags%3d32:http://192.168.1.45:1400
    2013.11.21 14:23:17 0: SONOS0: Fehlerhafter Aufruf von CurrentBulkUpdate: RINCON_000E583B374001400_MR
    2013.11.21 14:23:20 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChanged: RINCON_000E583B374001400_MR:DailyIndexRefreshTime:07:00:00
    2013.11.21 14:23:21 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChanged: RINCON_000E583B374001400_MR:ZonePlayerUUIDsInGroup:RINCON_000E583B374001400
    2013.11.21 14:23:21 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChanged: RINCON_000E583B374001400_MR:ZoneGroupID:RINCON_000E583B374001400:58
    2013.11.21 14:23:21 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChanged: RINCON_000E583B374001400_MR:ZoneGroupName:Wohnzimmer
    2013.11.21 14:23:22 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E583B374001400_MR:Mute:0
    2013.11.21 14:23:22 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E583B374001400_MR:HeadphoneConnected:0
    2013.11.21 14:23:22 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E583B374001400_MR:Balance:0
    2013.11.21 14:23:22 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E583B374001400_MR:Volume:27
    2013.11.21 14:23:22 0: SONOS0: Fehlerhafter Aufruf von GetReadingsToCurrentHash: RINCON_000E583B374001400_MR:0
    2013.11.21 14:23:22 0: SONOS0: Fehlerhafter Aufruf von CurrentBulkUpdate: RINCON_000E583B374001400_MR
    2013.11.21 14:23:24 0: SONOS0: Fehlerhafter Aufruf von GetReadingsToCurrentHash: RINCON_000E583B374001400_MR:1
    2013.11.21 14:23:24 0: SONOS0: Fehlerhafter Aufruf von GetReadingsToCurrentHash: RINCON_000E583B374001400_MR:0
    2013.11.21 14:23:24 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChanged: RINCON_000E583B374001400_MR:SleepTimerVersion:
    2013.11.21 14:23:24 0: SONOS0: Fehlerhafter Aufruf von ProcessCover: RINCON_000E583B374001400_MR:/getaa?s=1&u=x-sonosapi-stream%3as99166%3fsid%3d254%26flags%3d32:http://192.168.1.45:1400
    2013.11.21 14:23:24 0: SONOS0: Fehlerhafter Aufruf von CurrentBulkUpdate: RINCON_000E583B374001400_MR
    2013.11.21 14:23:26 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChanged: RINCON_000E583B374001400_MR:DailyIndexRefreshTime:07:00:00
    2013.11.21 14:23:26 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChanged: RINCON_000E583B374001400_MR:ZonePlayerUUIDsInGroup:RINCON_000E583B374001400
    2013.11.21 14:23:26 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChanged: RINCON_000E583B374001400_MR:ZoneGroupID:RINCON_000E583B374001400:58
    2013.11.21 14:23:26 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChanged: RINCON_000E583B374001400_MR:ZoneGroupName:Wohnzimmer
    2013.11.21 14:23:26 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E583B374001400_MR:Mute:0
    2013.11.21 14:23:26 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E583B374001400_MR:HeadphoneConnected:0
    2013.11.21 14:23:26 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E583B374001400_MR:Balance:0
    2013.11.21 14:23:26 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_000E583B374001400_MR:Volume:27
    2013.11.21 14:23:26 0: SONOS0: Fehlerhafter Aufruf von GetReadingsToCurrentHash: RINCON_000E583B374001400_MR:0
    2013.11.21 14:23:26 0: SONOS0: Fehlerhafter Aufruf von CurrentBulkUpdate: RINCON_000E583B374001400_MR
    2013.11.21 14:24:40 0: SONOS0: ERROR in DoWork: 'loadRadio' -> UDN is undefined - [
      'WDR%202%20Ruhrgebiet'


    Auszug aus den Daten zum Device Wohnzimmer:
    numberOfTracks
    1
    2013-11-21 14:23:16
    playerType
    Sub
    2013-11-21 14:22:53
    presence
    appeared
    2013-11-21 14:22:53
    roomName
    Wohnzimmer
    2013-11-21 14:22:53
    saveRoomName
    Wohnzimmer
    2013-11-21 14:22:53
    serialNum
    00-0E-xxxxxxxxxxx
    2013-11-21 14:22:53
    softwareRevision
    4.2


    Und das ist definitiv die MAC-Adresse vom SUB und nicht vom AMP. Der wird nicht erkannt.
    ..und noch eine Frage an den Experten:
    *17:13:00 {
    set Sonos_Schlafzimmer SleepTimer 15;
    set Sonos_Schlafzimmer Play;
    }

    warum funktioniert das nicht?
    Der Radiosender ist geladen, erspielt aber nichts an und der SleepTimer wird nicht übernommen. Das Event wird korrekt ausgeführt, aber ich habe einen Syntax Fehler drin...

    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 November 2013, 20:36:57
    Hi Christian,

    wenn du die Schreibweise mit den geschweiften Klammern verwendest, kannst du nur noch Perl-Code schreiben.

    Das bedeutet also:
    {
        fhem('set Sonos_Schlafzimmer SleepTimer 00:15:00');;
        fhem('set Sonos_Schlafzimmer Play')
    }

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 21 November 2013, 20:59:41
    Hi
    ah, ok. Das heißt ich verwende dann Perl Code...
    ich habe es noch nicht so drauf...
    Danke.

    Kannst Du mit dem Connect Amp helfen? Mache ich da etwas falsch, oder ist der zusätzlich SUB in der Wohnzimmer-Konfiguration das Problem, dass die  Station nicht nutzbar ist....

    Hast Du eine Idee?
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 November 2013, 22:02:28
    Hi Christian,

    ich vermute das mit dem Sub mal. Leider kann ich das nicht nachstellen, da ich keinen habe :-)

    Ich muss mir da mal was einfallen lassen... Irgendwie hätte ich eigentlich vermutet, dass sich bei der Konstellation der Amp meldet, und nicht der Sub.
    Hast du sonst die Möglichkeit mit dem Intel Device Spy dein lokales Sonos-Netz zu untersuchen? Damit könnte man vielleicht erkennen, was sich da eigentlich alles meldet, und ob mein Erkennungsprozess angepasst werden müsste...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 21 November 2013, 22:33:18
    Hm,
    würde ich gerne machen, finde aber keinen funktionierenden Download für dieses Spy Programm
    Er will immer diesen Intel AppUp installieren und dann war es das.

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 November 2013, 22:46:59
    Hi Christian,

    ich denke unter http://software.intel.com/en-us/articles/intel-tools-for-upnp-technologies sollte es noch zu haben sein...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 21 November 2013, 23:00:34
    Hi,
    ok. habe ich geladen. Was brauchst Du? Die xml-Datei?
    Werden alle korrekt ausgelesen.

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 November 2013, 23:13:43
    Hi Christian,

    ist das die Konstellation, wenn Sub und Amp verbunden sind? Sind auch andere noch verbunden?
    Kannst du mir das jeweilige Device-XML zusenden (also vier Dateien)?
    Werden in deinem Fhem auch diese vier Devices angelegt?
    Am Besten per PN...

    Viele Fragen:-)
    Danke schon mal...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: FHEM-Freak am 25 November 2013, 11:04:47
    Ich möchte allen Sonos begeisterten meine Anwendung mit hohen WAF nicht vorenthalten und natürlich anregen zu eigenen Ideen.

    Mir war wichtig eine einfache Bedienung der Sonos Lautsprecher das diese von der ganzen Familie genutzt werden.  8)
    Dazu habe ich Homatic Funk-Wandtaster 2fach HM-PB-2-WM55 in Verwendung.

    Hier ein Anwendungsbeispiel.

    Schaltung:
    Kurzes Drücken oben -> Ansage der Temperatur im Glashaus (Wichtig für die Frau des Hauses)
    Kurzes Drücken unten -> Ansage der Temperatur Außen

    Langes Drücken oben -> Ansage und Start der Wiedergabe von Radio
    Langes Drücken unten -> Beenden der Radiowiedergabe

    Tastenbelegung bei Status Play
    Kurzes Drücken oben -> Lauter
    Kurzes Drücken unten -> Leiser
    IN ARBEIT Langes Drücken oben -> Wechsel von Radio zu einer Wiedergabeliste (Funktioniert soweit Playlist spielt aber danach keine Reaktion von FHEM, nur mehr Stecker ziehen möglich. Bin noch am Ursachenforschen hat aber keine Priorität)

    Großen Dank an Reiner der das durch sein Modul ermöglicht hat.

    fhem.cfg
    define Musik_EIN notify SchalterMusik:SchalterMusik_01.* {if ("%"  =~ "3-8440") {Musik_Schalter_Lang_Oben}}
    define Musik_AUS notify SchalterMusik:SchalterMusik_02.* {if ("%"  =~ "3-8440") {Musik_Schalter_Lang_Unten}}

    define Musik_LAUTER notify SchalterMusik:SchalterMusik_01.Short.* {Musik_Schalter_Kurz_Oben}
    define Musik_LEISER notify SchalterMusik:SchalterMusik_02.Short.* {Musik_Schalter_Kurz_Unten}

    99_myUtils.pm
    ######################################################
    # Sonos Lang Oben
    ######################################################
    sub
    Musik_Schalter_Lang_Oben
    {
    my $SonosStatus = ReadingsVal("Sonos_Wohnzimmer","transportState","?");

    #MUSIK STILL
    if ( $SonosStatus eq "STOPPED" ) {
        { fhem ("set Sonos_Wohnzimmer Speak 40 de Radio")};
        sleep(1);
        { fhem ("set Sonos_Wohnzimmer Volume 30")};   
        { fhem ("set Sonos_Wohnzimmer LoadRadio OE3%20Hitradio%2099.9%20(Top%2040%20Hits)")};   
        { fhem ("set Sonos_Wohnzimmer Play")};
    }
    #MUSIK LÄUFT / TEST FUNKTIONIERT NOCH NICHT
    # if ( $SonosStatus eq "PLAYING" ) {
    #  my $SonosPlay = ReadingsVal("Sonos_Wohnzimmer","currentSender","?");
      #RADIO
    #  if ( $SonosPlay eq "OE3 Hitradio" ) {
    #     { fhem ("set Sonos_Wohnzimmer Stop")};
    #     { fhem ("set Sonos_Wohnzimmer EmptyPlaylist")};
    #     sleep(1);
    #     { fhem ("set Sonos_Wohnzimmer Speak 40 de Wechsle zu Musikliste von Kurt")};
    #     sleep(1);
    #     { fhem ("set Sonos_Wohnzimmer LoadPlaylist Kurt")};
    #     sleep(1);
    #     { fhem ("set Sonos_Wohnzimmer Play")};
    #  }
    # }
    }
    # End Musik_Schalter_Lang_Oben

    ######################################################
    # Sonos Lang Unten
    ######################################################
    sub
    Musik_Schalter_Lang_Unten
    {
      { fhem ("set Sonos_Wohnzimmer Stop")};
    }
    # End Musik_Schalter_Lang_Unten

    ######################################################
    # Sonos Kurz Oben
    ######################################################
    sub
    Musik_Schalter_Kurz_Oben
    {
    my $SonosStatus = ReadingsVal("Sonos_Wohnzimmer","transportState","?");

    if ( $SonosStatus eq "STOPPED" ) {
    my $Glashaustmp = ReadingsVal("Glashaus","temperature","?");
    $Glashaustmp = "Im Glashaus hat es ". $Glashaustmp . " Grad";
    sleep(1);
    { fhem ("set Sonos_Wohnzimmer Speak 40 de $Glashaustmp")};
    }
    if ( $SonosStatus eq "PLAYING" ) {
      { fhem ("set Sonos_Wohnzimmer VolumeU")};
    }
    }
    # End Musik_Schalter_Kurz_Oben

    ######################################################
    # Sonos Kurz Unten
    ######################################################
    sub
    Musik_Schalter_Kurz_Unten
    {
    my $SonosStatus = ReadingsVal("Sonos_Wohnzimmer","transportState","?");

    if ( $SonosStatus eq "STOPPED" ) {
    my $Aussentmp = ReadingsVal("Aussen","temperature","?");
    $Aussentmp = "Aussen hat es ". $Aussentmp . " Grad";
    sleep(1);
    { fhem ("set Sonos_Wohnzimmer Speak 40 de $Aussentmp")};
    }
    if ( $SonosStatus eq "PLAYING" ) {
      { fhem ("set Sonos_Wohnzimmer VolumeD")};
    }
    }
    # End Musik_Schalter_Kurz_Unten
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 November 2013, 13:19:40
    Hi Fhem-Freak,

    das ist ja klasse :-)
    Schön, was man alles machen kann :-))

    In meiner jetzigen Entwicklungsversion habe ich auch schon die Sache für den eigenen/lokalen Sprachsynthesizer drin. Da hast du dann vielleicht eine kürzere Latenzzeit bei der Ansage.
    Ich bin nur noch auf der Suche nach dem Durchsage-Lautstärken-Phänomen bei Gruppen. Das entzieht sich mir noch irgendwie...

    Als kleinen Tip für das Erkennen, ob ein Radiosender oder ein normaler Titel läuft: Du kannst die beiden Readings "currentNormalAudio" und "currentStreamAudio" auslesen, die auf "1" stehen, wenn der jeweilige Zustand zutrifft. Vielleicht hilft dir das bei deinem offenen Punkt...
    Außerdem kannst du dir eigentlich die Sleep-Anweisungen sparen. Das Sonos-Modul (besser: der entfernte Server, der in seinem eigenen Prozess läuft) hat eine eigene Warteschlange für die Verarbeitung der Anweisungen. Das bedeutet für dich, dass dein Fhem erstmal sofort wieder frei ist (das kann ja wichtig werden für die Verarbeitung von anderen Nachrichten, z.B. die von Homematic).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: FHEM-Freak am 25 November 2013, 13:40:26
    Danke Reiner,  werde deine Tipps berücksichtigen und testen.

    Gruß Kurt
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 25 November 2013, 16:10:20
    Hallo,
    ich brech´mir gerade die Finger mit den Attributen targetSpeakDir und targetSpeakURL
    Zumindest kachelt fhem bei meinen Versuchen so dermaßen ab, daß selbst ein reboot mit root-Rechten verweigert wird.

    attr targetSpeakDir:
    wo muss der Pfad hinzeigen? Auf den lokalen fhem-Server?
    dann sollte die Anweisung doch so aussehen, oder?
    attr targetSpeakDir /opt/fhem/

    attr targetSpeakUR:
    hier gebe ich das Verzeichnis an, von dem aus der Zoneplayer die mp3 spielt.
    Wie sieht das mit den Zugriffen aus? Soll heißen, wie legt fhem die mp3 Datei dort ab?  Dazu brauchen doch fhem und der Zoneplayer Zugriff auf das Verzeichniss, oder regelt das Dein Modul indem es die zu spielende Date an den Zoneplayer schickt?
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 November 2013, 16:26:58
    Hi djhans,

    der Parameter "...Dir" beschreibt das Verzeichnis, unter dem der Fhem-Prozess (also das Sonos-Modul) die Datei schreiben kann/darf. Das kann eine direkte Pfadangabe wie "/tmp/Sonos/" sein, aber auch eine Angabe der Form "\\WindowsPC\Freigabe".

    Der Paramet "...URL" beschreibt die URL, die der Zoneplayer verwenden muss, um dasselbe Verzeichnis zu erreichen (zu lesen). Das ist üblicherweise in der Form "\\WindowsPC\Freigabe", da Sonos nur auf Windows/SMB-Freigaben zugreifen kann.

    Das Modul überträgt nichts an die Player (ausser der Anweisung, was abgespielt werden soll). Der Player holt sich das von dem angegebenen Ort selber, und braucht dementsprechend dort Leserechte...

    Im Wiki gibt es ein Beispiel für die lokale Enrichtung eines Samba-Servers auf dem Raspberry, sofern nicht schon einer läuft (und du einen brauchst).
    Du kannst aber auch die Adresse eines bestehenden NAS-Servers angeben, dann sind die beiden Parameter vermutlich gleich, da sowohl dein Pi als auch deine Zoneplayer die NAS über denselben UNC-Pfad erreichen können...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 25 November 2013, 17:28:07
    Hi,
    ok. Muss denn im Sonos Controller die Bibliothek gesetzt werden? Als Samba-Share habe ich das freigegeben.

    Die Anleitung verstehe ich auch so, dass man die Attribute mit attr in die fhem.cfg einträgt. Aber fhem möchte, dass die Variablen vorher definiert werden..
    Also muss ich das vorher noch irgendwie definieren? Junge, Junge, das ist alles nicht so wirklich meine Welt...

    attr targetSpeakDir /mnt/SonosSpeak/
    attr targetSpeakURL /mnt/SonosSpeak/


    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 November 2013, 19:21:15
    Hi djhans,

    am Besten du setzt diese Attribute über die Web-Oberfläche. Du hast im unteren Bereich einer Komponente (in diesem Fall die SONOS-Komponente) einen Bereich, wo die ganzen Attribute aufgelistet sind.
    Darüber besteht die Möglichkeit einer Eingabe.
    Dazu einfach in der Klappbox das gewünschte Attribut auswählen (z.B. "targetSpeakDir") und im Eingabefeld dahinter den gewünschten Wert eintragen (z.B. "/mnt/SonosSpeak"). Dann nur noch den Button "attr" drücken fertig.

    Damit passt du (wie immer in Fhem) erstmal nur die Konfiguration im Speicher an. Um das ganze Dauerhaft zu speichern, musst du noch den "Save"-Button betätigen, oder in das Eingabefeld "save" eingeben und <Enter> drücken.

    Bei deiner Anweisung hattest du auch nur die Komponente vergessen, für die das Attribut angelegt werden soll.
    Korrekterweise hätte es also
    attr Sonos targetSpeakDir /mnt/SonosSpeak
    lauten müssen.

    Allerdings würde wohl der URL-Parameter so nicht funktionieren, da aus Sicht deines Zoneplayers dieser Pfad so nicht erreichbar ist (zumindest nicht unter diesem Namen).
    Da muss sowas stehen wie
    \\IPADRESSE_VOM_PI\SonosSpeak

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 25 November 2013, 20:43:28
    Hi,
    nun ja! Du erklärst mich wahrscheinlich für völlig bescheuert, aber die Attribute gibt es im Dropdown nicht. Sorry, wenn ich Dich zur Verzweiflung bringe, aber die sind definitiv nicht da!
    Habe dann genau das hier in die fhem.cfg geschrieben:

    attr Sonos targetSpeakDir /mnt/SonosSpeak/
    attr Sonos targetSpeakURL \\192.168.1.7\SonosSpeak\


    Wenn ich die Attribute ganz weglasse, wird zumindest im fhem Verzeichnis die mp3 erstellt. die kann ich mit einem mp3 Player auch abspielen. Im SonosSpeak-Verzeichnis kommt nix an.

    Meine smb.comf:
    [Global]
    workgroup = SCHETTNER
    netbios name = Enterprise
    security = User
    getwd cache = yes

    [Fhem]
    comment = Hausautomation
    path = /opt/fhem/     
    valid users = @users root
    read only = No
    create mask = 0777
    directory mask = 0777


    [SonosSpeak]
        comment = Audio-Files for SonosPlayer to Speak
    path = /mnt/SonosSpeak
    read only = No
    create mask = 0777
    directory mask = 0777
    guest ok


    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 November 2013, 21:20:34
    Hi djhans,

    nana, hier wird niemand für bescheuert erklärt :-)
    Ich stochere mal mit ein paar breitgestreuten Hinweisen und Fragen...

    Kann es sein, dass du an einem SONOSPLAYER guckst? Da müsstest du dann z.B. so Attribute wie "minVolume" und "maxVolume" haben...

    Die Speak-Einstellungen sind aber zentral, und somit am Sonos-Device abgelegt (also an dem Ding, das du selber angelegt hast, und welches dir wiederrum alle Player automatisch angelegt hat).
    Aber so wie du die dann manuell angelegt hast, sollte es funktionieren. Hast du nach dem Anpassen der fhem.cfg auch Fhem neugestartet?

    Gibt es das Verzeichnis "/mnt/SonosSpeak" auf dem Pi auch? Die Samba Freigabe prüft nicht, ob es das Verzeichnis auch gibt. Hier auch Schreibrechte beachten...

    Läuft der Samba-Daemon auch, kannst du also z.B. von einem anderen (Windows-)Rechner auf die Freigabe zugreifen. Wenn nicht, dann den Dienst mal starten, oder auch den ganzen Pi neustarten...

    Vielleicht ist ja was hilfreiches dabei.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 25 November 2013, 22:05:52
    Hi Reiner,
    ja, Du hast recht.  die Gruppe Sonos kennt die Befehle...

    Ich habe die Attribute noch einmal definiert.
    Samba ist korrekt eingerichtet. Ich kann auf einem Windows-Rechner ein Verzeichnis erstellen und auf dem Pi taucht es auch unter /mnt/SonosSpeak auf.
    Schreibweise habe ich noch mal geprüft. Scheint ok zu sein.
    Habe die smb.conf mal abgespeckt und nur die Section SonosSpeak dringelassen. Bringt auch nichts....

    Habe dann den Pfad auf /opt/fhem gesetzt und dafür einen Samba-Share eingerichtet und dann geht es. Die Datei wird erzeugt und abgespielt.
    Ich nehme an das fhem nicht auf /mnt/SonosSpeak schreiben darf. Man muss den fhem Benutzer offenbar das REcht dafür geben. Ich denke ich richte das "Speak"- Verzeichnis einfach unter fhem ein.

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 November 2013, 23:05:42
    Hi Christian,

    schön, das es jetzt klappt. Ich würde dir nur nicht empfehlen, das Speak-Verzeichnis unterhalb von Fhem abzulegen.
    Das wird mit der Zeit etwas wachsen (besonders, wenn du die Sache mit den Timestamps aktivierst oder das Hashing), und du musst da u.U. mal ein Auge wegen der Füllmenge draufhaben.

    Du kannst auch einfach mittels
    chmod go+rw /mnt/SonosSpeak
    die Rechte für den Ordner anpassen... Das läßt Schreibrechte für alle Benutzer (auf deinem Pi) zu.

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 29 November 2013, 15:05:12
    Hallo,
    ich möchte noch einmal berichten, was mir im Zusammenhang mit dem Sonos-Modul auffällt:
    Ich habe das Sonos Modul in einer separaten Datei ausgelagert und binde es in die fhem cfg mit "Include Sonos.cfg" ein.

    Der Fhem-Server läuft jetzt seit einigen Tagen ohne Neustart.  In der Sonos cfg. steht zu Anfang folgenden Zeile:
    define Sonos SONOS localhost:4711 30
    danach die Konfiguration der Geräte, die bei der ersten Einrichtung mit "save" gespeichert wurde.

    Nun kommt es vor, dass meine Kids sich abends meinen Schlafzimmer-Sonos klauen und ihre eigene Mucke abspielen. Dazu trennen Sie das Gerät vom Netz. Ich hole mir dann das Gerät später wieder zurück.

    Heute habe ich dann versucht, den Schlafzimmer_Sonos anzusteuern, aber das fhem Modul ignoriert die Befehle. Es scheint, als würde fhem den Sonos nicht mehr kennen. Über den Sonos-Controller läuft alles perfekt.

    Ein Reboot von fhem löst das Problem....was läuft da schief? Ist es das Trennen der Sonos-Komponenten vom Stromnetz?

    Christian.



    Titel: Antw:Sonos steuern
    Beitrag von: JR am 01 Dezember 2013, 14:50:25
    Hallo Reiner,

    seit ein paar Wochen versuche ich, mein neues Sonos-System mit Deinem Modul anzusteuern, hatte aber leider von Anfang an ein ähnliches Problem wie peter79 (Thread stürzt ab). Heute habe ich dann diese Diskussion entdeckt. Der letzte Eintrag, den ich dazu finden konnte, war dieser:

    Zitat von: Reinerlein am 18 Oktober 2013, 02:22:13
    Das bedeutet, daß dein IPMI auf eine solche Suchanfrage reagiert, und in meiner Callback-Methode landet. Im Prinzip ist es wurscht, warum genau. Das muss ich auf jeden Fall abfangen :-)

    Gibt's dazu inzwischen was Neues? Dein Modul sieht echt interessant aus, ich würde das sehr gerne verwenden, komme aber leider über die ersten 30 Sekunden nach dem Serverstart nicht hinaus...

    Gruß
      Jens
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Dezember 2013, 20:11:19
    Hallo zusammen,

    ich war dieses Adventswochenende etwas eingespannt, deshalb erst jetzt kurze Statements.

    @djhans: Im Normallfall sollte das kein Problem sein. Bei mir gibt es nämlich eine ähnliche Konstellation. Dort wird bei meinem Schlafzimmer-Play5 beim Neuanstecken automatisch ein Radiosender geladen, und die Lautstärke umgestellt.
    Das funktioniert mittlerweile problemlos. Kannst du anhand der Logs (auf der Konsole, notfalls den Level hochdrehen) etwas erkennen?

    @Jens: Ich habe dafür etwas eingebaut, bin mir aber gerade nicht sicher, ob die Version schon veröffentlicht wurde.
    Zu dem Absturz nach 30 Sekunden: Kann es sein, dass er nach genau 120 Sekunden auftritt? Dann deutet das auf ein Problem mit den Ping-Berechtigungen hin. Dazu müsste dann aber etwas im Log stehen.
    Wenn es nach 30 Sekunden ist, dann deutet das auf das von dir beschriebene Phänomen hin, und die öffentliche Version enthält das eben doch noch nicht.

    Ich denke, dass ich demnächst (nach Doku-Nachziehen) die Version erstmal veröffentliche. Da fehlt halt noch der Part mit den Gruppenlautstärken, was ich so noch nicht nachvollzogen bekomme...
    Aber dann habt ihr schon mal den ganzen Rest...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JR am 01 Dezember 2013, 21:09:05
    Hallo Reiner,

    hab' sicherheitshalber noch ein paar Tests gemacht. Die 30 Sekunden sind nicht fix; beim letzten Versuch kam der Crash schon nach 12 Sekunden. Nach genau 120 Sekunden passierte aber nie etwas, und im Log finde ich nichts zum Thema Ping-Berechtigungen.
    Nach dem geplanten Update werde ich also weiter testen. Vielen Dank schonmal!

    Gruß
      Jens
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Dezember 2013, 11:13:44
    Hallo zusammen,

    so, wie versprochen, hier erstmal ein Zwischenrelease.

    wie immer mit dem Befehl

    update thirdparty http://fhem.lmsoft.de/sonos sonos

    installierbar.

    Folgende Features/Fehlerbereinigungen sind enthalten (aus dem Changelog):
    Wie man die einzelnen Features verwendet/einrichtet, steht im Wiki und der lokalen Dokumentation...

    Wie immer: Bitte testen (auch die Doku), damit ich auch reagieren kann :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 02 Dezember 2013, 14:33:11
    Hallo Reinerlein,
    ich bin begeistert! Habe das Update geladen und bislang funzt es gut.

    Eine Frage zu dem RampToVolume Typ 1:
    Wenn ich beispielsweise die Mucke langsam ausschalten möchte, dann mache ich das mit dem Kommando:
    set Sonos_Schlafzimmer Volume 0 1
    Das bedeutet aber, dass der Player auf "Play" bleibt.
    Wenn ich direkt hinter das Kommando ein
    set Sonos_Schlafzimmer Stop absetzte, dann bricht er das langsame herunterfahren der Musik ab und schaltet direkt auf Stop.
    Kann man das irgendwie beeinflussen?

    djhans.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Dezember 2013, 15:32:05
    Hi djhans,

    also, ich habe bei mir z.B. ein Eventhandler auf Volume 0 festgelegt, der nach einem Timer von 2 Sekunden den Player anhält. Wenn die Lautstärke vor Ablauf wieder hochgesetzt wird, bleibt der Player in Betrieb, indem der Timer wieder gelöscht wird.
    Vielleicht wäre das auch eine Option bei dir?

    Das Problem mit deinem nachgesetzten Stop ist, dass das sofort in der internen Warteschlange abgearbeitet wird, und somit vor dem Ende der Rampe ausgeführt wird. Es wartet ja nix auf die Ausführung beim Player (damit Fhem auf keinen Fall ausgebremst wird).

    Ansonsten kann ich mir mal anschauen, ob ich irgendeine Mitteilung vom Player bekomme, wenn die Rampe fertig ist, und vielleicht ein Event erzeugen.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 02 Dezember 2013, 17:38:24
    Hi Reiner,
    danke!  Ich denke man muss dann mit dem notify und dem info Summarize3 arbeiten. Ich verstehe allerdings die Syntax von infoSummarize noch nicht ganz. Wie kann ich dann auf die einzelnen Elemente wie "Lautstärke" von Summarize zugreifen? Gibt es irgendwo ein Beispiel? Sorry, aber ich lerne am Besten durch Beispiele, die ich ausprobieren kann...wäre also klasse, wenn es dazu etwas gäbe...

    Im wiki habe ich mir das Bsp. zum Loggen der Titel angesehen, hat aber noch nicht "klick" gemacht, da hier alle Infos ausgelesen werden. Die Syntax ".{2,}" versteh´ich hier noch nicht...

    Herzlichen Dank für die Geduld,
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Dezember 2013, 21:21:55
    Hi Christian,

    InfoSummarize ist eher ein Hilfsmittel, um Anzeigen innerhalb Fhem zu ermöglichen. Darauf sollte man keine Events legen (obwohl es natürlich geht :-)

    In diesem Fall meinte ich ein Event auf Volume, also z.B.:

    define Sonos_Wohnzimmer_Notify_VolumeZero notify Sonos_Wohnzimmer:.0 set Sonos_Wohnzimmer Stop

    In diesem Beispiel wird direkt auf Volume 0 reagiert (in diesem Fall ohne Verzögerung).
    Der Punkt vor der 0 kommt daher, da dies ein regulärer Ausdruck ist, der kein Leerzeichen haben darf.

    Daher kommt auch der Konstrukt

    .{2,}

    der bedeutet nichts anderes als "mindestens 2 beliebige Zeichen".

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JR am 02 Dezember 2013, 22:11:29
    Hallo Reiner,

    erstmal vielen Dank für die neue Version!
    Hat in meinem Fall leider nicht geholfen, der Thread stürzt immer noch kurz nach dem fhem-Start ab. Sieht jetzt aber anders aus als vorher, nur der eigentliche Crash ist derselbe. Konsolen-Ausgabe:
    Current: "fhem.pl", gPath: "./FHEM"
    Use of uninitialized value $volumeLeft in negation (-) at 00_SONOS.pm line 2690, <$client> line 2.
    Use of uninitialized value $volumeRight in addition (+) at 00_SONOS.pm line 2690, <$client> line 2.
    Use of uninitialized value $currentVolume in concatenation (.) or string at 00_SONOS.pm line 2693, <$client> line 2.
    Use of uninitialized value $value in concatenation (.) or string at 00_SONOS.pm line 4510, <$client> line 2.
    Use of uninitialized value $value in concatenation (.) or string at 00_SONOS.pm line 4510, <$client> line 2.
    Thread 1 terminated abnormally: Can't use string ("
        ") as an ARRAY ref while "strict refs" in use at lib/UPnP/Common.pm line 190, <$client> line 2.


    Eine Log-Datei schicke ich per PM. Vielleicht hast Du noch eine Idee?

    Gruß
      Jens
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Dezember 2013, 00:26:51
    Hi Jens,

    kannst du mir mal eine Auflistung deiner Komponenten angeben, und vielleicht kannst du auch ermitteln bei welcher konkreten Sonos-Komponente das Problem auftritt.
    Die von dir geschriebene Fehlermeldung deutet darauf hin, dass ein angefragter Player keine Lautstärkeinformationen zurückliefert. Das sollte eigentlich nicht so sein.
    Das könnte aber auch ein Indiz für eine Sonos-fremde Komponente sein, die ich da einfach mal wieder verwende. Das kann man so aber gar nicht beurteilen...

    Das Log (möglichst auf Level 5) kann hier vielleicht weiteres zu Tage förden. Leider kann man hier keine Dateien an eine PM hängen. Deshalb sende es mir doch einfach an meine E-Mail Adresse zu...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JR am 03 Dezember 2013, 18:23:49
    Hi Reiner,

    das mit der betroffenen Sonos-Komponente ist einfach: Es gibt (noch) nur einen Play1, via Bridge mit dem Hausnetz verbunden. Die Controller auf den Macs bzw. auf einem iPhone zeigen mir die korrekte Lautstärke des Play1 an, das funktioniert also im Prinzip.

    Die Frage ist also in der Tat, ob nicht eine Sonos-fremde Komponente dazwischenfunkt. In Frage kämen ggf. einige Geräte mit UPnP (Fernseher, Drucker, ein Raspberry PI mit OpenElec und ein MythTV-Server sind eigentlich immer an, manchmal eine PS3 (gestern aber nicht)).

    War das Log (Level 5) angekommen? Ich hatte es einfach in die PM kopiert.

    Gruß
      Jens
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 03 Dezember 2013, 18:30:31
    Hallo Reiner,
    danke für das Beispiel. Aber es funktioniert nicht. Der Player bleibt an.
    define Sonos_Schlafzimmer_Notify_VolumeZero notify Sonos_Schlafzimmer:.0 set Sonos_Schlafzimmer Stop
    Was ich nicht verstehe ist, wie weiß das System, dass .0 für Volume=0 steht. 0 ist der Wert und das ist klar, aber wieso steht die .0 nicht beispielsweise für "SleepTimer" beendet.
    Was übersehe ich, SleepTimer abgelaufen ist doch auch ein Event.

    Ich habe da noch ein grundlegendes Verständnißproblem....

    djhans.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Dezember 2013, 19:54:12
    Hallo zusammen,

    @Christian: Ich glaube, du hast kein Verständnisproblem, sondern ich war paddelig bei dem Beispiel :-) Das ist, wenn man das aus dem Kopf niederschreibt, und nicht testet...
    Natürlich hast du recht: Da muss noch das Feld selbst dazwischen:

    define Sonos_Schlafzimmer_Notify_VolumeZero notify Sonos_Schlafzimmer:Volume.*0 set Sonos_Schlafzimmer Stop

    Zur Sicherheit habe ich aus dem einen Punkt eine beliebige Anzahl Punkte gemacht (bzw. natürlich beliebige Zeichen, ist ja ein regulärer Ausdruck), da ich nicht mehr genau weiss, ob bei einer Zahl nicht noch ein Platzhalter für das Vorzeichen vorkommt, auch wenn es nicht da ist. Sonst mal testen...

    @Jens: Bei mir ist noch keine Nachricht angekommen. Hast du die hier über das Forum versendet?
    Und ja, das mit dem Text sollte eigentlich funktionieren...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 04 Dezember 2013, 19:52:11
    Hallo Reiner,
    nochmals herzlichen Dank!

    Im Moment kann ich leider nicht weitertesten, da ich beruflich unterwegs bin....melde mich spätestens nächste Woche...dann wird mein Sonos-System auch um einen Play 1 reicher sein.....
    Gruß,
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 05 Dezember 2013, 18:23:41
    Hallo,
    da bin ich wieder.....
    Kleiner Zwischenbericht!

    Habe heute meinen Play 1 bekommen. Ins Sonos Netz eingebunden und spielt fabelhaft. Das so viel aus so einer kleinen Kiste kommt, hätte ich nicht gedacht....

    Fhem hat die Kiste nicht automatisch erkannt. Hing mehrere Stunden im Netz, aber fhem ist bei der alten Konfiguration geblieben. Dann habe ich die Geräte auch noch umbenannt.

    Play 1 ist nun Bad
    der alte Play 3 aus dem Bad, ist nun Büro.
    Das hat das Modul auch nicht gemerkt!

    Habe dann die Sonos Komponenten in der Sonos.cfg gelöscht und nur die eine Zeile
    define Sonos SONOS localhost:4711 30
    dringelassen..
    Nach einem Neustart wurden alle Geräte erkannt...
    Ist das Verhalten normal?
    Gruß,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Dezember 2013, 22:03:49
    Hi Christian,

    das Modul hat ein Problem damit, wenn ein Player im laufenden Betrieb eingerichtet und umbenannt wird.
    Da die Geräte dann schon fertig eingerichtet sind, passen die Namen halt nicht mehr mit der Realität zusammen (was ja auch gar nicht anders lösbar ist, da ich ja nicht einfach Fhem-Komponenten umbenennen kann)...
    Das wird das Problem mit der fehlenden Erkennung am Anfang gewesen sein...

    Am Besten ist es, wenn die Einrichtung in Abwesenheit von Fhem erfolgt, bzw. so bereinigt wird, wie du das getan hast. Player die umbenannt werden (mit dem Sonos-Controller) sollte man in Fhem entfernen, oder sauber mit umbenennen...
    Hängt man fertig eingerichtete Player wieder ins Netz (was ja bei einem Anschalten eines Player passiert), sollte das eigentlich gut funktionieren...

    Leider kann man hier nicht viel machen. Das ganze ist im Rahmen einer Hausautomatisierung ja auch eher unüblich :-)
    Da hat man sowas wie einen Einrichtungszeitpunkt, und einen Normalbetrieb...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 08 Dezember 2013, 13:17:54
    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
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 08 Dezember 2013, 13:44:15
    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
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 08 Dezember 2013, 16:27:38
    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
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 09 Dezember 2013, 08:26:42
    Hallo Reiner,
    Besten Dank. Dann ist ja alles in Butter! wollte halt nur meine Erfahrungen mit diesem Verhalten teilen...
    Gruß,
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: kwbo am 10 Dezember 2013, 11:28:27
    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 (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
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Dezember 2013, 12:31:51
    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
    Titel: Antw:Sonos steuern
    Beitrag von: JR am 10 Dezember 2013, 22:49:52
    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
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 11 Dezember 2013, 19:41:40
    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
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 11 Dezember 2013, 21:31:23
    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.
    Titel: Antw:Sonos steuern
    Beitrag von: PumpkinEater am 12 Dezember 2013, 06:45:33
    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
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Dezember 2013, 09:04:18
    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
    Titel: Antw:Sonos steuern
    Beitrag von: PumpkinEater am 12 Dezember 2013, 14:52:55
    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
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Dezember 2013, 15:54:37
    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
    Titel: Antw:Sonos steuern
    Beitrag von: PumpkinEater am 12 Dezember 2013, 19:28:18
    Hallo Reiner,
    ich habe Dir eine PM dazu geschickt.

    Gruß
    Peter
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Dezember 2013, 21:01:59
    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
    Titel: Antw:Sonos steuern
    Beitrag von: peter79 am 12 Dezember 2013, 22:07:49
    Hallo Reiner,

    auch noch einmal ein kleines Update von mir - habe soeben mal die neueste Version eingespielt.
    --> Leider stürtzt der Thread immer noch nach Aktivierung des Ports an dem das IPMI hängt innerhalb von ein paar Sekunden ab. Die eingebaute Routine scheint demnach noch nicht so richtig zu ziehen...

    Mach Dir keinen Stress bei der Korrektur - ich weiß mir ja zu helfen... ansonsten läuft bei mir mit dem Modul alles prima :)

    Viele Grüße
    Peter
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Dezember 2013, 22:12:48
    Hi Peter (der andere :-),

    besteht denn die Möglichkeit, dass auch du mir die Konsolenausgabe des Subprozesses (der von meinem Modul gestartet wird) zusendest?
    möglichst auf Level 5, da ich dann sehe, welche Daten von deinem Gerät gesendet werden. Daran kann ich vielleicht ein schönes Unterscheidungsmerkmal festlegen:-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 13 Dezember 2013, 18:30:30
    Hallo Reiner,
    habe Probleme mit dem Play1. wer wird zwar von fhem erkannt, lässt sich aber nicht richtig ansteuern. habe die Konfiguration schon neu erkennen lassen, Aber er reagiert nicht. die Zustände zeigt er an, wenn ich das Gerät über den Controller steuer, aber aus fhem tut sich nichts.

    Irgendeine Idee?
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: peter79 am 14 Dezember 2013, 01:01:24
    Hallo Reiner,

    leider kommt es bei mir zu gar keinem Event im Log, wenn der Prozess aussteigt  :(
    Das einzige, was ich sehe ist folgendes im Log (der Abbruch ist zw. 00:48 und 00:50):

    root@ubufhem:/opt/fhem# perl FHEM/00_SONOS.pm 4711 5 > console.log
    Thread 1 terminated abnormally: Can't use string ("
        ") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/Common.pm line 219, <$client> line 2.


    Das Log sieht zu dieser Zeit folgend aus:

    2013.12.14 00:48:11 4: SONOS1: Rendering-Event: LastChange: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volu  me channel="Master" val="0"/><Volume channel="LF" val="100"/><Volume channel="RF" val="100"/><Mute channel="Master" val="0"/><Mute channel=  "LF" val="0"/><Mute channel="RF" val="0"/><Bass val="2"/><Treble val="0"/><Loudness channel="Master" val="1"/><OutputFixed val="0"/><Headph  oneConnected val="0"/><SpeakerSize val="4"/><SubGain val="0"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="1"/><PresetName  List val="FactoryDefaults"/></InstanceID></Event>
    2013.12.14 00:48:12 4: SONOS1: Rendering-Event: Current Values for 'Sonos_Kueche' ~ Volume: 0, HeadphoneConnected: 0, Bass: 2, Treble: 0, B  alance: 0, Loudness: 1, Mute: 0
    2013.12.14 00:48:12 4: SONOS1: Rendering-Event: Current Borders for 'Sonos_Kueche' ~ minVolume: 0, maxVolume: 100
    2013.12.14 00:48:13 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Kueche".
    2013.12.14 00:50:09 4: SONOS2: IsAlive-Event UDN=RINCON_000E58C15EA001400_MR
    2013.12.14 00:50:09 5: SONOS2: Location: http://192.168.1.124:1400/xml/device_description.xml
    2013.12.14 00:50:09 5: SONOS2: PingType: icmp
    2013.12.14 00:50:09 4: SONOS2: 192.168.1.124 is alive


    Kann auch sein, dass ich bei der Erstellung des Logs etwas falsch mache - muss ich ggf. noch etwas beachten, um den Subprozess gesondert zu herausschreiben zu lassen - im Moment leite ich die Ausgabe wie folgt um: "perl FHEM/00_SONOS.pm 4711 5 > sonos.log".

    Viele Grüße
    Peter
    Titel: Antw:Sonos steuern
    Beitrag von: eppi am 14 Dezember 2013, 06:24:34
    hallo djhans
    Das selbe Problem hatte ich auch im dem Play:1, jedoch mit der aktuellen Developer Version ist das Problem bei mir verschwunden.
    update thirdparty http://fhem.lmsoft.de/sonos_dev sonos

    Viel Erfolg, Gruss Dani
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 16 Dezember 2013, 15:45:37
    Hallo,
    nee, der Play 1 spielt nicht! Kann ich machen, was ich will

    Nachtrag:
    verstehe die Welt nicht mehr:

    set Sonos_Schlafzimmer Play strartet den Play 3 im Schlafzimmer
    set Sonos_Bad Play startet den Sonos Play 3 im Schlafzimmer

    was läuft da schief?
    Habe die fhem.save und alle logs gelöscht und den Sonos neu erkennen lassen. Irgendwie kommt er mit den namen durcheinander...
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Dezember 2013, 16:06:40
    Hi Christian,

    hmmm.. das ist wirklich komisch. Waren die mal gepaart, sodass davon noch eine Restinfo rumliegen könnte?
    Bzw. hast du irgendwas mit paarungen gemacht, nachdem sie erkannt wurden?
    Solche Reste bleiben z.B. auch, wenn die mal eine Gruppe gebildet hatten, und du einen Player (den Master) vom Stom trennst. Dann kann man den verbleibenden momentan nicht mehr steuern, da Sonos das nicht mitbekommt/meldet...

    Das von dir kann ich aber gerade echt nicht nachvollziehen. Ich werden als nächstes ja die Paar-Unterstützung angehen. Da muss ich ja sowieso noch ran... Vielleicht erledigt sich dabei auch dein Problem.
    Was ich komisch finde, ist, das der Play:1 bei manchen läuft, und bei manchen einfach nicht... Obwohl der Player ja auch erstmal nix besonderes ist...

    Tut mir leid, dass ich nicht auf Anhieb eine Lösung parat habe...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 16 Dezember 2013, 16:23:38
    Hi Reiner,
    nee, Play 1 und Play 3 kann man nicht als Stereopaar bilden. Ich fasse diese allerdings von Zeit zu Zeit in Gruppen zusammen.
    Folgende Aktionen habe ich durchgeführt:
    er spielt immer das Schlafzimmer ab, egal ob ich set Sonos_Bad Play oder set Sonos_Schlafzimmer Play eingebe.
    Ich glaube, ich muss den ganzen raspberry mal platt machen. Keine Ahnung, was da schief läuft. Der Play 1 hieß auch immer Bad und Schlafzimmer hieß auch immer Schlafzimmer. Lediglich Buero wurde von Bad in Buero umbenannt.

    Habe ab morgen Urlaub. Dann werde ich das mal neu aufsetzten. Wenn ich etwas testen soll, oder Du irgendwelche Daten benötigst, sag Bescheid.

    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 16 Dezember 2013, 18:12:50
    Hallo Reiner,
    keine Ahnung, ob das etwas zu sagen hat, aber:
    ZoneGroupID und ZonePlayerUUIDsInGroup stimmen bei allen Playern überein.
    nur beim Play 1 (Bad) ist die ZoneGroupID gleich der ZoneGroupID vom Play 3 (Schlafzimmer)
    Das Bad hat danach den :40, Schlafzimmer:37

    Wird da uU. etwas falsch erkannt? wenn ja, kann ich das zu Fuß ändern?

    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Dezember 2013, 19:45:43
    Hi Christian,

    das wird über das "ZoneGroupTopology"-Event geliefert und gesetzt. Dabei ist nur die UDN selbst wichtig, das hinter dem Doppelpunkt ist nur eine Versionsnummer, die ich nicht weiter auswerte.
    Wenn du die fhem.save gelöscht hast, sollte dort auch keine Altlast enthalten sein. Du kannst es natürlich einfach mal manuell setzen, dabei einfach das Muster beibehalten (wird per regulärem Ausdruck zerlegt), und die eigene UDN des Players eintragen...

    Aber wenn dort etwas falsches drinsteht, dann sollte irgendwo im Log etwas mit einem Fehler quittiert werden (wenn das mit dem Löschen der fhem.save funktioniert hat).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 16 Dezember 2013, 21:31:38
    Hallo Reiner,
    schon komisch. Habe das in der fhem.save überschrieben. Dann fhem neu gestartet und plötzlich stand wieder die falsche ZoneGroupID drin.
    Habe dann die fhem.save gelöscht, den Play 1 ausgesteckt und wieder eingesteckt und fhem wieder gestartet.
    Jetzt klappt es. Irgendwo scheint fhem da etwas falsch auszulesen. Im Controlerbetrieb habe ich keine Probleme gehabt.
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Dezember 2013, 21:40:22
    Hi Christian,

    es kann auch falsch in den Playern stehen, und somit immer wieder falsch geliefert werden...
    Wie gesagt, irgendwie muss es eine saubere Möglichkeit gebe, das herauszufinden. Wie du schon schreibst: der Original-Controller schafft es ja auch :-)

    Wenn der Player dann neu gestartet wird, initialisiert er das bei sich wieder...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: eppi am 18 Dezember 2013, 14:24:06
    Hallo zusammen
    Ich bin absolut begeistert von diesem Moule und was sich damit machen lässt - an dieser Stelle ein herzliches DANKESCHÖN an die Entwickler. Ein Problem besteht bei mir jedoch:
    Ich benutze mittels notify "PlayURITemp" um Durchsagen im Haus zu machen bei eintreten von definierten erreignissen.

    define n_dummytest notify dummy5:on set Sonos_Bad PlayURITemp \\192.168.0.18\SonosSpeak\Hallo.mp3 30

    Der notify funktioniert und die Datei "Hallo.mp3" wird abgespielt, jedoch habe ich festgestellt, sobald der Player in einer Gruppe mit anderen Playern zusammengeschaltet ist, das mp3 endlos abgespielt wird. Sobald der Player separat ist (nicht in einer Gruppe) funktioniert es (Laufende Musik wird ausgeschaltet, Durchsage wird abgespielt, Musik wird wieder eingeschaltet).

    Kann mir jemand einen Tipp geben wie ich den Fehler beheben kann?
    Danke und Gruss Dani
    Titel: Antw:Sonos steuern
    Beitrag von: eppi am 19 Dezember 2013, 23:51:35
    ein reboot bewirkt manchmal wunder  ;D
    http://[IP_des_Masters]:1400/reboot

    Und meine Durchsagen funktionieren ;)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Dezember 2013, 11:38:37
    Hallo zusammen,

    ich bin gerade dabei ein Weihnachtsrelease fertigzustellen :-)

    Dafür bin ich jetzt gerade abschließend an der Problematik mit den Paarungen von Sonos-Playern. Dazu bräuchte ich mal Informationen von Personen, die solche Paarungen haben.

    Ein Stereopaar habe ich mir selber zum Testen erzeugt.
    Ich bräuchte also mal jemanden mit einem Surround-System (am Besten komplett eine PlayBar, 2 Rear-Boxen und ein Sub, halt das meiste, was geht :-)
    Wer sowas (auch annähernd) hat, könnte mir bitte mal den kompletten Inhalt des Readings "ZoneGroupState" des zentralen Sonos-Devices zukommen lassen.

    Wenn jemand Probleme damit hat sein Sonos-Modul für diese Ausgabe zum Laufen zu bringen, kann derjenige die aktuelle Development-Version installieren. Diese erzeugt zwar noch unschöne Namen der Fhem-Devices, sollte aber immerhin alles fehlerfrei anlegen:

    update thirdparty http://fhem.lmsoft.de/sonos_dev sonos


    Danke schon mal für die Mithilfe...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: eppi am 22 Dezember 2013, 18:54:16
    Hallo Rainer
    Zitat von: Reinerlein am 22 Dezember 2013, 11:38:37
    Ich bräuchte also mal jemanden mit einem Surround-System (am Besten komplett eine PlayBar, 2 Rear-Boxen und ein Sub, halt das meiste, was geht :-)
    Wer sowas (auch annähernd) hat, könnte mir bitte mal den kompletten Inhalt des Readings "ZoneGroupState" des zentralen Sonos-Devices zukommen lassen.
    Ich fühle mich angesprochen ;) Ich habe eine Playbar mit Sub und 2 Rear-Box, alles zusammengeschlossen in einem Surround-System. Jedoch verfüge ich über kein Reading "ZoneGroupState". Mit der neuen DEV Version sind nun die Rear-Boxen auch sichtbar.

    Kannst du mir sagen, wo ich schauen muss?
    Gruss Dani
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Dezember 2013, 21:25:45
    Hi Dani,

    das ist ja schon mal super :-)
    Das Reading befindet sich an dem Device, welches man meist als einzigstes selber anlegt (also das einzige Device vom Typ SONOS). Die einzelnen SONOSPLAYER haben das Reading nicht...

    Da drin befindet sich eine XML-Struktur, die mir die Informationen bzgl. aller deiner Player und der jeweiligen Konstellation liefert....

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 22 Dezember 2013, 22:33:45
    Featurerequest: Kann man das einschalten/ausschalten von Wifi
    in das Modul einbinden? Folgende URL-Aufrufe sind dazu nötig.
    Ich würde damit gerne WiFi ausschalten, solange das Bad aus ist, denn nur dort benötige ich wlan.
    Sobald jemand die Funksteckdose für das Bad einschaltet,
    soll Wifi auf dem SonosSystem wieder aktiviert werden.....
        Wifi off, until next reboot
        http://[sonosip]:1400/wifictrl?wifi=off
        Wifi off, persistent
        http://[sonosip]:1400/wifictrl?wifi=persist-off
        Wifi on
        http://[sonosip]:1400/wifictrl?wifi=on


    Schön wäre auch, wenn man in FHEM erkennen könnte, ob ein Sonos ber Kabel oder per Lan angeschlossen ist...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Dezember 2013, 01:06:14
    Hi JoeAllb,

    das mit dem URL-Aufruf kann ich gerne noch reinpacken, und man kann zumindest rausfinden, ob ein Player an seinen beiden LAN-Buchsen etwas aktives drinstecken hat (für jeden Port einzeln).
    Allerdings habe ich spontan nichts gefunden, wie ich herausfinden kann, ob WLAN aktiv ist, oder nicht. Man kann es nur über deine URL setzen (zumindest habe ich dazu nix gefunden)

    Das ganze wäre dann ein Schritt in den Bereich der Nicht-Offiziell-Supporteten Befehle. Bislang läuft alles über die offiziellen UPnP-Befehle... keine Hacks o.ä. :-)

    Aber als zusätzliche Funktionalität kann man das sicherlich überlegen. Andererseits kann man sich das auch schnell in eine eigene Routine packen, da man die Grund-Adresse jedes Players über das Reading "location" herausbekommt...

    Ich versuche aber auch nochmal diese Informationen vielleicht per UPnP zu bekommen/bzw. setzen zu können...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: eppi am 23 Dezember 2013, 07:15:56
    Hallo Reiner
    Ich habe dir eine PM gesendet mit dem Reading.

    Gruss Dani
    Titel: Antw:Sonos steuern
    Beitrag von: John am 23 Dezember 2013, 09:57:02
    Hallo Reiner,
    vielen Dank für das tolle Sonos-Modul.

    Ich habe jedoch noch einige ungeklärte Probleme:
    (verwende Sonos Play 1 mit Bridge)

    Das Sonos-Modul habe ich installiert via
    update thirdparty http://fhem.lmsoft.de/sonos sonos

    Es sind mehrere Playlisten definiert (siehe Anhang)

    jedoch liefert
    get Sonos_Wohnzimmer Playlists

    folgendes
    Zitat2013.12.23 09:49:06 3: SONOS0: Received: 'DoWork:RINCON_000E58CBFB7C01400_MR:getPlaylists:'

    Zu erwarten wäre doch eine Liste der Playlists.

    John
    Titel: Antw:Sonos steuern
    Beitrag von: John am 23 Dezember 2013, 10:19:24
    Hallo Reiner,

    folgendes funktioniert bei mir grundsätzlich

    set Sonos_Wohnzimmer Speak 20 de Temperatur im Wohnzimmer 19 Grad


    Reading : Repeat 0

    Logausgabe:

    Zitat2013.12.23 10:03:53 3: SONOS1: Start temporary playing of "http://pi/sonos/RINCON_000E58CBFB7C01400_MR_Speak.mp3"
    2013.12.23 10:03:55 3: SONOS1: SleepTimer berechnet die Laufzeit des Titels selber, da keine Wartezeit uebermittelt wurde!
    2013.12.23 10:03:55 1: SONOS1: Da keine Endzeit ermittelt werden konnte, wird kein Restoring durchgeführt werden!

    Allerdings wird die Ausgabe permanent wiederholt.

    Wie kann ich das ändern, so dass der Text nur 1x ausgegeben wird ?

    John
    Titel: Antw:Sonos steuern
    Beitrag von: John am 23 Dezember 2013, 10:39:44
    Hallo Reiner,

    wenn ich die Playlist durch schnelles Drücken am Sonos Play zum nächsten Titel schalte,
    erhalte ich in FHEM keine Information darüber. (fehlende Events)

    Demnach wird das Reading CurrentTrack nicht aktualisiert.
    Der Sonos-Controller jedoch führt die Informationen nach.

    Lässt sich dies ändern ?

    Vielleicht hat in diesem Zusammenhang folgende Log-Ausgabe eine Bedeutung:
    Zitat
    2013.12.23 10:29:29 3: SONOS1: Transport-Event: device 'Sonos_Wohnzimmer' disabled. No Events/Data will be processed!

    John
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Dezember 2013, 11:16:25
    Hi John,

    ich versuche das mal in einer Mail abzuwickeln:

    Das Modul bringt nochmal ein bißchen Komplexität mit sich, die sich leider nicht vermeiden läßt. Aber es lohnt sich :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: John am 23 Dezember 2013, 20:44:37
    Hall Reiner,
    vielen Dank für deine Antwort

    ZitatMit der Endloswiedergabe hatte hier noch jemand ein Problem gehabt, welches durch einen Neustart des Player behoben werden konnte.
    Allerdings gehe ich bei dir eher davon aus, dass das Modul die Datei nicht per HTTP lesen kann. Sonos selbst natürlich schon, da er dieses dann als Radiostream behandelt, und dann natürlich auch endlos abspielt (wie jeden Radiostream).

    Allerdings habe ich immer noch das Problem, dass die Ausgabe sich ewig wiederholt.
    Ich habe nun analog zum Beispiel des Samba-Servers ein eigenes Verzeichnis angelegt, diese mit den Rechten von FHEM versorgt
    und via Alias in Apache eingebunden.


    Zitat2013.12.23 20:35:52 3: SONOS1: Start temporary playing of "http://pi/sonos/speak/RINCON_000E58CBFB7C01400_MR_Speak.mp3"
    2013.12.23 20:35:54 3: SONOS1: SleepTimer berechnet die Laufzeit des Titels selber, da keine Wartezeit uebermittelt wurde!
    2013.12.23 20:35:54 1: SONOS1: Da keine Endzeit ermittelt werden konnte, wird kein Restoring durchgeführt werden!

    Die Rechte sollten auch passen:
    -rw-r--r-- 1 fhem dialout 27648 Dez 23 20:35 RINCON_000E58CBFB7C01400_MR_Speak.mp3


    Ich kann die Datei über HTTP-von aussen lesen.

    Was kann ich noch tun ?

    John

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Dezember 2013, 22:30:40
    Hi John,

    sowohl vom Modul aus, als auch von Sonos aus muss der Zugriff über eine Samba-Freigabe erfolgen (bzw. vom Modul aus ist es ja meist ein Zugriff auf das lokale Filesystem).

    Sobald Sonos per http zugreift, wird das ganze als Webradio angesehen, und endlos abgespielt.

    Mal kurz zur Verdeutlichung:
    - Das Attribut "targetSpeakDir" wird vom Modul zum Schreiben der MP3-Datei verwendet.
    - Das Attribut "targetSpeakURL" wird an Sonos übergeben, um die MP3-Datei von "aussen" (ausserhalb deiner Fhem-Maschine) zu erreichen. Wenn dort was von "http://" steht, macht Sonos das von dir beobachtete Verhalten. Das Verzeichnis muss also nicht per Apache veröffentlicht werden, sondern mittels Samba...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Dezember 2013, 00:46:10
    Hi zusammen,

    hier mal ein kurzer Status...

    Es formiert sich. Ich habe jetzt noch die Anregung bzgl. Reboot, WifiCtrl und EthernetPort-Informationen eingebaut.
    Ich bin zusammen mit Dani noch auf der Suche nach einem Problem bzgl. der Namensvergabe bei Surround-Konfigurationen. Das werden wir aber noch vor dem Release lösen...

    Was noch offen ist (und vermutlich auch nicht im Weihnachtsrelease gelöst sein wird), ist, was bei Verlust (z.B. durch Stromtrennung) eines Players in einer solchen Gruppierung passiert. Das ist wohl noch ein Problem.
    Außerdem gibt es noch bei jemanden das Problem, dass die Sache mit dem Subprozess nicht sauber startet. Das sieht nach einem Threading-Problem aus, muss aber noch genauer untersucht werden.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 25 Dezember 2013, 14:30:57
    Hallo,

    vielen Dank für dieses Modul.

    Ich teste gerade den Betrieb mit Funksteckdosen, FHEM und Sonos. Ich habe öfter das Verhalten, dass FHEM die Songs Komponenten nicht mehr steuern kann. Ich konnte noch nicht reproduzierbar rausfinden wann das der Fall ist. Der Sonos Prozess scheint mit einer hohen CPU Auslastung zu hängen - das zeigt ein ps -aux

    fhem     16332 57.3  8.3  59596 37336 ?        Rl   Dez24 825:14 perl FHEM/00_SONOS.pm 4711 3
    fhem     16587  2.9  6.9  36692 31268 ?        S    00:48  24:10 /usr/bin/perl fhem.pl fhem.cfg

    nach einem Neustart von FHEM geht es erst mal wieder.

    Folgenden Befehl habe ich im Verdacht: set sonot groups [Sonos_Kueche] ...

    Im Log erschien dann Folgendes:

    2013.12.25 15:11:14 3: SONOS0: Received: 'DoWork:RINCON_000E58A9DED201400_MR:makeStandaloneGroup:'
    Thread 3 terminated abnormally: mismatched tag 'stateVariable'

    Die nächsten Befehle kamen nicht bei den Songs Geräten an:

    2013.12.25 15:11:24 3: SONOS0: Received: 'DoWork:RINCON_000E58CA720801400_MR:addMember:RINCON_000E58A9DED201400_MR'
    2013.12.25 15:11:40 3: SONOS0: Received: 'DoWork:RINCON_000E58A9DED201400_MR:setRelativeVolume:7'
    2013.12.25 15:11:54 3: SONOS0: Received: 'DoWork:RINCON_000E58A9DED201400_MR:setRelativeVolume:7'
    2013.12.25 15:11:54 3: SONOS0: Received: 'DoWork:RINCON_000E58A9DED201400_MR:setRelativeVolume:7'
    2013.12.25 15:12:17 3: SONOS0: Received: 'DoWork:RINCON_000E58CA720801400_MR:addMember:RINCON_000E58A9DED201400_MR'
    2013.12.25 15:12:31 3: SONOS0: Received: 'DoWork:RINCON_000E58CA720801400_MR:pause:'

    Ein Delete Sonos und Neudefinition in FEHM führten zum Absturz:

    2013.12.25 15:13:14 3: SONOS0: Received: 'disconnect'
    2013.12.25 15:13:14 3: SONOS0: Disconnecting client...
    2013.12.25 15:13:14 3: SONOS0: Trying to kill Sonos_Thread...
    Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/21_SONOSPLAYER.pm line 291.


    Wie könnte ich den Sachverhalt sinnvoll untersuchen?

    Danke & Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Dezember 2013, 15:51:38
    Hallo Merhan,

    hmmm... das klingt erstmal komisch. Ich habe das bei mir mal ausgeführt, aber wie das so ist, da geht es natürlich :-)

    Ich würde dich kurz bitten, auf die Developer-Version upzudaten. Erstens sind dort u.U. einige Fehler bereits behoben, und zweitens passen deine Fehlermeldungszeilennummern zu dem Code in meinem Editor :-)

    update thirdparty http://fhem.lmsoft.de/sonos_dev sonos


    Danach nochmal beobachten, und mir die neuen Fehlermeldungen mit den von mir nachvollziehbaren Zeilennummern zusenden.

    Danke schon mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 25 Dezember 2013, 17:49:17
    Halo Reiner,

    Danke für Deine schnelle Unterstützung :-)

    Ich bin auf die Dev gegangen und bekomme folgende Fehlermeldung

    Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/00_SONOS.pm line 956

    vorher hatte ich den Befehl set Sonos groups [Sonos_Kueche] .... und weitere Player von denen zwei nicht mit Strom versorgt  und aktuell auch nicht bekannt waren.

    Dieser Fehler lässt sich reproduzieren. Der Aufruf mit vorhandenen Geräten funktioniert.

    Nach dem Neustart bekam ich bei dem Befeht get Songs groups folgende Meldung:

    Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 857.

    Grüße,
    Merhan

    Titel: Antw:Sonos steuern
    Beitrag von: herman am 25 Dezember 2013, 18:26:47
    Folgende Meldung habe ich auch noch erhalten:

    Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/21_SONOSPLAYER.pm line 532
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Dezember 2013, 19:13:34
    Hallo Merhan,

    ok, jetzt sehe ich, an welchen Stellen da ein Fehler auftritt. Allerdings frage ich mich, wie das passieren konnte...
    Das tritt auf, wenn die Player nicht in der Fhem-Device-Liste gefunden werden konnten. Das aber sollte gar nicht auftreten.

    Gehen wir doch mal Schrittweise durch:
    Du versuchst ja Gruppen zu bilden, bzw. aufzulösen. Bitte stell doch im ersten Schritt sicher, dass alle Player von Fhem erkannt und angelegt wurden.
    Danach kannst du bitte mal ein "get Sonos Groups" ausführen. Da solltest du deine Sonos-Player in ihren Gruppen angezeigt bekommen.
    Desweiteren sollte am Sonos-Device das Reading "ZoneGroupState" gefüllt sein, das sollte aber der Fall sein, wenn die Ausgabe von "get Sonos Groups" erfolgreich war...

    Außerdem solltest du auf jeden Fall sicherstellen, dass du wirklich nur ein Sonos-Device konfiguriert hast. Sonst dürfte da auch einiges schief gehen...

    Und du solltest dem ganzen nach einem Neustart etwas Zeit geben, die Player zu erkennen und zu aktualisieren. Das kann schon mal 30 Sekunden dauern (ja nach Maschine auch länger, oder natürlich auch kürzer :-).

    Klappt das denn schon mal?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: John am 25 Dezember 2013, 20:43:49
    Hallo Reiner,
    besten Dank für deine Antwort #550.
    Mit Samba funktioniert nun alles wie gewünscht. Das ewige Wiederholen hat nun ein Ende.

    Nächstes Problem:
    ich möchte eine Playlist laden via:
    set Sonos_Wohnzimmer LoadPlaylist file:/mnt/SonosSpeak/john.m3u

    Das angegebenen Verzeichnis ist gleichzeitig das freigegebene Samba-Verzeichnis:
    Ergebnis von LastActionResult:
    ZitatLoadPlaylist: Error during opening file "/mnt/SonosSpeak/john.m3u": Unpassender IOCTL (I/O-Control) für das Gerät

    Rechte-Einstellung
    -rw-rw-r-- 1 pi fhem 174 Dez 25 20:17 /mnt/SonosSpeak/john.m3u

    Was mache ich falsch?

    John
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Dezember 2013, 23:18:08
    Hi John,

    hmm... das ist aber komisch. Da wird einfach eine Datei mit dem Perl-Befehl "open" zum Lesen geöffnet.
    Das sollte eigentlich auf jeder Maschine gehen.

    Da muss ich erstmal etwas forschen. Leider muss ich dich da also etwas vertrösten...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 26 Dezember 2013, 09:35:00
    Hallo

    Ich habe sehr oft folgendes in meinem Output


    SONOS0: Error during MainTrigger: syntax error at (eval 367) line 1, near "understand you:"
    - Trying to execute 'Sorry. I don't understand you: 'A:RINCON_000E5868517601400_MR:disable:0''


    Und was ich auch sehr oft habe


    ProxyObject does not exists


    In unterschiedlichsten Variatonen. Ich benutze die _dev version, kann auch mehr infos liefern, falls nötig.

    Gruss

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 27 Dezember 2013, 11:35:45
    Hallo,

    habe mal gestern ein Update auf Sonos_dev gemacht und bekam dann folgende Fehler beim speichern der fhem.cfg.

    Reading Sonos_BRIDGE->presence not used out of statefile. Reading Sonos_Bad->presence not used out of statefile. Reading Sonos_Wohnzimmer->presence not used out of statefile.

    Hab alles was das Sonos Modul betraf in der cfg gelöscht und die beiden Player (Play1 und Play3) neu erkennen lassen.

    Gruß Christoph

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Dezember 2013, 13:25:14
    Hi zusammen,

    @Christoph:
    das ist keine Fehlermeldung, sondern nur eine Info.
    Es geht darum, dass der Inhalt des Readings "presence" nicht aus dem Statefile gesetzt werden darf.
    Dieses Rading wird beim Start des Moduls auf disappeared gesetzt, damit ein folgender Erkennungsvorgang sicher den Wert setzen kann, und ausgeschaltete Player (die sich ja nicht melden) auch sicher als Disappeared geführt werden (sonst könnte es passieren, dass ein Player, der an war, und während des Neustarts von Fhem ausgeschaltet wird, zukünftig als "appeared" geführt wird, da das Reading ja nie angefasst wird).

    Leider kann ich das Laden aus dem Statefile nur mit einer Meldung unterbinden, sodass dazu immer etwas im Log steht...

    @Christian:
    Ich habe in der aktuellen Developer-Version dazu etwas eingebaut. Diese Meldungen sollten jetzt seltener auftreten. Das ist ein Zeitproblem zwischen der Fhem und der Subprozess Verarbeitung durch das Betriebssystem. Auf meiner Windows-Monster-Entwicklungs-Maschine tritt da nie was auf, auf meinem Pi hingegen schon, sodass ich das also entsprechend nachvollziehen konnte...
    Vielleicht finde ich da aber auch noch eine bessere Lösung...

    Warst du nicht derjenige, der auch ein Sonos-Surround-System hatte?
    Wenn ja, könntest du mit der aktuellen Dev-Version mal eine vollständige Erkennung aller Zoneplayer mittels Fhem durchführen lassen, und mal schauen, wie die Player jetzt benannt werden?
    Dieser Test (bzw. das Problem dazu) steht dem Weihnachtsrelease noch im Weg.
    Wenn das gelöst ist, wollte ich den Stand erst mal veröffentlichen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: eppi am 27 Dezember 2013, 19:17:37
    Hallo Reiner
    Ich melde mich zurück...

    Ich habe heute das Naming meiner Surround Konfiguration nochmals überprüft.... Nach dem ich mehrmals die bereits erkannten Player gelöscht habe, gespeichert und FHEM neugestartet habe, funktioniert nun das Naming wie gewünscht.

    Meine Player des Surround heissen nun:
    Sonos_Wohnzimmer
    Sonos_Wohnzimmer_LR
    Sonos_Wohnzimmer_RR
    Sonos_Wohnzimmer_SW

    Also genauso wie es sein sollte, HERZLICHEN DANK!

    Ich habe aber noch eine Frage.
    Wenn ich eine Gruppe mit 3 Playern machen möchte scheitere ich an der Schreibweise. Versucht habe ich:
    set Sonos_Wohnzimmer AddMember Sonos_Bad,Sonos_Kueche

    Das hat aber so nicht funktioniert und ich habe mir als Workaround die Befehle aufgeteilt. Kannst du mir hier auf die Sprüngge helfen?

    Danke und Gruess Dani
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Dezember 2013, 22:12:30
    Hi Dani,

    der Befehl "AddMember" ist nur für das Hinzufügen eines Players.

    Wenn du eine Gruppe auf einen Schlag erzeugen willst, kannst du den Befehl "set Groups" am Sonos-Device verwenden:

    set Sonos Groups [Sonos_Wohnzimmer, Sonos_Bad, Sonos_Kueche]

    erzeugt eine Gruppe mit den drei Playern, wobei das Wohnzimmer der Master wird (also wird dessen Abspielliste die der neuen Gruppe).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 27 Dezember 2013, 22:26:22
    Hallo Reinerlein

    Ich hab zwar kein Surround System, aber 2 play:5 mit einem Sub. Hab mal alle sonos definitionen gelöscht in der .cfg und neu gestartet, folgendes kam raus (hab auch noch nen Play:1 und einen Connect):


    define Sonos_Living_Room_SW SONOSPLAYER RINCON_000E5899F9CE01400_MR
    attr Sonos_Living_Room_SW generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Living_Room_SW generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Living_Room_SW generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Living_Room_SW getAlarms 1
    attr Sonos_Living_Room_SW group Living_Room
    attr Sonos_Living_Room_SW icon icoSONOSPLAYER_icon-Sub.png
    attr Sonos_Living_Room_SW minVolume 0
    attr Sonos_Living_Room_SW model Sonos_Sub
    attr Sonos_Living_Room_SW room Sonos
    attr Sonos_Living_Room_SW stateVariable InfoSummarize2
    attr Sonos_Living_Room_SW webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define Sonos_Living_Room_RF SONOSPLAYER RINCON_000E5889C19001400_MR
    attr Sonos_Living_Room_RF generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Living_Room_RF generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Living_Room_RF generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Living_Room_RF getAlarms 1
    attr Sonos_Living_Room_RF group Living_Room
    attr Sonos_Living_Room_RF icon icoSONOSPLAYER_icon-S5.png
    attr Sonos_Living_Room_RF minVolume 0
    attr Sonos_Living_Room_RF model Sonos_S5
    attr Sonos_Living_Room_RF room Sonos
    attr Sonos_Living_Room_RF stateVariable InfoSummarize2
    attr Sonos_Living_Room_RF webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define Sonos_BRIDGE SONOSPLAYER RINCON_000E5868517601400_MR
    attr Sonos_BRIDGE group BRIDGE
    attr Sonos_BRIDGE icon icoSONOSPLAYER_icon-ZB100.png
    attr Sonos_BRIDGE model Sonos_ZB100
    attr Sonos_BRIDGE room Sonos
    define Sonos_Bathroom SONOSPLAYER RINCON_000E58C9D7E201400_MR
    attr Sonos_Bathroom generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Bathroom generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Bathroom generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Bathroom getAlarms 1
    attr Sonos_Bathroom group Bathroom
    attr Sonos_Bathroom icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Bathroom minVolume 0
    attr Sonos_Bathroom model Sonos_S1
    attr Sonos_Bathroom room Sonos
    attr Sonos_Bathroom stateVariable InfoSummarize2
    attr Sonos_Bathroom webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define Sonos_Bedroom SONOSPLAYER RINCON_000E582B613C01400_MR
    attr Sonos_Bedroom generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Bedroom generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Bedroom generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Bedroom getAlarms 1
    attr Sonos_Bedroom group Bedroom
    attr Sonos_Bedroom icon icoSONOSPLAYER_icon-ZP90.png
    attr Sonos_Bedroom minVolume 0
    attr Sonos_Bedroom model Sonos_ZP90
    attr Sonos_Bedroom room Sonos
    attr Sonos_Bedroom stateVariable InfoSummarize2
    attr Sonos_Bedroom webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_Bedroom weblink image /fhem/icons/SONOSPLAYER/Sonos_Bedroom_AlbumArt
    attr AlbumArt_Bedroom group Bedroom
    attr AlbumArt_Bedroom htmlattr width='200'
    attr AlbumArt_Bedroom room Sonos
    define Sonos_Living_Room_LF SONOSPLAYER RINCON_000E585B03CC01400_MR
    attr Sonos_Living_Room_LF generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Living_Room_LF generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Living_Room_LF generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Living_Room_LF getAlarms 1
    attr Sonos_Living_Room_LF group Living_Room
    attr Sonos_Living_Room_LF icon icoSONOSPLAYER_icon-S5.png
    attr Sonos_Living_Room_LF minVolume 0
    attr Sonos_Living_Room_LF model Sonos_S5
    attr Sonos_Living_Room_LF room Sonos
    attr Sonos_Living_Room_LF stateVariable InfoSummarize2
    attr Sonos_Living_Room_LF webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT


    Es scheint nun keinen Sonos_Living_Room mehr zu geben, nur noch die entsprecchenden Sonos_Living_Room_*, ich nehm an, um die Gruppe anzusprechen, kann ich einen davon nehmen (tut jedenfalls bei einfachen Tests)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Dezember 2013, 22:58:04
    Hi Christian,

    das mit der Namensgebung muss noch etwas feingeschliffen werden. Da baue ich noch etwas dran rum :-)

    Aber prinzipiell hast du recht. Das Modul weiss schon, an wen die Anweisungen gehen müssen. Es müssen nur alle Player in Fhem eine entsprechende Komponente haben.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: John am 28 Dezember 2013, 17:28:36
    Hallo Reiner,

    ich hab mit targetSpeakFileHashCache gespielt und folgendes festgestellt:


    Zitat
    2013.12.28 13:10:11 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2013.12.28 13:10:11 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2013.12.28 13:10:13 3: SONOS0: Received: 'DoWork:RINCON_000E58CBFB7C01400_MR:speak0:50,de, Der Brenner ist ein'
    Argument "DoWork:RINCON_000E58CBFB7C01400_MR:speak0:50,de, Der Bre..." isn't numeric in numeric eq (==) at FHEM/00_SONOS.pm line 1749, <$client> line 2.
    Argument "A:undef:targetSpeakFileHashCache:1" isn't numeric in numeric eq (==) at FHEM/00_SONOS.pm line 1762, <$client> line 2.
    2013.12.28 13:10:14 3: SONOS1: Load Google generated MP3 from "http://translate.google.com/translate_tts?tl=de&q=Der%20Brenner%20ist%20ein" to "A:undef:targetSpeakFileTimestamp:0/RINCON_000E58CBFB7C01400_MR_Speak.mp3"
    2013.12.28 13:10:14 2: SONOS1: Beim Setzen der MP3-Informationen (ID3TagV2) ist ein Fehler aufgetreten: Can't call method "title_set" on an undefined value at FHEM/00_SONOS.pm line 1787, <$client> line 2.

    Beim Ermitteln des Hash-Wertes ist ein Fehler aufgetreten: Can't locate Digest/SHA1.pm in @INC (@INC contains: FHEM/lib FHEM/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /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 FHEM/00_SONOS.pm line 1751, <$client> line 2.

    John

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 Dezember 2013, 02:19:22
    Hi John,

    also das mit dem Löschen der Attribute kann ich nicht nachvollziehen.
    Aber die Änderungen an Attributen usw. werden vom Modul auf jeden Fall erst nach einem Neustart übernommen ("save" vorher nicht vergessen).
    Ich kann diese Informationen nicht ständig zwischen dem Subprozess und Fhem synchronisieren, sodass ich diese nur einmal (bei der ersten Verwendung) transferiere.

    Zu den Fehlermeldungen:
    Leider kann ich die Zeilennummern nicht bei mir anwenden. Dazu müsstest du auf die Developer-Version updaten, die meinem lokalen Codestand entspricht.
    Aber zu der unteren Fehlermeldung kann ich dir schon was schreiben:
    Er vermisst die, für die Generierung des Hash-Werts notwendige, Perl Library "Digest/SHA1.pm". Um die Funktionalität nutzen zu können, musst du diese auf jeden Fall noch installieren.

    Wenn du auf die Dev-Version umgestellt hast, bzw. wenn du auf das offizielle Release wartest, nach dem update, kann ich mir die Fehlermeldungen mit deinen dann neuen Zeilennummern anschauen. Dann finden wir die Lösung sicherlich...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 29 Dezember 2013, 07:48:38
    Hallo Reiner,

    Da mit dem SHA Modul sollte Bitte in der Wiki Doku ergänzt werden,  da bin ich ebenfalls gescheitert. Ich würde Hebel vorschlagen   die benötigten Module gesammelt dort anzugeben,  den das mp3 Info Modul sollte sich leichter auf Auffindbar sein. Ich würde dort sogar auch espeak als optional angeben. Ansonsten freue ich mich sehr über die neue Version und beginne jetzt mit dem Testen. Habe die letzten Änderungen leider noch mitbekommen, irgendwie funktioniert hier die email Benachrichtigung nicht gut dem Forum.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 Dezember 2013, 11:19:46
    Hi JoeAllb,

    das Wiki repräsentiert immer den "offiziellen" Stand, und wird zusammen mit dem Modul aktualisiert. Das bedeutet, dass die "Developer"-Funktionen dort noch nicht dokumentiert sind.

    Aber du hast natürlich Recht, und ich werde auf jeden Fall noch die Hinweise bzgl. Digest/Sha einbauen.
    Bzgl. espeak habe ich ein Beispiel mit Installationshinweisen im Wiki eingetragen. Ansonsten sollte espeak ja auch nur ein Beispiel sein, und wird dementsprechend nicht in den Standard-Installationshinweisen erwähnt, schließlich kann man ja auch beliebiges anderes verwenden :-)

    Wie gesagt, muss nur noch der Test mit den Surround-Systemen abgeschlossen werden, dann wird alles released und damit auch das Wiki aktualisiert...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 30 Dezember 2013, 08:51:58
    Hallo zusammen

    Ich schein ein neues Problem zu haben. Der SONOS Perl prozess hängt sich nach kurzer Zeit auf (erzeugt 100% CPU lasst). Ich hab mal alle definitionen gelöscht, fhem neu gestartet und dann sonos neu definiert

    folgendes krieg ich dann im log


    2013.12.30 08:42:04 1: SONOS0: 00_SONOS.pm is listening to Port 4711
    @2013.12.30 08:43:38 1: SONOS0: Connection accepted from localhost:48050
    2013.12.30 08:43:38 3: SONOS0: Received: 'disconnect'
    2013.12.30 08:43:38 3: SONOS0: Disconnecting client...
    2013.12.30 08:43:40 1: SONOS0: Connection accepted from localhost:48051
    2013.12.30 08:43:41 3: SONOS0: Received: 'SetData:Sonos:none::'
    2013.12.30 08:43:41 3: SONOS0: Received: 'StartThread'
    2013.12.30 08:43:41 3: SONOS1: UPnP-Thread gestartet.
    2013.12.30 08:43:42 1: SONOS2: Restore-Thread gestartet. Warte auf Arbeit...


    2013.12.30 08:45:16 4: SONOS1: Discover-Event: Description-Document: <?xml version="1.0" encoding="utf-8" ?>
    <root xmlns="urn:schemas-upnp-org:device-1-0">
      <specVersion>
        <major>1</major>
        <minor>0</minor>
      </specVersion>
      <device>
        <deviceType>urn:schemas-upnp-org:device:ZonePlayer:1</deviceType>
        <friendlyName>192.168.1.34 - Sonos BRIDGE</friendlyName>
        <manufacturer>Sonos, Inc.</manufacturer>
        <manufacturerURL>http://www.sonos.com</manufacturerURL>
        <modelNumber>ZB100</modelNumber>
        <modelDescription>Sonos BRIDGE</modelDescription>
        <modelName>Sonos ZoneBridge ZB100</modelName>
        <modelURL>http://www.sonos.com/store/products/BRIDGE</modelURL>
        <softwareVersion>24.0-69180</softwareVersion>
        <hardwareVersion>1.5.0.0-2</hardwareVersion>
        <serialNum>00-0E-58-68-51-76:0</serialNum>
        <UDN>uuid:RINCON_000E5868517601400</UDN>
        <iconList>
          <icon>
            <id>0</id>
            <mimetype>image/png</mimetype>
            <width>48</width>
            <height>48</height>
            <depth>24</depth>
            <url>/img/icon-ZB100.png</url>
          </icon>
        </iconList>
        <minCompatibleVersion>22.0-00000</minCompatibleVersion>
        <displayVersion>4.2</displayVersion>
        <extraVersion></extraVersion>
        <roomName>BRIDGE</roomName>
        <displayName>BRIDGE</displayName>
        <zoneType>4</zoneType>
        <feature1>0x00000000</feature1>
        <feature2>0x00008173</feature2>
        <feature3>0x00030000</feature3>
        <internalSpeakerSize>-1</internalSpeakerSize>
        <serviceList>
          <service>
            <serviceType>urn:schemas-upnp-org:service:DeviceProperties:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:DeviceProperties</serviceId>
            <controlURL>/DeviceProperties/Control</controlURL>
            <eventSubURL>/DeviceProperties/Event</eventSubURL>
            <SCPDURL>/xml/DeviceProperties1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:SystemProperties:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:SystemProperties</serviceId>
            <controlURL>/SystemProperties/Control</controlURL>
            <eventSubURL>/SystemProperties/Event</eventSubURL>
            <SCPDURL>/xml/SystemProperties1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:ZoneGroupTopology:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:ZoneGroupTopology</serviceId>
            <controlURL>/ZoneGroupTopology/Control</controlURL>
            <eventSubURL>/ZoneGroupTopology/Event</eventSubURL>
            <SCPDURL>/xml/ZoneGroupTopology1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:GroupManagement:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:GroupManagement</serviceId>
            <controlURL>/GroupManagement/Control</controlURL>
            <eventSubURL>/GroupManagement/Event</eventSubURL>
            <SCPDURL>/xml/GroupManagement1.xml</SCPDURL>
          </service>
        </serviceList>
        <deviceList>
        </deviceList>
      </device>
    </root>

    2013.12.30 08:45:16 4: SONOS1: RoomName: 'BRIDGE', SaveRoomName: 'BRIDGE', ModelNumber: 'ZB100', DisplayVersion: '4.2', SerialNum: '00-0E-58-68-51-76:0', IconURI: '/img/icon-ZB100.png', IconOrigPath: 'http://192.168.1.34:1400/img/icon-ZB100.png', IconPath: 'icoSONOSPLAYER_icon-ZB100.png'
    2013.12.30 08:45:16 2: SONOS1: Discover Sonosplayer 'BRIDGE' (ZB100) Software Revision 4.2 with ID 'RINCON_000E5868517601400_MR'
    2013.12.30 08:45:19 4: SONOS1: ControlProxies wurden gesichert
    2013.12.30 08:45:19 1: SONOS1: ZoneGroupState: <ZoneGroups><ZoneGroup Coordinator="RINCON_000E582B613C01400" ID="RINCON_000E582B613C01400:147"><ZoneGroupMember UUID="RINCON_000E5899F9CE01400" Location="http://192.168.1.40:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="35"/><ZoneGroupMember UUID="RINCON_000E585B03CC01400" Location="http://192.168.1.37:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="38"/><ZoneGroupMember UUID="RINCON_000E5889C19001400" Location="http://192.168.1.36:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="33"/><ZoneGroupMember UUID="RINCON_000E582B613C01400" Location="http://192.168.1.38:1400/xml/device_description.xml" ZoneName="Bedroom" Icon="x-rincon-roomicon:bedroom" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="8"/><ZoneGroupMember UUID="RINCON_000E58C9D7E201400" Location="http://192.168.1.39:1400/xml/device_description.xml" ZoneName="Bathroom" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="10"/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E5868517601400" ID="RINCON_000E5868517601400:0"><ZoneGroupMember UUID="RINCON_000E5868517601400" Location="http://192.168.1.34:1400/xml/device_description.xml" ZoneName="BRIDGE" Icon="x-rincon-roomicon:viper" Configuration="1" Invisible="1" IsZoneBridge="1" SoftwareVersion="24.0-69180" MinCompatibleVersion="22.0-00000" BootSeq="9"/></ZoneGroup></ZoneGroups>


    und dann ist die CPU bei 100%. Ich hatte das schon immer ab und zu, aber ein neustart hat dann meistens geholfen. Jetzt scheint's immer sehr schnell auf 100% zu gehen.

    Wenn mir jemand sagen kann, wie ich sowas am besten debugge, kann ich auch noch bessere/nähere Informationen liefern (ich hab einiges Erfahrung in Programmierung, weniger in Perl-Debugging, resp. ist schon lange her ;))

    Gruss
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 30 Dezember 2013, 09:43:59
    Er scheint sich hier aufzuhängen


    if ($SONOS_ZoneGroupTopologyProxy{$udn}) {
    my $zoneGroupState = $SONOS_ZoneGroupTopologyProxy{$udn}->GetZoneGroupState()->getValue('ZoneGroupState');
    SONOS_Log undef, 1, 'ZoneGroupState: '.$zoneGroupState;

    # Ist dieser Player in einem ChannelMapSet (also einer Paarung) enthalten?
    while ($zoneGroupState =~ m/ChannelMapSet="(.*?)"/i) {

    my $mapSet = $1;
    if ($mapSet =~ m/$udnShort/i) {
    ...
    # Wenn wir einen Eintrag gefunden haben, dann können wir beenden. Die anderen sollten identische Informationen enthalten.
    last;
    }
    }


    $mapSet matched nicht auf $udnShort und drum endet das in einer endlos schlaufe.

    Fehlt bei dem while evt. einfach ein /g beim Regex, damit er da wirklich auch durch alle Resultate durchschlauft? Jedenfalls läuft's mit einem g bei mir durch jetzt gerade, ich beobachte das noch ein bisschen

    $zoneGroupState sieht so aus in einem Versuch



    <ZoneGroups>
        <ZoneGroup Coordinator="RINCON_000E582B613C01400" ID="RINCON_000E582B613C01400:147">
            <ZoneGroupMember UUID="RINCON_000E5899F9CE01400" Location="http://192.168.1.40:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="35"/>
            <ZoneGroupMember UUID="RINCON_000E585B03CC01400" Location="http://192.168.1.37:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="38"/>
            <ZoneGroupMember UUID="RINCON_000E5889C19001400" Location="http://192.168.1.36:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="33"/>
            <ZoneGroupMember UUID="RINCON_000E582B613C01400" Location="http://192.168.1.38:1400/xml/device_description.xml" ZoneName="Bedroom" Icon="x-rincon-roomicon:bedroom" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="8"/>
            <ZoneGroupMember UUID="RINCON_000E58C9D7E201400" Location="http://192.168.1.39:1400/xml/device_description.xml" ZoneName="Bathroom" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="10"/>
        </ZoneGroup>
        <ZoneGroup Coordinator="RINCON_000E5868517601400" ID="RINCON_000E5868517601400:0">
            <ZoneGroupMember UUID="RINCON_000E5868517601400" Location="http://192.168.1.34:1400/xml/device_description.xml" ZoneName="BRIDGE" Icon="x-rincon-roomicon:viper" Configuration="1" Invisible="1" IsZoneBridge="1" SoftwareVersion="24.0-69180" MinCompatibleVersion="22.0-00000" BootSeq="9"/>
        </ZoneGroup>
    </ZoneGroups>


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Dezember 2013, 12:24:26
    Hi Christian,

    das ist richtig, und zeigt mir, dass man nicht mehr Nachts an solchen Ausdrücken arbeiten sollte :-)
    Ich habe das bei mir nun auch eingesetzt.

    Läuft das denn jetzt mit der Anpassung sauber durch?
    Werden jetzt alle Namen korrekt ermittelt?

    Dann wäre das Thema mal durch...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 30 Dezember 2013, 12:32:14
    Ich hatte heute Living_Room Living_Room_X und Living_Room_X_X als Namen. Es lief aber grundsätzlich durch. Ich teste später nochmals genauer.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Dezember 2013, 14:47:07
    Hi Christian,

    das bedeutet, dass die Surround-Suche immer noch nicht klappt.

    Die Sache mit den "_X"-Erweiterungen habe ich als Sicherheits-Fallback dringelassen. Damit auf jeden Fall alle Komponenten in Fhem angelegt werden.
    Eigentlich sollten aber vorher schönere Namen erzeugt werden...

    Ich schaue da noch mal rein... das muss ja zu finden sein...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 30 Dezember 2013, 16:43:56
    ich hab sie dann einfach von Hand umbenannt ;) jedenfalls gute Idee mit dem Fallback.
    Titel: Antw:Sonos steuern
    Beitrag von: bapou am 30 Dezember 2013, 19:37:20
    Hallo Reiner,

    vor einiger Zeit hatte ich einmal ein Weckzeit Feature angefragt. Dieses hast du dann schnell implementiert aber ich hatte mich lange nicht mehr
    um FHEM und SONOS gekuemmert. Nun in der Weihnachtszeit habe ich es eingebaut und verwende nun die Weckzeitauslesung aus SONOS um erfolgreich um damit eine Weckbeleuchtung + Heizungsteuerung auszuloesen. Es funktioniert sehr gut!
    Herzlichen Dank für deine Arbeit.

    Gruss,
    Thom
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 30 Dezember 2013, 22:08:50
    Zitat von: Reinerlein am 25 Dezember 2013, 19:13:34

    Gehen wir doch mal Schrittweise durch:
    Du versuchst ja Gruppen zu bilden, bzw. aufzulösen. Bitte stell doch im ersten Schritt sicher, dass alle Player von Fhem erkannt und angelegt wurden.
    Danach kannst du bitte mal ein "get Sonos Groups" ausführen. Da solltest du deine Sonos-Player in ihren Gruppen angezeigt bekommen.
    Desweiteren sollte am Sonos-Device das Reading "ZoneGroupState" gefüllt sein, das sollte aber der Fall sein, wenn die Ausgabe von "get Sonos Groups" erfolgreich war...

    Außerdem solltest du auf jeden Fall sicherstellen, dass du wirklich nur ein Sonos-Device konfiguriert hast. Sonst dürfte da auch einiges schief gehen...

    Und du solltest dem ganzen nach einem Neustart etwas Zeit geben, die Player zu erkennen und zu aktualisieren. Das kann schon mal 30 Sekunden dauern (ja nach Maschine auch länger, oder natürlich auch kürzer :-).

    Klappt das denn schon mal?


    Hallo Reiner,

    prinzipiell funktioniert alles wenn ich FHEM neu starte und ein paar Minuten warte. Ich verlasse dann das Haus und starte ein Skript das alle Steckdosen ausschaltet. Abends funktioniert das selbe Skript (einschalten der Steckdosen und mit at-Befehl nach 5 Minuten Ansteuern der Sonoskomponenten) nicht. Ich muss FHEM neu starten, manchmal sogar den SUB-Sonos-Prozess killen und dann FHEM neu starten.
    Das Problem ist nicht deterministisch. Ich kann das "weggehen" und "sonos starten" Skript mehrfach hintereinander starten, so dass es funktioniert.

    Gibt es eine Möglichkeit die Ausgabe des Sub-Prozesses zu loggen, so dass Fehlermeldungen nachvollzogen werden können?

    Viele Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Dezember 2013, 22:48:56
    Hallo Merhan,

    der Subprozess gibt mit dem Fhem-Loglevel seine Ausgaben direkt auf der Konsole aus. Das bedeutet, dass du die Ausgabe in eine Datei umlenken kannst...

    Wenn du alles sehen möchtest, musst du den Loglevel auf 5 hochdrehen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Dezember 2013, 22:53:57
    Hallo Christian,

    da müsste es während des Erkennungsprozesses eine Log-Ausgabe mit "Found HTSatChanMapSet:" geben. Kannst du mir diese ganzen Ausgaben mal zukommen lassen?

    Ich muss diesem kleinen Fehler im regulären Ausdruck auf Spur kommen...

    Danke schon mal...

    Grüße
    Reiner

    P.S.: Thom, schön dass es bei dir funktioniert :-)
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 30 Dezember 2013, 23:04:41
    Hallo Reiner

    Ich hab leider noch gar kein Playbar, "nur" eine Zone mit 2xPlay:5 und 1x Sub (neben 2 anderen einfacheren Zonen), drum kann ich dir da leider nicht weiterhelfen.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Dezember 2013, 23:24:36
    Hi Christian,

    ok, dann hast du doch eine analoge Ausgabe mit "Found ChannelMapSet:" .
    Das Problem mit der Benennung ist das gleiche, da der reguläre Ausdruck genauso aufgebaut ist.

    Kannst du mir dazu die Ausgabe zusenden?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 31 Dezember 2013, 09:37:26
    Hallo Reiner

    Hier die entsprechenden Stellen aus meinem Log (hab nochmals alle SONOS Einträge gelöscht und neu generieren lassen):


    console.log:2013.12.31 09:32:29 1: SONOS1: Found ChannelMapSet: RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW
    console.log-2013.12.31 09:32:29 1: SONOS1: Retrieved TopoType: _SW
    console.log-2013.12.31 09:32:29 4: SONOS1: Retrieve Current Volumelevels. Master: "5", Balance: "0"
    console.log-2013.12.31 09:32:29 1: SONOS1: Successfully autocreated SonosPlayer 'Living_Room' (Sub) Software Revision 4.2 with ID 'RINCON_000E5899F9CE01400_MR'
    console.log-2013.12.31 09:32:29 2: SONOS1: SonosPlayer 'Living_Room' is now updated

    console.log:2013.12.31 09:32:58 1: SONOS1: Found ChannelMapSet: RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW
    console.log-2013.12.31 09:32:58 1: SONOS1: Retrieved TopoType: _RF
    console.log-2013.12.31 09:32:58 4: SONOS1: Retrieve Current Volumelevels. Master: "5", Balance: "0"
    console.log-2013.12.31 09:32:58 2: SONOS1: New Fhem-Name neccessary for 'Living Room' -> 'Sonos_Living_Room_X', ID 'RINCON_000E5889C19001400_MR'
    console.log-2013.12.31 09:32:58 1: SONOS1: Successfully autocreated SonosPlayer 'Living_Room_X' (S5) Software Revision 4.2 with ID 'RINCON_000E5889C19001400_MR'
    console.log-2013.12.31 09:32:58 2: SONOS1: SonosPlayer 'Living_Room_X' is now updated

    console.log:2013.12.31 09:33:20 1: SONOS1: Found ChannelMapSet: RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW
    console.log-2013.12.31 09:33:20 1: SONOS1: Retrieved TopoType: _LF
    console.log-2013.12.31 09:33:20 4: SONOS1: Retrieve Current Volumelevels. Master: "5", Balance: "0"
    console.log-2013.12.31 09:33:20 2: SONOS1: New Fhem-Name neccessary for 'Living Room' -> 'Sonos_Living_Room_X', ID 'RINCON_000E585B03CC01400_MR'
    console.log-2013.12.31 09:33:20 2: SONOS1: New Fhem-Name neccessary for 'Living Room' -> 'Sonos_Living_Room_X_X', ID 'RINCON_000E585B03CC01400_MR'
    console.log-2013.12.31 09:33:20 1: SONOS1: Successfully autocreated SonosPlayer 'Living_Room_X_X' (S5) Software Revision 4.2 with ID 'RINCON_000E585B03CC01400_MR'
    console.log-2013.12.31 09:33:20 2: SONOS1: SonosPlayer 'Living_Room_X_X' is now updated



    Andere Frage: Hast du irgendwo ein öffentliches SVN oder GIT Repo deines Codes? Wär noch spannend, mitzuverfolgen, was du so änderst, um besser und schneller in den Code reinzukommen (und evt. auch mal mithelfen)

    Gruss

    christian
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 31 Dezember 2013, 11:12:05
    Hab noch nen Fehler entdeckt.

    Zeile 948, in der SONOS_Set funktion ist is_array benutzt, die funktion gibt's aber nicht in Perl. Müsste wohl heissen:


    my $reftype  = reftype $elemHash;
    if (!defined($reftype) || $reftype ne 'HASH') {



    Das is_array führte manchmal bei einem
    set Sonos Groups [Sonos_Bedroom, Sonos_Bathroom, Sonos_Living_Room]
    zum Absturz vom ganzen FHEM (es ist nicht wirklich immer reproduzierbar)

    Gruss

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Dezember 2013, 11:53:49
    Hi Christian,

    ich habe den Code in einem lokalen Repository bei mir im Haus liegen, aber leider nicht öffentlich erreichbar.

    Ursprünglich wollte ich das ja einfach in das SVN von Fhem legen, das ist aber daran gescheitert, dass es Rudi und Martin zu groß und zu unrelevant für die meisten Benutzer erschien. Daraufhin habe ich das ja bei mir auf den Webserver gelegt, und über den Thirdparty-Mechanismus eingebunden...

    Danke für die "is_array"-Geschichte. Das ist wohl ein gedankliches Überbleibsel aus PHP gewesen :-)
    Ich habs korrigiert.

    Das mit der Log-Ausgabe hat schon mal geholfen, Danke. Ich forsche nochmal weiter, und melde mich dann wieder...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Dezember 2013, 12:05:22
    Hi Christian,

    soo, ich hätte da mal einen weiteren Versuch. Könntest du nochmal einen kurzen Test durchführen?

    Danke schon mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 31 Dezember 2013, 12:44:47
    Ja, scheint zu funktionieren, hab jetzt

    Sonos_Living_Room_RF, Sonos_Living_Room_LF, Sonos_Living_Room_SW

    generiert gekriegt. Vielen Dank.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Dezember 2013, 13:55:03
    Hi Christian,

    leider noch nicht ganz. Du dürftest jetzt kein AlbumArt-Element haben.
    Einer der Komponenten sollte als sogenannter "Master" angelegt werden.
    Dieser erhält den normalen Raumnamen als Komponentennamen und zu diesem wird auch der AlbumArt-Eintrag angelegt. Damit soll bereits bei der Namensvergabe klar sein, welches der "wichtige" Player ist...

    Ich habe mal wieder eine Änderung gemacht... Sorry, aber ich hoffe, das es das bald war...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 31 Dezember 2013, 14:11:38
    Leider immer noch dieselbe Antwort. Was mit aufgefallen ist, ich hab folgendes XML, wenn ich mehrere Zonnen zu einer Gruppe zusammenfasse:



    <ZoneGroups>
        <ZoneGroup Coordinator="RINCON_000E5868517601400" ID="RINCON_000E5868517601400:0">
            <ZoneGroupMember UUID="RINCON_000E5868517601400" Location="http://192.168.1.34:1400/xml/device_description.xml" ZoneName="BRIDGE" Icon="x-rincon-roomicon:viper" Configuration="1" Invisible="1" IsZoneBridge="1" SoftwareVersion="24.0-69180" MinCompatibleVersion="22.0-00000" BootSeq="9"/>
        </ZoneGroup>
        <ZoneGroup Coordinator="RINCON_000E582B613C01400" ID="RINCON_000E582B613C01400:147">
            <ZoneGroupMember UUID="RINCON_000E5899F9CE01400" Location="http://192.168.1.40:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="40"/>
            <ZoneGroupMember UUID="RINCON_000E585B03CC01400" Location="http://192.168.1.37:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="43"/>
            <ZoneGroupMember UUID="RINCON_000E582B613C01400" Location="http://192.168.1.38:1400/xml/device_description.xml" ZoneName="Bedroom" Icon="x-rincon-roomicon:bedroom" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="8"/>
            <ZoneGroupMember UUID="RINCON_000E58C9D7E201400" Location="http://192.168.1.39:1400/xml/device_description.xml" ZoneName="Bathroom" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="10"/>
            <ZoneGroupMember UUID="RINCON_000E5889C19001400" Location="http://192.168.1.35:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="35"/>
        </ZoneGroup>
    </ZoneGroups>


    Der Coordinator ist da aus ner anderen Zone, drum matcht der wohl nicht.

    Aber auch wenn ich die Zonen trenne und alles nochmals starte, will er nicht, das XML sieht dann so aus



    <ZoneGroups>
        <ZoneGroup Coordinator="RINCON_000E585B03CC01400" ID="RINCON_000E582B613C01400:147">
            <ZoneGroupMember UUID="RINCON_000E5899F9CE01400" Location="http://192.168.1.40:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="40"/>
            <ZoneGroupMember UUID="RINCON_000E585B03CC01400" Location="http://192.168.1.37:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="43"/>
            <ZoneGroupMember UUID="RINCON_000E5889C19001400" Location="http://192.168.1.35:1400/xml/device_description.xml" ZoneName="Living Room" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E585B03CC01400:LF,LF;RINCON_000E5889C19001400:RF,RF;RINCON_000E5899F9CE01400:SW,SW" BootSeq="35"/>
        </ZoneGroup>
        <ZoneGroup Coordinator="RINCON_000E582B613C01400" ID="RINCON_000E582B613C01400:148">
            <ZoneGroupMember UUID="RINCON_000E582B613C01400" Location="http://192.168.1.38:1400/xml/device_description.xml" ZoneName="Bedroom" Icon="x-rincon-roomicon:bedroom" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="8"/>
        </ZoneGroup>
        <ZoneGroup Coordinator="RINCON_000E58C9D7E201400" ID="RINCON_000E58C9D7E201400:149">
            <ZoneGroupMember UUID="RINCON_000E58C9D7E201400" Location="http://192.168.1.39:1400/xml/device_description.xml" ZoneName="Bathroom" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="10"/>
        </ZoneGroup>
        <ZoneGroup Coordinator="RINCON_000E5868517601400" ID="RINCON_000E5868517601400:0">
            <ZoneGroupMember UUID="RINCON_000E5868517601400" Location="http://192.168.1.34:1400/xml/device_description.xml" ZoneName="BRIDGE" Icon="x-rincon-roomicon:viper" Configuration="1" Invisible="1" IsZoneBridge="1" SoftwareVersion="24.0-69180" MinCompatibleVersion="22.0-00000" BootSeq="9"/>
        </ZoneGroup>
    </ZoneGroups>


    Was mir auffällt, ist dass die beiden Player, die nicht coordinator sind, das attribute  Invisible="1" haben, evt. hilft das weiter beim Parsen.

    Gruss

    christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Dezember 2013, 14:37:31
    Hi Christian,

    das mit dem Invisible war auch meine erste Überlegung gewesen, und wenn ich mir die Problematik mit den Gruppierten Gruppenplayern ansehe, ist das wohl auch die einzig Gangbare Lösung.
    Ich habe die Erkennung des "Masters" nun auf das fehlende Invisible-Flag umgebaut (Ich musste da noch eine Sonderlocke für die ZoneBridge einbauen, die auch Invisible ist :-).

    Könntest du nochmal?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 31 Dezember 2013, 14:48:36
    Cool, jetzt hat's geklappt. Vielen Dank.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Dezember 2013, 16:12:18
    Hi Christian,

    super, dann haben wir das schon mal vom Tisch. Jetzt fehlt nur noch das Surround-System.
    Da das aber analog programmiert ist, sollte das nun auch laufen...

    @Dani: Kannst du das denn noch kurz testen?
    Dann können wir das vielleicht bald releasen...

    Danke schon mal...
    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: eppi am 31 Dezember 2013, 16:49:03
    Hallo Reiner
    Zitat@Dani: Kannst du das denn noch kurz testen?
    Dann können wir das vielleicht bald releasen...
    Gerne, klar  ;)
    Mein Naming sieht nach dem Update wie folgt aus:
    list Sonos_.*
    Sonos_Bad
    Sonos_Kueche
    Sonos_Wohnzimmer
    Sonos_Wohnzimmer_LR
    Sonos_Wohnzimmer_RR
    Sonos_Wohnzimmer_SW


    Und mein Server hat folgendes Reading:
    list Sonos
    Internals:
       CFGFN      /opt/fhem/FHEM/fhem_music.cfg
       DEF        localhost:4711 30
       DeviceName localhost:4711
       FD         62
       INTERVAL   30
       NAME       Sonos
       NR         584
       PARTIAL   
       STATE      opened
       TYPE       SONOS
       Readings:
         2013-12-31 16:40:51   ZoneGroupState  <ZoneGroups><ZoneGroup Coordinator="RINCON_000E58BA006601400" ID="RINCON_000E58BA006601400:49"><ZoneGroupMember UUID="RINCON_000E58BA006601400" Location="http://192.168.2.65:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" HTSatChanMapSet="RINCON_000E58BA006601400:LF,RF;RINCON_000E58C4C97401400:RR;RINCON_000E58C5408201400:LR;RINCON_000E589ABC9A01400:SW" BootSeq="8"><Satellite UUID="RINCON_000E589ABC9A01400" Location="http://192.168.2.45:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" HTSatChanMapSet="RINCON_000E58BA006601400:LF,RF;RINCON_000E589ABC9A01400:SW" BootSeq="4"/><Satellite UUID="RINCON_000E58C4C97401400" Location="http://192.168.2.51:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" HTSatChanMapSet="RINCON_000E58BA006601400:LF,RF;RINCON_000E58C4C97401400:RR" BootSeq="6"/><Satellite UUID="RINCON_000E58C5408201400" Location="http://192.168.2.38:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" HTSatChanMapSet="RINCON_000E58BA006601400:LF,RF;RINCON_000E58C5408201400:LR" BootSeq="4"/></ZoneGroupMember></ZoneGroup><ZoneGroup Coordinator="RINCON_000E58C4F08801400" ID="RINCON_000E58C4F08801400:206"><ZoneGroupMember UUID="RINCON_000E58C4F08801400" Location="http://192.168.2.64:1400/xml/device_description.xml" ZoneName="Bad" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="7"/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E58F3272E01400" ID="RINCON_000E58F3272E01400:49"><ZoneGroupMember UUID="RINCON_000E58F3272E01400" Location="http://192.168.2.46:1400/xml/device_description.xml" ZoneName="Küche" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="4"/></ZoneGroup></ZoneGroups>
    Attributes:
       pingType   syn
       room       Sonos

    Aus meiner Sicht ist nun alles optimal und funktioniert perfekt! Nochmals herzlichen Dank an dieser Stelle für deine Arbeit, great Job!! :D
    Gruss Dani
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 31 Dezember 2013, 17:06:06
    Hallo Rainer

    Hier noch ein anderer Error, den ich öfters kriege. Ich schalte den Strom meiner Sonos Geräte aus, wenn ich weggehe und wieder an, wenn ich zurückkomme. Da passiert öfters, dass ich ein

    Thread 1 terminated abnormally: multiple roots, wrong element 'dataType'

    habe (Unterschiedliche Errormeldungen, aber klingt immer noch XML errors)

    Ich nehm an, die kommen vom package UPnP::Common::Parser in FHEM/lib/UPnP/Common.pm und dem package UPnP::Common::Parser dort, resp. eigentlich dem XML::Parser::Lite package, der die'd, wenn das XML invalid ist und das UPnP package fängt das nicht ab. Ich hab auf die schnelle keine Ahnung, ob man das von "ausserhalb", also von deinem Code aus irgendwie abfangen kann, laut http://perl-xml.sourceforge.net/faq/#error_handling müsste man das mit einem eval machen. Aber eben, bei all den Callbacks bin ich grad überfordert.

    Lass dir dadurch nicht den Release vermiesen, ich kann für den Moment damit leben, aber falls du ne Idee hast, wo ich genauer hingucken müsste, kann ich mich auch mal dahinter setzen

    Gruss

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Dezember 2013, 21:41:20
    Hallo zusammen,

    tataa...
    Das Weihnachtsrelease, wenigstens noch in diesem Jahr :-)

    Wie immer hier der Changelog dazu (Version 2.4): Viel passiert, lange hat's gedauert... trotzdem noch dieses Jahr geschafft :-)

    Sehr interessant dürften zum einen die Namensgebung bei Surround- und Paarsystemen, und zum anderen die Geschichte mit der "Disappeared"-Erkennung sein.
    Ich habe eine Möglichkeit gefunden, wie ich dem Sonos-System mitteilen kann, das ein Player weg ist (das bedingt aber, das mindestens ein Player oder eine Bridge übrig ist, u.U. darf auch nur ein Player auf einmal verschwinden, dass müsste noch getestet werden). Danach sollte der Player aus den Zonenlisten der Controller verschwinden...

    Ach ja, Installation wie immer:

    update thirdparty http://fhem.lmsoft.de/sonos sonos


    Viel Spaß damit, guten Rutsch ins neue Jahr und alles gute...
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: FHEM-Freak am 01 Januar 2014, 01:40:20
    Reiner dir auch alles Gute im neuen Jahr und natürlich allen Fhem begeisterten.
    Danke für deine tolle Arbeit.
    Update hat funktioniert und läuft.
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 01 Januar 2014, 02:40:57
    Hallo Reiner
    Danke für Deine super Arbeit und viel Erfolg im Jahr 2014! Update läuft und SONOS macht was es soll.
    Titel: Antw:Sonos steuern
    Beitrag von: Will am 01 Januar 2014, 09:02:39
    Wahnsinn was aus dem thread geworden ist - alle Erwartungen übergriffen. Für mich DAS knüllermodul in fhem. Wertet die Sonos installation noch einmal auf.
    Ein großes danke an reiner und alle die hier aktiv mitarbeiten. Bei mir läuft das Modul schon seit längerem unauffällig. Grüße W

    Sent from my Nexus 7 using Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Will am 01 Januar 2014, 21:24:36
    Hallo reiner, da du dich jetzt intensivst mit dem sonos Protokoll beschäftigt hast: denkst du es ist möglich mit einem rpi ein sonos zu emulieren? Ich nutze dein Modul für durchsagen (funktioniert prima) , will jetzt aber nicht für Überfall einen sonos player kaufen wenn es nur um durchsagen geht- einen raspi mit aktivlautsprecher  schon eher. Denkbar?

    Danke.

    Sent from my Nexus 7 using Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Januar 2014, 22:36:08
    Hi Will,

    ich hatte am Anfang auch mal diesen Gedanken, dass es cool wäre, sowas zu haben. Aber Abseits der UPnP-Steuerung zu den Controllern (und Fhem :-) kommunizieren die Player auf irgendeine, mir unbekannte, Art und Weise auch miteinander. Da wird abgestimmt, koordiniert und gesteuert...

    Vielleicht könnte man noch eine Schnittstelle bauen, die sich dann in einem Controller als Player melden könnte. Aber ob das dann auch zusammen mit den anderen Playern laufen würde, weiss ich auch nicht...

    Das wird von meiner Seite aus eher nix, da der Aufwand doch sehr hoch sein dürfte...
    Aber für deine Anwendung gäbe es ja auch noch andere Lösungen, das wäre dann nur nicht von den Sonos-Controllern aus steuerbar...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 01 Januar 2014, 23:37:18
    Hallo Reiner,

    Ich schalte mit Funksteckdosen meine Sonos ein und aus.
    Wenn ich in den oberen Stock gehe,  schalte ich die Steckdosen unten im Hausgang über einen Funksteckdosen an.
    Wie Steuer ich denn am besten,  dass nach dem Booten direkt etwas abgespielt wird? Kann ich vor dem Booten irgendwie schon irgendwie eine Gruppe zur Bildung definieren? Kann ich den appeared-funktion dafür verwenden?  Am schönsten wäre es,  wenn der Player schon verfügbar wäre und ich ihm schon Befehle übergeben könnte,  die er dann direkt nach dem Booten  übernimmt. Habe ich da einen Denkfehler?

    Vielen Dank jedenfalls für alles,  es funktioniert seit dem update Alles bisher getestete bestens!!  Echt tolle Arbeit!

    LG Joe
    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 01 Januar 2014, 23:58:19
    Ja das funktioniert siehe Wiki-Beispiel  ;)


    define Sonos_Wohnzimmer_Appeared_Notify notify Sonos_Wohnzimmer:presence:.appeared { \
    fhem "set Sonos_Wohnzimmer LoadPlaylist R.%%20Spielliste" ;; \
    fhem "set Sonos_Wohnzimmer Volume 15" ;; \
    fhem "set Sonos_Wohnzimmer Track random" ;; \
    fhem "set Sonos_Wohnzimmer Play" \
    }
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 02 Januar 2014, 10:27:01
    Hallo Christoph,

    Danke,  das Beispiel kenne ich.  Ich meinte jedoch eher,  ob ich etwas tun kann,  damit eben nicht die einprogrammiert Play Liste abgespielt wird,  sondern etwas,  was ich schon vorher definiert habe.

    Ich behelfe mir im Moment über folgenden Weg:
    Ich starte in der Küche das (Radio-) Programm,  das ich gerne hätte, und baue in dem "appeared" Script im Badezimmer eine Gruppe mit der Küche auf,  um direkt danach die Küche wieder aus der Gruppe zu entfernen und auszuschalten.
    Dann spielt die Musik schon,  bis ich im Bad angekommen bin... 

    Gesendet von meinem Xperia Pro mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Januar 2014, 15:38:24
    Hi JoeALLb,

    du verwirrst uns :-)

    Ein Player verliert beim Trennen vom Stromnetz alle Informationen bzgl. seiner Abspielliste und dem aktuellen Titel.
    Wenn du also einen bestimmten Zustand nach dem Einschalten haben möchtest, so musst du ihn dir über das oben erwähnte Event erzeugen.
    Was du in dem Event machst bleibt ja dir überlassen.

    Du schriebst, dass du gerne einen Radiosender starten möchtest. Dann kannst du entweder direkt einen Radiosender programmieren (wie die Playliste in dem Beispiel), oder den aktuell laufenden Titel eines anderen Zoneplayers rüberkopieren und starten...
    Das bedeutet aber, dass dieser Quell-Player auch einen aktuellen Titel haben muss (und vor allem auch angeschaltet sein muss). Was soll passieren, wenn das mal nicht der Fall ist? usw. Da muss man u.U. einige Eventualitäten abfangen.

    Einfacher ist natürlich das direkte Anstarten eines, zum Programmierzeitpunkt bekannten, Radiosenders.
    Auch solltest du beachten, dass das Starten eines Zoneplayers ca. 30 sekunden in Anspruch nimmt. Zzgl. der Zeit, die zum Starten des Radiosenders benötigt wird.

    Hat dir das denn jetzt etwas weitergeholfen?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 02 Januar 2014, 15:54:50
    Hallo Reiner, hallo JoeALLb,
    Ich kopiere heute nach Feierabend mal meine Zeilen zum Playerstart mit Schalten über FS20 Steckdose und automatischen Direktstart von Radio Paradise hier rein. Das hat eine Weile gedauert, bis ich begriffen habe das der presence Status des Players da wenig zielführend ist - sondern einfach eine Minute Wartezeit zum Playerstart die Lösung ist. Jetzt funktioniert das dafür aber dauerhaft prima:
    define Sonos_Notify notify Medien:on {\
    fhem "define SonosStart at +00:01 set Sonos_Wohnzimmer PlayURI aac://stream-tx4.radioparadise.com:80/aac-128";;\
    fhem "set Sonos_Wohnzimmer Volume 15";;\
    fhem "set Sonos_Wohnzimmer Play";;\
    fhem "set Sonos_Wohnzimmer Mute off"\
    }
    Titel: Antw:Sonos steuern
    Beitrag von: John am 02 Januar 2014, 16:19:55
    Hallo Reiner

    gibt es zum Beitrag #557 schon eine Lösung ?
    http://forum.fhem.de/index.php/topic,10033.msg118474.html#msg118474 (http://forum.fhem.de/index.php/topic,10033.msg118474.html#msg118474)

    Ich habe inzwischen die neueste Version installiert. (#  Version 2.4 - December, 2013)

    Der Fehler ist nach wie vor vorhanden mit der schon in #557 beschriebenen Meldung.
    Wenn ich die Datei aus dem Verzeichnis lösche, erkennt dies das Modul und reagiert mit einer stimmigen Fehlermeldung.

    Die Zugriffsrechte sehen wie folgt aus:

    drwxrwxr-x 2 fhem dialout    4096 Jan  2 16:15 .
    drwxr-xr-x 3 root root       4096 Jan  1 14:12 ..
    -rw-rw---- 1 fhem dialout 3330319 Jan  1 14:46 05 - Titel 5.ogg
    -rw-rw-r-- 1 fhem dialout     749 Jan  1 16:56 john.m3u
    -rw-r--r-- 1 pi   pi        20480 Jan  2 16:05 RINCON_000E58CBFB7C01400_MR_Speak.mp3


    User pi ist Mitglied der Gruppe dialout.

    John
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Januar 2014, 16:33:31
    Hi John,

    ich hatte mal nach der Meldung "Unpassender IOCTL (I/O-Control) für das Gerät" gegoogled, und kein hilfreichen Lösungs-Informationen gefunden. Es sieht nach einer Meldung aus, die aus einer sehr tiefen Perl-Schicht kommt, auf die man nur wenig bis gar keinen Einfluss hat.

    Kannst du mal ein kleines Test-Perl Skript für das Fhem-Gerät schreiben, womit du einfach versuchst die Datei zu öffnen.
    z.B.:

    open(FILE, '<john.m3u');
    if ($!) {
      print "Fehler beim Öffnen der Datei: $!";
      return;
    };

    binmode(FILE, ':encoding(utf-8)');
    while (<FILE>) {
      print $_;
    }
    close FILE;

    Das öffnet die Datei (Pfad noch mit angeben, aber das Kleiner-Zeichen stehen lassen) zum Lesen, und gibt sie zeilenweise aus. Das entspricht ungefähr meinem Code. Der Fehler tritt aber ja bereits beim open auf..
    Dann könntest du schon mal den Fhem-Overhead ausschließen...

    Ansonsten könntest du auch versuchen dein Perl zu aktualisieren...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 02 Januar 2014, 17:55:18
    Grüß euch,

    Wollte natürlich nicht verwirren.  Ich möchte eben keinen starr programmierten Sender beim starten einschalten,  sondern noch die Möglichkeit haben,  es während dem Booten festzulegen.
    Genau aus diesem Grund schalte ich derzeit in der Küche das Programm ein,  das ich im Bad gerne hätte, und kopiere dieses über das hinzufügen des Bades zur Gruppe Küche,  wenn appeared ausgelöst wird.  Funktioniert soweit auch,  ich wollte nur fragen,  ob es vielleicht einen einfacheren weg gibt...  Bsp.  Konnte der Player des Bades direkt nach dem starten angezeigt werden,  bevor er tatsächlich erscheint!?!?!
    Titel: Antw:Sonos steuern
    Beitrag von: John am 03 Januar 2014, 00:08:54
    Hallo Reiner,
    zu deinem Vorschlag in Beitrag #606 habe ich folgende funktionierende Lösung gefunden:

    open(FILE, '<john.m3u')  or die "Fehler beim Öffnen: $!\n";
    binmode(FILE, ':encoding(utf-8)');
    while (<FILE>) {
      print $_;
    }
    close FILE;


    Problem war:
    Die Spezial-Variable $! darf nur abgefragt werden, nachdem ein Fehler aufgetreten ist.
    Wenn keiner auftritt, kommt es genau durch die Abfrage von $! zur besagten Fehlermeldung.

    Werde das noch im Sonos-Code testen.

    Ergebnis:
    Zitat
    LoadPlaylist: Queue successfully emptied. Added 5 entries from file "/mnt/SonosSpeak/john.m3u". There are now 5 entries in Queue. Startlist: Success!.

    Code:

    if (!open(FILE, '<'.$1))  # john
           {
      SONOS_MakeSigHandlerReturnValue($udn, 'LastActionResult', ucfirst($workType).': Error during opening file "'.$1.'": '.$!);
    return;
          };



    John
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2014, 00:31:05
    Hi John,

    na das ist ja mal lustig. Auf allen möglichen Plattformen bei mir und anderen lief das normal durch.
    Da muss man erstmal drauf kommen, dass man das nicht tun darf...
    Wobei diese Fehler-Meldung auch durchaus zielführender sein dürfte, oder?

    Danke für die Hilfe, ich habe es in den Code übernommen.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: PumpkinEater am 03 Januar 2014, 09:58:23
    Hallo Reiner,
    mit der neuen Version sind die von mir berichteten Fehlermeldungen (#519, "Fehlerhafter Aufruf von ...") nun verschwunden. Alles läuft prima. Herzlichen Dank für die super Arbeit.

    Noch eine Frage:
    Ich möchte vor Durchsagen einen Ton, Dreiklang oder ähnliches abspielen (als mp3-Datei), damit bei der Durchsage meine Familie nicht vor Schreck vom Stuhl fällt  ;). Wie mache ich das am besten?  Erste Idee wäre, einen "PlayURITemp"-Aufruf zu senden, gefolgt von dem eigentlichen Speak-Befehl. Aber vielleicht geht das ja auch noch einfacher (?).

    Gruß
    Peter
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 03 Januar 2014, 12:58:12
    Hallo Reiner,

    seid dem letzten Update habe ich keine Abstürze mehr. Das Modul ist wirklich ein riesen Mehrwert für mich.

    Ich habe noch ein seltsames Phänomen: Nach StopAll, Neugruppieren, at +3sek Bedenkzeit und  anschließendem StartFavourite hatte ich mehrfach die Situation, dass zwar alle Befehle erfolgreich waren und auch der Controller auf dem IPAD die Gruppe korrekt angezeigt hat, jedoch ein oder mehrere Memberplayer nicht gespielt haben. Erst nach einem Entfernen und Neuhinzufügen in die Gruppe kamen Töne aus dem Lautsprecher. Ist jemandem das Verhalten bekannt?

    Viele Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 05 Januar 2014, 16:06:17
    Da ich wie schon gesagt ab und zu "fatal" errors im XML Parsing bei den Controlpoints habe (besonders wenn ich in einem ungünstigen Moment die Sonos Kisten ausschalte), hab ich mir das mal genauer angeschaut. Grundsätzlich scheint ein eval {} rund um $SONOS_Controlpoint->handle; (Zeile 1969) zu helfen, die errors abzufangen. Natürlich muss dann der Controlpoint neu gestartet werden. Ein voller Patch liegt hier

    https://github.com/chregu/fhem-sonos/commit/1fe7f228aaa35d25afaad454f026a4b406f82fb2

    Ich hab das bei mir am laufen und es scheint prinzipiell zu funktionieren (im Normalbetrieb passiert es jedoch selten), ich bin mir aber nicht sicher, ob's dadurch nicht irgendwelche Memory Leaks gibt. Ich hatte ein paar unerklärliche "Out of Memory", auch wenn der FHEM perl prozess normalerweise bei ca. 32MB liegt. Und da die Out of Memory situationen schlecht reproduzierbar sind, weiss ich auch nicht, ob's einen direkten Zusammenhang hat mit meinem Ansatz. Im Normalfall tut er jedenfalls und der Thread stürzt nicht mehr ab, wenn "schlechtes" XML kommt.

    Vielleicht hat jemand mit mehr Kenntnissen des Systems auch eine bessere Idee, wie man damit umgehen kann.

    Gruss
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Januar 2014, 17:11:56
    Hi Christian,

    OK, das klingt gut.
    Ich würde deine Umsetzung nur gerne kürzer und direkter fassen, damit man später besser durchschaut, was da eigentlich passiert.

    Ich habe mal die Developer-Version entsprechend angepasst.

    Bzgl. der Memory-Meldung habe ich hier im Sonos-Thread auch schon das eine oder andere mal darüber gelesen. Leider kann man das, wie du schon schriebst, nicht reproduzieren oder gar beheben oder eingrenzen. Ich persönlich hatte die Meldung noch nie...

    In der Dev-Version ist außerdem eine testweise Umstellung meiner Info-Fhem-Anfragen über Telnet drin.
    Achtung: Das bedeutet momentan, das die Developer-Version einen eingerichteten Fhem-Telnet-Port benötigt (Standard-Host: localhost, Standard-Port: 7072, wenn notwendig kann die Variable $SONOS_UseTelnetForQuestionsHost oder $SONOS_UseTelnetForQuestionsPort entsprechend angepasst werden).
    Das muss mal beobachtet werden, ob es besser läuft oder nicht...

    Außerdem ist nun ein Standard-Layout für das RemoteControl-Modul eingebaut, vielleicht kann es ja jemand gebrauchen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: chregu am 05 Januar 2014, 17:19:58
    Danke für die prompte Antwort und das sauberere Umschreiben.

    Ich beobachte das jetzt mal mit deinem Patch, aber ich seh da prinzipiell keinen Unterschied zu meiner Version.

    Gruss

    christian
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 05 Januar 2014, 21:25:16
    Hallo Reiner,
    Bekomme mit der aktuellen Entwicklerversion nach dem Modulstart folgenden Fehler:
    Too many arguments for main::SONOS_GetSpeakFileExtension at ./FHEM/00_SONOS.pm line 1921, near "$workType)" BEGIN not safe after errors--compilation aborted at ./FHEM/00_SONOS.pm line 2336.
    Telnet Port 7072 ist eingerichtet 
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Januar 2014, 22:01:48
    Hi Det.,

    da war ein Fehler im Prototyp dieser Funktion (es fehlte ein $-Zeichen). Ich finde es interessant, dass das erst bei dir auftritt, du bist ja schließlich nicht der erste, der das Modul verwendet :-)

    Ich habe die Dev-Version korrigiert.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 05 Januar 2014, 22:37:27
    Hallo Reiner,
    Vielen Dank für den schnellen Fix. Sicher sind die anderen Tester so schlau und haben das selbst abgeändert...
    Kannst Du gelegentlich ein kleines Beispiel posten, wie das Remote Control zu nutzen ist?
    Danke,
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Januar 2014, 23:03:09
    Hi Det.,

    im Wiki gibt es ein Beispiel:
    http://www.fhemwiki.de/wiki/Remotecontrol (http://www.fhemwiki.de/wiki/Remotecontrol).

    Kurz gesagt, kannst du mit:

    define rc1 remotecontrol
    ein RemoteControl-Device definieren.

    Danach kannst du in der Weboberfläche das Device anklicken, und hast einen Setter "layout" zur Auswahl, in deren Klappbox du einen Eintrag "Sonos" findest.
    Danach brauchst du nur noch den Setter "makenotify" mit deinem zu steuernden Sonos-Device auszuführen.

    Danach sollten die dargestellten Buttons funktionieren...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Torben am 05 Januar 2014, 23:03:55
    Hallo,

    ich habe das Modul neu installiert und immer mal wieder das Problem, dass alle Player und die Bridge als "Dissappeared" auftauchen.

    Internals
    DEF    RINCON_000xxx01400_MR
    NAME Sonos_Wohnzimmer
    NR 26
    STATE initialized
    TYPE SONOSPLAYER
    UDN RINCON_000xxx1400_MR

    Readings (Auszug)
    currentTitle Let's Fall In Love 2014-01-05 22:32:39
    presence disappeared 2014-01-05 22:42:59
    state initialized 2014-01-05 22:42:59
    transportState PLAYING 2014-01-05 22:32:42

    Bei den Readings stimmen z.B. Titel und Zeit nicht überein. Diesen Titel hatte ich zuletzt gegen 17 Uhr gehört.

    Folgendermaßen wurde das System nach dem
    define Sonos SONOS localhost:4711 30 automatisch
    erkannt und in der fhem.cfg abgelegt:

    define Sonos SONOS localhost:4711 30
    define Sonos_BRIDGE SONOSPLAYER RINCON_000xxx01400_MR
    attr Sonos_BRIDGE group BRIDGE
    attr Sonos_BRIDGE icon icoSONOSPLAYER_icon-ZB100.png
    attr Sonos_BRIDGE model Sonos_ZB100
    attr Sonos_BRIDGE room Sonos
    define Sonos_Kueche SONOSPLAYER RINCON_000xxx1400_MR
    attr Sonos_Kueche generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" #suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Kueche generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Kueche generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Kueche getAlarms 1
    attr Sonos_Kueche group Kueche
    attr Sonos_Kueche icon icoSONOSPLAYER_icon-S3.png
    attr Sonos_Kueche minVolume 0
    attr Sonos_Kueche model Sonos_S3
    attr Sonos_Kueche room Sonos
    attr Sonos_Kueche stateVariable InfoSummarize2
    attr Sonos_Kueche webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_Kueche weblink image /fhem/icons/SONOSPLAYER/Sonos_Kueche_AlbumArt
    attr AlbumArt_Kueche group Kueche
    attr AlbumArt_Kueche htmlattr width='200'
    attr AlbumArt_Kueche room Sonos
    define Sonos_Wohnzimmer SONOSPLAYER RINCON_000xxx01400_MR
    attr Sonos_Wohnzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Wohnzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Wohnzimmer generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Wohnzimmer getAlarms 1
    attr Sonos_Wohnzimmer group Wohnzimmer
    attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-ZP120.png
    attr Sonos_Wohnzimmer minVolume 0
    attr Sonos_Wohnzimmer model Sonos_ZP120
    attr Sonos_Wohnzimmer room Sonos
    attr Sonos_Wohnzimmer stateVariable InfoSummarize2
    attr Sonos_Wohnzimmer webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_Wohnzimmer weblink image /fhem/icons/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt
    attr AlbumArt_Wohnzimmer group Wohnzimmer
    attr AlbumArt_Wohnzimmer htmlattr width='200'
    attr AlbumArt_Wohnzimmer room Sonos
    define Sonos_Bad SONOSPLAYER RINCON_000xxx01400_MR
    attr Sonos_Bad generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Bad generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Bad generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" #emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Bad getAlarms 1
    attr Sonos_Bad group Bad
    attr Sonos_Bad icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Bad minVolume 0
    attr Sonos_Bad model Sonos_S1
    attr Sonos_Bad room Sonos
    attr Sonos_Bad stateVariable InfoSummarize2
    attr Sonos_Bad webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_Bad weblink image /fhem/icons/SONOSPLAYER/Sonos_Bad_AlbumArt
    attr AlbumArt_Bad group Bad
    attr AlbumArt_Bad htmlattr width='200'
    attr AlbumArt_Bad room Sonos



    Kann mir jemand einen Hinweis geben, ob ich grundsätzlich etwas falsch gemacht habe?

    Schöne Grüße
    Torben
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Januar 2014, 23:22:26
    Hallo Torben,

    die erkannten Definition sehen schon mal gut aus.
    Ich vermute, dass es ein Problem mit der Ping Erkennung gibt. Stell doch da mal dran rum...

    Ansonsten, kannst du mal die Konsolenausgabe des Sonos-Moduls posten (nicht das normale Fhem-Log, sondern das, was auf der Konsole nach z.B. einem manuellen Start ausgegeben wird).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 05 Januar 2014, 23:25:05
    Ich hatte diesen Fehler gestern auch,  hab im Log "no Route to destination" gefunden,  was unlogisch war,  da ich das Sonos Pinien könnte und es im selben Netz lokal verbunden ist.... Nur ein fhem Neustart brachte die Lösung.

    Gesendet von meinem Xperia Pro mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Will am 06 Januar 2014, 00:16:27
    Hallo Reiner,

    weil meine Logfiles immer riesig geworden sind, habe ich Sonos Verbose auf 0 gestellt, dann war "Ruhe" - seit ein paar Tagen taucht folgendes immer wieder auf:

    2014.01.05 22:19:56 3: SONOS5: Transport-Subscription for ZonePlayer "RINCON_000E58C0F22801400_MR" has expired and is now renewed.
    2014.01.05 22:19:56 3: SONOS5: Rendering-Subscription for ZonePlayer "RINCON_000E58C0F22801400_MR" has expired and is now renewed.
    2014.01.05 22:19:56 3: SONOS5: Alarm-Subscription for ZonePlayer "RINCON_000E58C0F22801400_MR" has expired and is now renewed.
    2014.01.05 22:19:56 3: SONOS5: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E58C0F22801400_MR" has expired and is now renewed.
    2014.01.05 22:19:56 3: SONOS5: Transport-Subscription for ZonePlayer "RINCON_000E582DCFC001400_MR" has expired and is now renewed.
    2014.01.05 22:19:56 3: SONOS5: Rendering-Subscription for ZonePlayer "RINCON_000E582DCFC001400_MR" has expired and is now renewed.
    2014.01.05 22:19:56 3: SONOS5: Alarm-Subscription for ZonePlayer "RINCON_000E582DCFC001400_MR" has expired and is now renewed.
    2014.01.05 22:19:56 3: SONOS5: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E582DCFC001400_MR" has expired and is now renewed.
    2014.01.05 22:19:56 3: SONOS5: Transport-Subscription for ZonePlayer "RINCON_000E587FC86201400_MR" has expired and is now renewed.
    2014.01.05 22:19:57 3: SONOS5: Rendering-Subscription for ZonePlayer "RINCON_000E587FC86201400_MR" has expired and is now renewed.
    2014.01.05 22:19:57 3: SONOS5: Alarm-Subscription for ZonePlayer "RINCON_000E587FC86201400_MR" has expired and is now renewed.
    2014.01.05 22:19:57 3: SONOS5: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E587FC86201400_MR" has expired and is now renewed.
    2014.01.05 23:00:00 2: IT set rev3 off
    2014.01.05 23:19:58 3: SONOS5: Transport-Subscription for ZonePlayer "RINCON_000E58C0F22801400_MR" has expired and is now renewed.
    2014.01.05 23:19:58 3: SONOS5: Rendering-Subscription for ZonePlayer "RINCON_000E58C0F22801400_MR" has expired and is now renewed.
    2014.01.05 23:19:58 3: SONOS5: Alarm-Subscription for ZonePlayer "RINCON_000E58C0F22801400_MR" has expired and is now renewed.
    2014.01.05 23:19:58 3: SONOS5: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E58C0F22801400_MR" has expired and is now renewed.
    2014.01.05 23:19:58 3: SONOS5: Transport-Subscription for ZonePlayer "RINCON_000E582DCFC001400_MR" has expired and is now renewed.
    2014.01.05 23:19:58 3: SONOS5: Rendering-Subscription for ZonePlayer "RINCON_000E582DCFC001400_MR" has expired and is now renewed.
    2014.01.05 23:19:59 3: SONOS5: Alarm-Subscription for ZonePlayer "RINCON_000E582DCFC001400_MR" has expired and is now renewed.
    2014.01.05 23:19:59 3: SONOS5: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E582DCFC001400_MR" has expired and is now renewed.
    2014.01.05 23:19:59 3: SONOS5: Transport-Subscription for ZonePlayer "RINCON_000E587FC86201400_MR" has expired and is now renewed.
    2014.01.05 23:19:59 3: SONOS5: Rendering-Subscription for ZonePlayer "RINCON_000E587FC86201400_MR" has expired and is now renewed.
    2014.01.05 23:19:59 3: SONOS5: Alarm-Subscription for ZonePlayer "RINCON_000E587FC86201400_MR" has expired and is now renewed.
    2014.01.05 23:19:59 3: SONOS5: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E587FC86201400_MR" has expired and


    ist das normal?

    W
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Januar 2014, 00:30:00
     Hi Will,

    da ist dein Verbose-Level mindestens auf 3 gerutscht, und ja, diese Meldungen sind normal. Es sind Statusmeldungen über den internen Zustand der Subscriptions bei den Playern.

    Damit die Sonos-Player nicht auf ewig die Subscription-Queue vollmüllen (der Platz dort ist rar auf 32 Einträge beschränkt), sondert Sonos die nach einer bestimmten Zeit mit Inaktivität wieder aus.
    Um das zu verhindern, wird nach einer bestimmten Zeit diese Subscription für jeden Eventtyp und Player erneuert.
    Da die verwendete UPnp-Library das nicht selber abhandelt (normalerweise sollte sie das), musste ich das selber einbauen...

    Mit folgender Adresse kannst du dir die, an einem Player angemeldeten, Controller (also auch das Fhem-Modul) auflisten lassen (IP natürlich auf einen gültigen Player anpassen):

    http://a.b.c.d:1400/status/upnp


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Will am 06 Januar 2014, 00:33:33
    Hmmm....sowohl sonos Modul als auch die player stehen auf attr verbose 0.
    Ichbeobachte mal weiter....

    Sent from my Nexus 7 using Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Will am 06 Januar 2014, 00:34:12
    Oder muss ich woanders noch verbose 0 setzen?

    Sent from my Nexus 7 using Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Januar 2014, 01:12:29
    Hi Will,

    ich verwende an der Stelle (also den SubProzess) noch das globale Verbose.
    Ich werde das mal umstellen, kann aber bis Morgen dauern :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Torben am 06 Januar 2014, 09:32:19
    Hallo Reiner,

    vielen Dank für die rasche Hilfe. Ich habe mal alle pingTypes ausprobiert. Auch hier funktioniert es mal  und mal nicht. Im Log-File kommt folgende Meldung:

    2014.01.06 09:29:01 1: statefile: Reading Sonos_BRIDGE->presence not used out of statefile.
    Reading Sonos_Bad->presence not used out of statefile.
    Reading Sonos_Kueche->presence not used out of statefile.
    Reading Sonos_Wohnzimmer->presence not used out of statefile.


    Kann man damit etwas anfangen?

    Schöne Grüße
    Torben
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Januar 2014, 11:00:32
    Hi Torben,

    diese Meldungen sind nur Statusmeldungen. Die Begründung hatte ich schon mal unter http://forum.fhem.de/index.php/topic,10033.msg118891.html#msg118891 (http://forum.fhem.de/index.php/topic,10033.msg118891.html#msg118891) kurz umrissen.

    Auf jeden Fall ist das kein negativer Aspekt.
    Beim pingtype musst du dir einfach einen suchen, mit dem es geht. Ich persönlich verwende "ping", dafür muss Fhem allerdings unter dem Benutzer "root" laufen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Januar 2014, 14:07:28
    Hi Will,

    soo, ich habe mir das mit den Verbose-Leveln mal angeschaut.

    leider steht zum Zeitpunkt des Define eines Fhem-Devices noch nicht die Attributliste dieses Device zur Verfügung. Auch leider wird im Define bereits der SubProzess angestartet (wofür dieser Wert mit übertragen werden muss).

    Das bedeutet:
    Beim initialen Start des SubProzess wird das Globale Verbose-Attribut verwendet. Anschließend, wenn das Attribut zur Verfügung steht, und der SubProzess-Thread gestartet wurde, wird das Verbose-Attribut des Sonos-Device verwendet.
    Die Folge davon ist, das die ersten Logausgaben noch mit dem Globalen-Verbose-Wert durchgeführt werden. Bis zur Meldung "StartThread", dann wird der Device-Verbose-Wert verwendet...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 06 Januar 2014, 21:11:39
    Hallo Reiner,
    vielen Dank! Mit der RemoteControl sieht das Ganze noch viel besser aus. Du machst Dir so viel Mühe und ich nutze Dein Modul überwiegend zu solch profanen Zwecken:
    - Einschalten FS20 Funksteckdose + Start Radio Paradise über FritzFon oder IPad
    - Stummschalten mit Callmonitor auf FB7390 bei ein- und ausgehenden eigenen Anrufen
    - Mute off über FritzFon nach beendetem Anruf (bekomme ich nicht automatisch hin, da noch 2 Mieter über die FB telefonieren)
    Da die Icons auf dem IPad mit Safari das Longpoll nicht überstanden haben, habe ich die durch welche aus dem fhemSVG ersetzt - sieht nicht so schön aus, aber geht.
    Titel: Antw:Sonos steuern
    Beitrag von: Torben am 07 Januar 2014, 20:34:13
    Hallo Reiner,

    vielen Dank für die Hilfe. Mit icmp und root funktioniert es nun. Ich hätte da noch eine weitere Frage, da ich mich mit fhem noch nicht so sehr auskenne ist mir nicht klar, wie ich das SomethingChanged für notify nutzen kann. Das
    ZitatgenerateSomethingChangedEvent
    habe ich angelegt und es liefert auch fleissig:
    2014-01-07 20:30:21 SONOSPLAYER Sonos_Wohnzimmer somethingChanged: 1
    Ich möchte einfach den Gruppenzustand in eine mysql-Datenbank schreiben. Dieser (hintere) Teil funktioniert auch, aber wie muss der Teil nach notify aussehen?
    define etwasHatSichGeandert notify "was muss hier in die Anführungszeichen?" {my $val = (fhem "get Sonos Groups"));; dbWrite($val)}

    Schöne Grüße
    Torben
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 Januar 2014, 21:09:08
    Hi Torben,

    der Notify verwendet einen regulären Ausdruck für das Matching.
    Also in diesem Fall:

    define waspassiert notify Sonos_Wohnzimmer:somethingChanged { DoWorkHere }


    Aber wenn du nur den Gruppenzustand benötigst, kannst du doch auch direkt darauf ein Notify machen (und brauchst das SomethingChangedEvent nicht mehr):

    define GruppeVeraendert notify Sonos:Groups { DoWorkHere }


    Vielleicht eher einen direkten Filelog?

    define FileLog_Sonos_Groups FileLog /log/Sonos_Groups-%Y-%m.log Sonos:Groups


    Sonst mal auf der Wiki-Seite in den Beispielen stöbern, um Ideen zu bekommen, bzw. für notify das Einsteiger-PDF durchgehen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Torben am 08 Januar 2014, 16:15:39
    Hallo Reiner,

    vielen Dank. Das funktioniert nun.
    Ich hätte da aber noch ein anderes Problem  :-[
    Die Bilder von Alben-Covern werden zwar als jpeg geladen, aber mit dem Zusatz ".ERROR" gespeichert. Daher können sie nicht von fhem dargestellt werden. Bilder von Radiosendern werden korrekt als ".gif" abgelegt und auch unter fhem angezeigt.

    (http://i1348.photobucket.com/albums/p739/torben5/Bildformate_zpsfb2abd53.jpg) (http://s1348.photobucket.com/user/torben5/media/Bildformate_zpsfb2abd53.jpg.html)

    Hast Du eine Idee, was ich tun kann, damit die jpgs richtig gespeichert und angezeigt werden?

    Schöne Grüße
    Torben
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Januar 2014, 16:35:09
    Hi Torben,

    die Endung wird ermittelt. Wenn dieser Vorgang fehlschlägt, dann wird ".ERROR" hingeschrieben, obwohl das Bild vielleicht korrekt da ist.
    Kannst du mal genauer beschreiben, was du gerade von wo hörst (also lokale Bibliothek, Spotify o.ä.)?
    Ich vermute genau nicht Spotify, sondern vielleicht einen anderen Musikdienst. Spotify z.B. sendet auch keinen Mimetype, das Bild wird aber immer als JPG übertragen, sodass ich das konstant setzen kann...

    Notfalls muss ich mal eine kleine Logausgabe an die Stelle bauen, damit wir da mehr sehen können...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Torben am 08 Januar 2014, 16:37:02
    Hallo Reiner,

    die Musik und damit auch das Cover kommen von Napster/Rhapsody.

    Vielen Dank noch mal für Deine Hilfe
    Torben
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 09 Januar 2014, 08:46:29
    Hatte heute wieder den Fehler mit "Keine Route zum Zielrechner", nachdem ich einen Text ausgeben lassen wollte.
    Vielleicht hilft die Zeile?!?
    Der Befehl lautete:
    set Sonos_Wohnzimmer Speak 70 de TEST text

    Argument "DoWork:RINCON_000E5836AAAC01400_MR:speak0:70,de, TEST..." isn't numeric in numeric eq (==) at FHEM/00_SONOS.pm line 1903, <$client> line 2.
    Argument "A:undef:targetSpeakFileHashCache:1" isn't numeric in numeric eq (==) at FHEM/00_SONOS.pm line 1916, <$client> line 2.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1834 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1839 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1844 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1849 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1834 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1839 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1844 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1849 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.72:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1834 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.72:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1844 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.72:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1849 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1834 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1839 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1844 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.25:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1849 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1834 thread 1.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.28:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1839 thread 1.


    Die IP 192.168.178.28 ließ sich jedoch von mir pingen!
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Januar 2014, 09:40:55
    Hi JoeALLb,

    hmm... die Ausgaben sind schon die, die ich gebrauchen könnte. Leider passen die Zeilennummern nicht mehr zu meinem Code.
    Aber... der Fehler mit der fehlenden Route zum Host könnte auch die oberen Fehler verursacht haben. dort geht es nämlich darum, Anfragen vom SubProzess an den Fhem-Host durchzuführen. Diese werden zwar innerhalb des gleichen Systems, aber trotzdem über die Netzwerkschnittstelle durchgeführt.
    Das sieht mir nach irgendwelchen Ausfällen der Netzwerkschnittstelle aus, die sich dann, wenn du draufgehst bereits wieder behoben haben.

    Vielleicht solltest du mal eine entsprechende Überwachung auf dem Ding laufen lassen.
    Ist das ein Pi, der vielleicht übertaktet wurde, oder sonstige Probleme auf dem USB-Anschluss hat?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 09 Januar 2014, 10:08:50
    Hallo Reiner,

    ja, es ist ein PI, der nicht übertaktet ist. Warum soll das mit USB zusammenhängen? Die USB-Ports sind nicht in verwendung.
    Mir fällt auf, dass ich diese Meldung häufig bekomme, nachdem die CPU-Zeit für ne weile auf 100% war (zB nach einem Backup von FHEM).
    Danach fängt sich das jedoch nicht wieder. Aktuell ist keine Auslastung da, ich erhalte diese Meldung jedoch immer noch regelmäßig.

    Ich könnte die Version schon aktualisieren, als ich das gerade versuchte, habe ich folgende Meldung erhalten:
    update thirdparty http://fhem.lmsoft.de/sonos_dev sonos check
    eingebe, erhalte ich
    File 'controls_sonos.txt' (remote) is corrupt

    Was kann ich tun?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Januar 2014, 11:30:21
    Hi JoeALLb,

    das mit der corrupt-Meldung habe ich auch schon bemerkt, habe nur gerade keine Zeit, das genauer zu untersuchen, oder zu melden...
    Es scheint ein Problem mit dem Update-Modul zu sein, wenn ich die URL im Browser angebe, wird die angemäkelte Datei ordnungsgemäß angezeigt:
    http://fhem.lmsoft.de/sonos_dev/controls_sonos.txt (http://fhem.lmsoft.de/sonos_dev/controls_sonos.txt)

    USB deshalb, da die Netzwerkschnittstelle am Pi intern am USB-Anschluß betrieben wird. Hat sich aber ja erledigt.
    Dann kann es ja nur mit dieser Auslastung zusammenhängen. Dabei wird die Anfrage an den Fhem-Teil vermutlich in einen Timeout geraten, der im Nachgang anscheinend nicht mehr korrigiert werden kann...

    Ich werde mal schauen, dass ich diesen Timeout hochsetze, damit das vielleicht nicht mehr vorkommt.
    Aktuell bin ich berufsmäßig leider etwas eingespannt, sodass es ein/zwei Tage dauern kann... Bzw. das Problem mit dem Update muss ja auch noch gelöst werden...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 09 Januar 2014, 13:34:34
    Anbei nochmal 3 Zeilen, die ich beim Ausführen eines Befehls erhalte.
    Die erste Zeile erscheint regelmäßig, ca. einmal die Minute, die CPU-Auslastung steigt ab dem Auftreten des Fehlers auch entsprechend!
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.72:1400 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1849 thread 1.
    Argument "DoWork:RINCON_000E5836AAAC01400_MR:speak0:70,de, TESTxxx..." isn't numeric in numeric eq (==) at FHEM/00_SONOS.pm line 1903, <$client> line 2.
    Argument "A:undef:targetSpeakFileHashCache:1" isn't numeric in numeric eq (==) at FHEM/00_SONOS.pm line 1916, <$client> line 2


    Bein shutdown von FHEM habe ich dann noch diese Zeilen bekommen:
    2014.01.09 13:25:17 1: SONOS2: Restore-Thread wurde beendet.
    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 4602, <$client> line 45.
    Can't use an undefined value as a symbol reference at FHEM/Blocking.pm line 126.


    Nach einem Restart von FHEM ist der Route-Fehler wieder weg.
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 09 Januar 2014, 16:48:44
    Habe soeben das Backup nochmals mit "nice 20" gemacht, und keine Probleme gehabt. Der Fehler scheint nicht auf.
    Es scheint also nur mit "extremer auslastung" aufzutreten.
    Titel: Antw:Sonos steuern
    Beitrag von: Strippenzieher am 10 Januar 2014, 02:45:07
    Ich weiß, es ist jetzt vllt. etwas dreist, aber könntest du mal schauen ob dein Modul auch auf Raumfeld erweitert werden kann ??
    Soweit scheint dein Modul ja schon weit fortgeschritten zu sein, da könntest du evtl. mal prüfen ob die Befehlssätze von Raumfeld auf die gleiche Weise funktionieren?
    Mir ist bewusst, das es nicht deinen Zwecken dient, aber als Entwickler dieses Moduls mit den damit verbundenen Kenntnissen ist es sicher für dich einfacher es auch für Raumfeld kompatibel zu machen.

    MFG Chris
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Januar 2014, 09:23:40
    Hi Chris,

    ich habe leider keinerlei Zugriff auf Komponenten des Raumfeld-Systems, sodass ich dir das nicht sagen kann.

    Was du tun könntest, wenn du Komponenten des Systems hast, ist, mit dem Intel-Device-Spy mal zu schauen, wie sich die Dinger melden. Wenn sie sich melden, kannst du mir auch gerne mal die XML-Beschreibungsdatei zusenden, dann kann ich reinschauen, wie der Befelssatz von Raumfeld aussieht, und ob das in irgendeiner Form kompatibel wäre...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Strippenzieher am 10 Januar 2014, 11:16:42
    Hmm ... würde ich gerne, nur wird das etwas knapp da ich ab nächste Woche wieder für längere Zeit im Ausland bin.

    Im Hifi Forum habe ich aber schon einige Schnipsel aufgefangen, vllt. verschafft dir das ja einen Einblick.

    http://www.hifi-forum.de/viewthread-212-878.html
    http://www.hifi-forum.de/viewthread-212-791.html

    Ansonsten kann ich erst wirklich behilflich sein, wenn ich wieder in Deutschland bin.

    MFG Chris
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Januar 2014, 11:49:02
    Hi Chris,

    das sieht ja zumindest so aus, als könnte man das System normal per UPnP steuern.
    OK, damit wäre das Grundkonzept gleich.

    Ich fürchte nur, dass sich die Befehle und das allgemeine System-Konzept von Sonos unterscheiden. Das wichtigste sind ja so Fragen wie, wie werden Zonen abgebildet, wie müssen Befehle übertragen werden, was kann alles gesteuert werde, wie bekommt man die laufenden und konfigurativen Informationen geliefert...

    Meine Erfahrung mit Sonos zeigt, dass es zwar ein allgemeines Grundkonzept für den Zugriff gibt (UPnP), aber die Details doch sehr speziell sind (also die Frage, was eigentlich in den Befehlen übertragen werden muss, Formate der URLs z.B. und was für Informationen überhaupt benötigt werden, um einen Titel abzuspielen), der Teufel steckt wie immer im Detail :-).

    Ich denke, das sollte jemand machen, der ein solches System auch zuhause stehen hat. Ich hatte ja schon so meine Probleme mit Komponenten, die ich innerhalb des Sonos-Systems nicht selber habe, und da stand der gesamte Grundzugriff schon...

    Will damit sagen:
    Meine Erfahrung würde sicherlich hilfreich sein, aber ohne lebendes Objekt wird das nix.
    Und selbst dabei braucht man (wie am Beispiel Sonos auch zu sehen) viel Zeit und viele Mithelfer, die Dinge testen können, und andere Konstellationen zuhause haben...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Slarti am 10 Januar 2014, 16:43:26
    Hallo,

    ganz herzlichen Dank für das Modul!

    Leider bin ich absoluter FHEM Anfänger und fuchse mich gerade ins Thema. Mein Ziel ist, einen Player5 anzusprechen, der ohne Bridge betrieben wird. Leider wird der player immer als "disappeared" geführt. Das automatische Finden scheint (unabhängig vom PingType) nicht zu klappen. Meine CFG:

    define Sonos SONOS localhost:4711 30

    attr Sonos pingType syn


    Nachdem das automatische Finden nicht geklappt hat, habe ich stumpf per Copy & Paste aus dem WIKI die CFG erweitert:

    define Sonos SONOS localhost:4711 30

    attr Sonos pingType syn
    define Sonos_Wohnzimmer SONOSPLAYER RINCON_000E58545B7601400

    attr Sonos_Wohnzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/> <Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio><StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Wohnzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Wohnzimmer generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/>~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-ZP90.png
    attr Sonos_Wohnzimmer room Sonos
    attr Sonos_Wohnzimmer stateVariable InfoSummarize2
    attr Sonos_Wohnzimmer webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    attr Sonos_Wohnzimmer group Wohnzimmer

    define AlbumArt_Wohnzimmer weblink image fhem/icons/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt
    attr AlbumArt_Wohnzimmer room Sonos
    attr AlbumArt_Wohnzimmer htmlattr width="200"
    attr AlbumArt_Wohnzimmer group Wohnzimmer


    Der Player wird dann zwar angezeigt, aber ist trotzdem "disappeared".

    Mache ich gerade einen Denkfehler oder woran könnte es liegen?
    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 10 Januar 2014, 17:15:13
    Hast schonmal ins Logfile geschaut da tauchen bestimmt irgendwelche Fehler auf...


    Gruß Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: Slarti am 10 Januar 2014, 17:21:00
    Leider scheint da nichts zu stehen.

    Kann es am "4711" liegen?

    2014.01.10 17:17:05 0: Server shutdown
    2014.01.10 17:17:09 1: Including fhem.cfg
    2014.01.10 17:17:11 3: telnetPort: port 7072 opened
    2014.01.10 17:17:11 3: WEB: port 8083 opened
    2014.01.10 17:17:11 3: WEBphone: port 8084 opened
    2014.01.10 17:17:11 3: WEBtablet: port 8085 opened
    2014.01.10 17:17:16 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 sekunden darauf...
    2014.01.10 17:17:24 3: Opening Sonos device localhost:4711
    2014.01.10 17:17:24 3: Sonos device opened
    2014.01.10 17:17:24 1: Including ./log/fhem.save
    2014.01.10 17:17:24 1: statefile: Reading Sonos_Wohnzimmer->presence not used out of statefile.

    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 10 Januar 2014, 17:35:16
    Erhöh mal dein Verbose, das steht bestimmt auf 3 oder ?

    attr global verbose 5

    Dann bekommst auch mehr im Log zu sehen  ;)

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Januar 2014, 18:45:26
    Hi Slarti,

    du musst in der Konsolenausgabe gucken. Der normale Fhem-Log zeigt in dieser Hinsicht nur wenig (nämlich nur den Teil, der direkt in Fhem passiert).

    Die Konsolenausgabe ist das, was du als Ausgabe auf der Kommandozeile erhältst, wenn du den Fhem-Prozess z.B. manuell startest.

    Dort wird etwas erhellendes dazu stehen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Slarti am 10 Januar 2014, 19:19:19
    Danke für die Unterstützung!

    Hier mal die LOG-Ausgaben. Vielleicht erkennt man ja schon etwas.

    Auf der Konsole war FHEM mit /etc/init.d/fhem start ohne Beanstandungen gestartet.



    2014.01.10 19:10:47 3: Opening Sonos device localhost:4711
    2014.01.10 19:10:47 3: Can't connect to localhost:4711: Connection refused
    2014.01.10 19:10:47 5: Cmd: >attr Sonos pingType tcp<
    2014.01.10 19:10:47 5: Cmd: >define Sonos_Wohnzimmer SONOSPLAYER RINCON_000E58545B7601400<
    2014.01.10 19:10:47 5: Loading ./FHEM/21_SONOSPLAYER.pm
    2014.01.10 19:10:47 5: _="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/><
    2014.01.10 19:10:48 5: Cmd: >attr Sonos_Wohnzimmer group Wohnzimmer<
    2014.01.10 19:10:48 5: Cmd: >attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-ZP90.png<
    2014.01.10 19:10:48 5: Cmd: >attr Sonos_Wohnzimmer room Sonos<
    2014.01.10 19:10:48 5: Cmd: >attr Sonos_Wohnzimmer stateVariable InfoSummarize2<
    2014.01.10 19:10:48 5: Cmd: >attr Sonos_Wohnzimmer webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT<
    2014.01.10 19:10:48 5: Cmd: >define AlbumArt_Wohnzimmer weblink image fhem/icons/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt<
    2014.01.10 19:10:48 5: Loading ./FHEM/98_weblink.pm
    2014.01.10 19:10:48 5: Cmd: >attr AlbumArt_Wohnzimmer group Wohnzimmer<
    2014.01.10 19:10:48 5: Cmd: >attr AlbumArt_Wohnzimmer htmlattr width="200"<
    2014.01.10 19:10:48 5: Cmd: >attr AlbumArt_Wohnzimmer room Sonos<
    2014.01.10 19:10:48 1: Including ./log/fhem.save
    2014.01.10 19:10:48 5: Cmd: >setstate AlbumArt_Wohnzimmer initialized<
    2014.01.10 19:10:48 5: Cmd: >setstate Logfile active<
    2014.01.10 19:10:48 5: Cmd: >setstate Sonos opened<
    2014.01.10 19:10:48 5: Cmd: >setstate Sonos_Wohnzimmer initialized<
    2014.01.10 19:10:48 5: Cmd: >setstate Sonos_Wohnzimmer 2014-01-10 18:12:50 LastActionResult CheckProxyObject-ERROR: SonosPlayer disappeared?<
    2014.01.10 19:10:48 5: Cmd: >setstate Sonos_Wohnzimmer 2014-01-10 17:47:00 presence disappeared<
    2014.01.10 19:10:48 5: Cmd: >setstate Sonos_Wohnzimmer 2014-01-10 17:47:00 state initialized<
    2014.01.10 19:10:48 5: Cmd: >setstate autocreate active<
    2014.01.10 19:10:48 5: Cmd: >setstate eventTypes active<
    2014.01.10 19:10:48 5: Cmd: >setstate global <no definition><
    2014.01.10 19:10:48 5: Cmd: >setstate initialUsbCheck active<
    2014.01.10 19:10:48 1: statefile: Reading Sonos_Wohnzimmer->LastActionResult not used out of statefile.
    Reading Sonos_Wohnzimmer->presence not used out of statefile.
    2014.01.10 19:10:48 5: Interface "interface": readings "", getters "", setters ""
    2014.01.10 19:10:48 5: Interface "switch": readings "onoff", getters "onoff", setters ""
    2014.01.10 19:10:48 5: Interface "switch_active": readings "onoff", getters "onoff", setters ""
    2014.01.10 19:10:48 5: Interface "switch_passive": readings "onoff", getters "onoff", setters "on:off"
    2014.01.10 19:10:48 5: Interface "dimmer": readings "onoff:level", getters "onoff:level", setters "on:off:dimto:dimup:dimdown"
    2014.01.10 19:10:48 5: Interface "temperature": readings "temperature", getters "temperature", setters ""
    2014.01.10 19:10:48 5: Interface "humidity": readings "humidity", getters "humidity", setters ""
    2014.01.10 19:10:48 5: Interface "wind": readings "wind", getters "wind", setters ""
    2014.01.10 19:10:48 5: Interface "power": readings "power:maxPower:energy", getters "power:maxPower:energy", setters ""

    ...


    2014.01.10 19:11:48 1: localhost:4711 reappeared (Sonos)
    2014.01.10 19:11:48 5: Triggering Sonos (1 changes)
    2014.01.10 19:11:48 5: Notify loop for Sonos CONNECTED
    2014.01.10 19:11:48 4: eventTypes: SONOS Sonos CONNECTED -> CONNECTED
    2014.01.10 19:11:48 5: SONOS0: Received from UPnP-Server: ''This is UPnP-Server calling''
    2014.01.10 19:11:48 5: SONOS0: MainTrigger()-Line: 'This is UPnP-Server calling'
    2014.01.10 19:11:49 5: SW: SetData:Sonos:tcp:Sonos_Wohnzimmer:RINCON_000E58545B7601400

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Januar 2014, 19:23:52
    Hi Slarti,

    in der Fhem-Logausgabe ist nur zu erkennen, dass keine Verbindung zum SubProzess hergestellt werden konnte.
    Wir benötigen die Ausgabe auf "der anderen Seite".

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Januar 2014, 19:27:10
    Hi JoeALLb,

    ich habe den Update-Prozess wieder am Laufen. Ich hatte einen Tippfehler in der Datei (es fehlte ein Unterstrich zwischen einem Datum und einer Uhrzeit).
    Das geht also wieder...

    Das mit dem Timeout konnte ich noch nicht finden, da es nicht einfach nur ein Parameter ist... ich bin aber noch dran...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Slarti am 10 Januar 2014, 19:35:01
    Das kam auf der Konsole:


    /etc/init.d/fhem start


    Starting fhem...
    XYZ@XYZ:/home/pi# Current: "fhem.pl", gPath: "./FHEM"
    Current: "FHEM/00_SONOS.pm", gPath: ""
    2014.01.10 19:18:41 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    2014.01.10 19:18:44 1: SONOS0: Connection accepted from localhost:41393
    2014.01.10 19:18:46 3: SONOS0: Received: 'SetData:Sonos:tcp:Sonos_Wohnzimmer:RINCON_000E58545B7601400'
    2014.01.10 19:18:46 3: SONOS0: Received: 'StartThread'
    2014.01.10 19:18:46 3: SONOS1: UPnP-Thread gestartet.
    2014.01.10 19:18:47 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2014.01.10 19:18:47 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...


    Danach kam nichts mehr
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Januar 2014, 19:48:00
    Hi Slarti,

    das ist komisch. Aus irgendeinem Grunde muss er ja mit einem Fehler aufhören, und das eigentlich auch mitteilen...

    Ich fürchte, da musst du nochmal auf die Suche gehen, und rausfinden, wo er da was rausschreibt... da muss es einfach nochwas geben...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 12 Januar 2014, 17:26:35
    Hallo Reiner,

    ich habe beim debuggen der Probleme bzgl. FHEMobile zusammen mit Arno festgestellt, dass das Encoding im Attribut roomName bei Umlauten Latin1 ist. Laut Arno müsse dies aber UTF-8 sein. Mir fehlt an dieser Stelle das FHEM Entwickler Knowhow, aber ich dachte ich schreibe die Erkenntnisse mal hier rein. Nachdem Umbenennen meines Play1 von Küche in Kueche hat FHEMobile auch wieder funktioniert. Das ü wurde in der FHEM Weboberfläche auch als Kasten angezeigt.

    Ansonsten habe ich mit dem Sonos-Modul sehr viel Freude!

    Viele Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Januar 2014, 17:37:42
    Hallo Merhan,

    das kann gut sein. Bislang gebe ich einfach die Daten so weiter, wie ich sie erhalte. Ich kann ja mal schauen, das ich sie entsprechend konvertiere.

    Wie sieht das denn mit den Umlauten z.B. bei den Titeln aus?
    Bei mir wird das alles auf der Weboberfläche normal dargestellt (auch in den FileLog-Dateien dazu)...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 13 Januar 2014, 11:30:45
    Ich habe das Timeout jetzt mal über das Wochenende laufen lassen,
    folges ergebnis habe ich danach erhalten:

    Loading device description failed with error: 500 Can't connect to 169.254.64.109:49153 (timeout) at FHEM/00_SONOS.pm line 1974 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.64.109:49153 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1974 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.64.109:49153 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1974 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.64.109:49153 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1974 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.64.109:49153 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1974 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.64.109:49153 (Keine Route zum Zielrechner) at FHEM/00_SONOS.pm line 1974 thread 1.
    Out of memory!
    Perl exited with active threads:
            1 running and unjoined
            1 finished and unjoined
            0 running and detached


    Von den "Keine Route zum Zielrechner" waren natürlich mehr als die oben angezeigten im Log.
    Aktualisiere jetzt gerade auf die neueste Develop-Version, damit die Codezeilen wieder zusammenpassen.

    Aufgefallen ist mir, dass dieses Verhalten am Freitag nach dem Absetzen folgendes Befehls erstmalig aufgetreten ist: Vielleicht hilft Dir das weiter?
    set Sonos Groups [Sonos_Wohnzimmer,Sonos_Kueche];set Sonos_Wohnzimmer LoadRadio BAYERN%%203;set Sonos_Wohnzimmer Play;set Sonos_Wohnzimmer Volume 40;set Sonos_Kueche Volume 40;
    Der FHEM Prozess lief danach noch, es reagierte jedoch nicht mehr. Es wurden nichtmal mer Lodeinträge geschrieben.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Januar 2014, 13:25:25
    Hi JoeALLb,

    hmm... ich gehe mal davon aus, dass diese Zeile aus einer Notify-Definition stammt (sonst wäre ein %-Zeichen zuviel drin). Ich kann ja mal versuchen, das bei mir so nachzustellen.
    Es könnte sein, dass die auf diese Aktionen folgenden Events eine problematische Situation verursachen, weil diese lange Befehlssequenz noch nicht abgearbeitet ist (wenn du z.B. die Gruppen veränderst, wird das ja wieder an Fhem gemeldet)...

    Danke schon mal für die Info...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 13 Januar 2014, 13:55:57
    Ich setzte zur Zeit das Sonos und XBMC Modul ein, was schade ist, in Sonos muss Play/Pause etc. groß geschrieben werden bei XBMC klein. Ich kann also kein notify machen nach dem Motto:

    define notify_Telefon notify Fritzbox:.*ring set sonos,xbmc pause

    sondern ich muss

    define notify_Telefon notify Fritzbox:.*ring set sonos Pause;set xbmc pause

    schreiben, keine große Sache, aber vielleicht können sich ja die Owner zu einer Schreibweise durchringen, oder groß und klein erlauben?!
    Wusste jetzt auch nicht wohin ich das schreiben soll, hier oder im xbmc Thread.
    Danke
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 13 Januar 2014, 16:06:55
    Zitat von: Reinerlein am 12 Januar 2014, 17:37:42
    Wie sieht das denn mit den Umlauten z.B. bei den Titeln aus?
    Bei mir wird das alles auf der Weboberfläche normal dargestellt (auch in den FileLog-Dateien dazu)...

    Hallo Reiner,

    die Titel sehen gut aus.

    Viele Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 13 Januar 2014, 18:47:11
    Hallo Reiner,

    Korrekt,  es war ein Notify. Habe ihn aber soeben nochmal abgesetzt,  und alles klappte.

    Ich habe diese Befehle auf eine Fernbedienung gelegt und vermute nun,  dass irgendeine Kombination der Befehle das auslöst....  Wenn Du eine Idee hast,  was ich prüfen kann,  dann immer her damit.

    LG Joe

    Gesendet von meinem Xperia Pro mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: det. am 13 Januar 2014, 19:34:58
    Hallo Jo,
    der SONOS-Player scheint intern recht lange zu brauchen um Befehle abzuarbeiten (unabhängig von FHEM). Ich hab das mit folgender Befehlsfolge zum Einschalten über FS20 Funksteckdose <Medien> inzwischen gelöst. Dauert zwar etwas, ist sicher nicht effektiv programmiert, aber funktioniert sehr zuverlässig:

    define Sonos_Notify notify Medien:on {\
    fhem "define SonosStart0 at +00:00:45 set Sonos_Wohnzimmer LoadRadio Radio%%20Paradise";;\
    fhem "define SonosStart1 at +00:01:00 set Sonos_Wohnzimmer Volume 15";;\
    fhem "define SonosStart2 at +00:01:02 set Sonos_Wohnzimmer Play";;\
    fhem "define SonosStart3 at +00:01:03 set Sonos_Wohnzimmer Mute off"\
    }
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 13 Januar 2014, 20:12:32
    Hallo Det, danke für die Info, ich werde damit herumspielen.
    Verstehe aber nicht, warum Du erst nach 45 Sekunden beginnst? Direkt am Anfang fürfte FHEM doch nicht ausgeladtet sein, oder?

    Frage an Reiner:
    Vielen Dank für die StoppAll-Funktion. Diese ist bisher echt zuverlässig und geht deutlich schneller wie das einzelne Ausführen der Befehle.
    Nun die Frage: Wäre solch ein "Stapeln" von Befehlen eventuell auch in anderen Bereichen ein Vorteil? Ich kenne die Struktur von Upnp leide rüberhaupt nicht, könnte mir aber vorstellen, dass ein Befehl: "Starte mit Lautstärke 40" effizienter ist als beides getrennt....
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Januar 2014, 20:39:29
    Hi Zusammen,

    im Prinzip gibt es diese Warteschlange natürlich schon.
    Jeder Befehl, den man von Fhem an den SubProzess übergibt, wird dort erstmal in eine Warteschlange gelegt, die der Reihe nach verarbeitet wird.
    Der Spezialfall (Stop|Pause)All wird halt als ein Befehl an den SubProzess übergeben, und sendet dort (wie immer) die Befehle an jeden Player einzeln.
    Ein Zusammenfassen von Befehlen gibt es in UPnP nicht. Jede Anweisung ist ein einzelnes XML-Strukturiertes Paket von Informationen (ein sogenanntes SOAP-Paket), welches auch mit einem solchen beantwortet wird.

    Das Hauptproblem an dieser Stelle dürfte eine Kollision einer Player-Reaktion mit dem nächsten Befehl innerhalb von Fhem sein.
    Das Problem ist, dass ich (bzw. der SubProzess) für die Verarbeitung von Benachrichtigungen diverse Informationen bei Fhem nachfragen muss, z.B. ob ein Gerät disabled wurde, oder bei einem Lautstärke-Event, welche Lautstärkegrenzen festgelegt wurden.
    Diese Anfrage kann Fhem nicht bedienen, wenn es gerade in einer Befehlssequenz ist (Fhem ist Single-Threaded, was eigentlich auch gut ist). Dadurch entsteht aber u.U. ein Dead-Lock: Der Fhem Prozess arbeitet gerade die Befehlssequenz ab, der SubProzess verarbeitet gerade ein reinkommendes Player-Event und benötigt genau jetzt Informationen, um dieses Event korrekt verarbeiten zu können, und kann den nächsten Befehl nicht in seine Warteschlange legen...

    Ich muss mir da noch ein paar tiefergehende Gedanken machen, wie ich dieses Dilemma konzeptionell am sichersten umschiffe...

    Zur Lösung von Det: Es würde reichen, die Befehle ca. 1-2 Sekunden zu trennen. Vielleicht mit einem Sleep-Befehl, der von Rudi ja so gebaut wurde, das Fhem währenddessen andere Dinge erledigt... Sobald die Verarbeitung der Playerreaktionen nicht geblock wird, solte das normal durchgehen können...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 13 Januar 2014, 21:06:23
    Hallo  Reiner,
    Du hast mit Sicherheit Recht, aber mein ZP90 lässt sich nach Aufruf dieses bestimmten Radiosenders auch bei Aufruf über die Sonos App am IPad gefühlte 10-12s Zeit, bis die ersten Töne kommen. An der Internetverbindung liegt es nicht (entertain VDSL50), eher am Radiostream. Da hat die Abarbeitung der nächsten Befehle 1-2s nach dem Aufruf des Streams keine Chance gehabt. Daher diese umständliche Lösung - die Zeiten hab ich durch Probieren schon optimiert. Die ersten 45s braucht SONOS nach Strom einschalten um zu booten. Toll finde ich den Konstrukt auch nicht, aber seither kann ich den SONOS zuverlässig dank Deinem genialen Modul über mein FritzFon einschalten, ohne gleich das IPad in die Hand zu nehmen.
    Titel: Antw:Sonos steuern
    Beitrag von: gki am 13 Januar 2014, 22:16:25
    Hallo JoeAllb,

    Radiosender & Lautstärke in einem Befehl (EA_Sonos_P1 ist ein Aktor):

    define nSonos_Radio_P1 notify EA_Sonos_P1:on { \
        fhem "define tempSonosRadioP1 at +00:00:45 set Sonos_HR PlayURI http://stream.104.6rtl.com/rtl-live/mp3-128 12" \
    }

    Gleicher Effekt wie das Beispiel von det.

    Gruß,
    Ines
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 14 Januar 2014, 09:47:09
    @Reiner und Det:

    Zitat aus einem Forumseintrag von Rudi:
    Demnach sollte hier Sleep nicht verwendet werden, solange die Befehle mit "fhem(...) angegeben sind...

    Ja, perl sleep() ist zu vermeiden. Ausnahme ist das fhem eigene sleep
    (blockiert fhem NICHT), ist aber auch nur fuer "reine" fhem Kommandos sinnvoll,
    also nicht aus einem perl Ausdruck heraus. Beispiel (on-for-timer fuer Arme :)
    OK
      define notify schalter:on set lamp on;; sleep 2.5;; set lamp off
    Nicht OK:
      define notify schalter:on { \
        fhem("set lamp on");;  \
        fhem("sleep 2.5");;  \
        fhem("set lamp off");; \
      }
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 14 Januar 2014, 09:55:00
    @GKI:

    Danke für diese Idee: Diese schaltet jedoch um einiges schneller das Radio ein, als wenn ich die Befehle auf 2 getrennte aufteile:

    Dies ist demnach schneller als
    define tempSonosRadioP1 at +00:00:01 set Sonos_Wohnzimmer PlayURI http://stream.104.6rtl.com/rtl-live/mp3-128 40

    fhem "define SonosStart0 at +00:00:01 set Sonos_Wohnzimmer LoadRadio Radio%%20Paradise";;\
    fhem "define SonosStart1 at +00:00:02 set Sonos_Wohnzimmer Volume 15";;\



    @Reiner:
    Ich habe heute Nacht Sonos nochmal beobachtet und der Fehler ist wieder aufgetreten. Aufgefallen ist er mir heute kurz nachdem sich ein Sonos-Player
    über eine schaltbare Steckdose verabschiedet hat.
    Das Sonos-System selbst scheint keine Schwierigkeiten damit zu haben, das FHEM-Modul scheint ihn jedoch noch mit dieser Routengeschichte zu suchen.
    Stimmt jetzt die Codezeile, nachdem ich das Modul aktualisiert habe?
    Renewal of subscription failed with error: 412 Precondition Failed at FHEM/00_SONOS.pm line 1839 thread 1.

    Ich prüfe gerade, ob diese Zeilen wieder verschwinden, nachdem ich den Sonosplayer wieder eingeschaltet habe: --> Seit 3 Minuten habe ich keine Meldung mehr bekommen.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Januar 2014, 10:46:34
    Hi JoeALLb,

    diese Meldung hat aber nichts mit deiner unbekannten Route zum Host zu tun.
    Die Meldung "Renewal of subscription..." kommt immer dann, wenn der Wiederauffrischungs-Thread die angemeldeten Subscriptions aktualisieren möchte, und der Player aus Sicht des UPnP-Moduls in einem komischen Zustand ist, z.B. nicht mehr erreichbar...
    Diese Meldung kann man zunächst mal getrost ignorieren, da ich sie leider nicht unterdrücken kann.
    Wenn der IsAlive-Checker festgestellt hat, dass der Player nicht mehr da ist, sollte diese Meldung auf jeden Fall wegbleiben, da der Player dann aus der Renewal-Liste entfernt wurde... (so zumindest die Theorie :-)

    Zu meiner Sleep-Anmerkung:
    Rudi hat doch geschrieben, dass es für reine Fhem-Anweisungen sinnvoll ist. Du kannst doch immer, wenn du keine Berechnungen für irgendwelche Parameterwerte hast, auch die "Fhem-Schreibweise" für Befehlssequenzen verwenden, und musst nicht eine Verkettung von fhem()-Anweisungen in Perl machen (ich mache das immer nur zur besseren Lesbarkeit)...

    Zu der PlayURI-Anweisung: Hier sollte beachtet werden, dass unterschiedliche Dinge gemacht werden, und am Ende etwas anderes rauskommt.
    - PlayURI: Es wird direkt die URL an den Player übergeben, ein SetVolume und eine Play-Anweisung durchgeführt. Das bedeutet also 3 Anweisungen. Allerdings werden hier keine Stream-Informationen wie Cover oder so dargestellt.
    - LoadRadio+SetVolume+Play: es wird zunächst die Liste verfügbarer Radiosender abgefragt, danach die entsprechenden Informationen an den Player übergeben (also zwei Anweisungen). Dann wird ja Volume (2 Anweisungen, da der gesetzte Wert am Ende wieder abgefragt wird) und anschließend Play aufgerufen (eine Anweisung). Das sind in Summe 5 Anweisungen, allerdings wird der Radiosender "Sonos-konform" gesetzt, sodass alle Informationen sauber angezeigt werden und der Bezug zum Radiofavoriten noch existiert...

    Was man noch probieren könnte, wäre, den Radiosender in die Sonos-Favoriten zu packen (nicht die Radiofavoriten), und mit StartFavourite den Favoriten anzustarten. Der macht zwar im Prinzip das gleiche wie LoadRadio, ausser dass er die Play-Anweisung nicht in einem zweiten Fhem-Befehl stehen hat, aber genau das könnte ja schon helfen...

    Mit fällt gerade auf, wieviele Wege hier nach Rom führen :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 14 Januar 2014, 11:34:41
    Hallo Reiner,

    danke für die Antworten...

    Zitat von: Reinerlein am 14 Januar 2014, 10:46:34
    diese Meldung hat aber nichts mit deiner unbekannten Route zum Host zu tun.

    Sorry, da hab ich zuschnell hingeschaut. Dennoch bekomme ich diese Meldung regelmäßig, obwohl alle Player aktiv sind und per Kabel verbunden sind. Kein WLAN.
    Aber ich kann sie gerne ignorieren ;-)

    Zitat von: Reinerlein am 14 Januar 2014, 10:46:34
    Zu meiner Sleep-Anmerkung:
    ...eine Verkettung von fhem()-Anweisungen in Perl machen (ich mache das immer nur zur besseren Lesbarkeit)...

    Ich wollte nur darauf hinweisen, da eben andere auch diese Schreibweise bevorzugen, jedoch hier eben lt. Rudi die Sleep-Anweisung nicht funktioniert.


    StartFavourite Scheint bei mir leider nicht zu funktionieren. Er nimmt den Befehl zwar an, es rührt sich jedoch nichts....
    set Sonos_Wohnzimmer StartFavourite "BAYERN 3"
    Mache ich da was falsch?
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 14 Januar 2014, 12:07:14
    Zitat von: Reinerlein am 13 Januar 2014, 20:39:29
    Hi Zusammen,

    im Prinzip gibt es diese Warteschlange natürlich schon.
    Jeder Befehl, den man von Fhem an den SubProzess übergibt, wird dort erstmal in eine Warteschlange gelegt, die der Reihe nach verarbeitet wird.
    Der Spezialfall (Stop|Pause)All wird halt als ein Befehl an den SubProzess übergeben, und sendet dort (wie immer) die Befehle an jeden Player einzeln.
    Ein Zusammenfassen von Befehlen gibt es in UPnP nicht. Jede Anweisung ist ein einzelnes XML-Strukturiertes Paket von Informationen (ein sogenanntes SOAP-Paket), welches auch mit einem solchen beantwortet wird.

    Das Hauptproblem an dieser Stelle dürfte eine Kollision einer Player-Reaktion mit dem nächsten Befehl innerhalb von Fhem sein.
    Das Problem ist, dass ich (bzw. der SubProzess) für die Verarbeitung von Benachrichtigungen diverse Informationen bei Fhem nachfragen muss, z.B. ob ein Gerät disabled wurde, oder bei einem Lautstärke-Event, welche Lautstärkegrenzen festgelegt wurden.
    Diese Anfrage kann Fhem nicht bedienen, wenn es gerade in einer Befehlssequenz ist (Fhem ist Single-Threaded, was eigentlich auch gut ist). Dadurch entsteht aber u.U. ein Dead-Lock: Der Fhem Prozess arbeitet gerade die Befehlssequenz ab, der SubProzess verarbeitet gerade ein reinkommendes Player-Event und benötigt genau jetzt Informationen, um dieses Event korrekt verarbeiten zu können, und kann den nächsten Befehl nicht in seine Warteschlange legen...

    Ich muss mir da noch ein paar tiefergehende Gedanken machen, wie ich dieses Dilemma konzeptionell am sichersten umschiffe...

    Zur Lösung von Det: Es würde reichen, die Befehle ca. 1-2 Sekunden zu trennen. Vielleicht mit einem Sleep-Befehl, der von Rudi ja so gebaut wurde, das Fhem währenddessen andere Dinge erledigt... Sobald die Verarbeitung der Playerreaktionen nicht geblock wird, solte das normal durchgehen können...

    Grüße
    Reiner

    Diese Deadlocksituation tritt bei mir ab und zu auf. Ich beende dann den FHEM und den Subthread mit dem "kill" Befehl und starte FHEM neu.
    Ich habe in FHEM ein paar Funktionen geschriebenen, die sicherstellen, dass FHEM keine Sonosbefehle absetzt solange das System nicht "hochgefahren" ist. Das bedeutet in meinem Setup, dass 3 Minuten nach dem Einschalten einer Funksteckdose, an dem eine Sonos-Komponente hängt, vergangen sein muss. Seitdem habe ich relativ wenig Probleme mit Deadlocks/Abstürzen aber sie treten dennoch sporadisch auf.

    Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Januar 2014, 12:48:57
    Hi JoeALLb,

    der Befehl muss ohne Anführungszeichen geschrieben werden:

    set Sonos_Wohnzimmer StartFavourite BAYERN%203

    Beachte bitte, dass in einem Notify das Prozent maskiert werden muss (also %%).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 14 Januar 2014, 13:09:28
    Hallo Reiner,

    sorry, Anfängerfehler. Hatte es wieder mit den 2x% versucht....
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 14 Januar 2014, 15:12:08
    Nachtrag:
    ohne sleep bekomme ich es nicht zum laufen!

    Das funktioniert nicht!
    define wz.Bedienung.NotifyT6 notify wz.Bedienung.virt_Btn6.virtActTrigger.* {\
    set Sonos_Wohnzimmer StartFavourite BAYERN%%203;
    }


    Das funktioniert bisher immer.
    define wz.Bedienung.NotifyT6 notify wz.Bedienung.virt_Btn6.virtActTrigger.* {\
    sleep 1;
    set Sonos_Wohnzimmer StartFavourite BAYERN%%203;
    }
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 15 Januar 2014, 22:34:39
    Statusbericht: Seit dem Update auf die aktuelle dev-version konnte ich den routing-fehler nicht mehr provozieren. Kann sein, dass er damit schon behoben ist?

    Gesendet von meinem Xperia Pro mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Januar 2014, 23:26:23
    Hi JoeALLb,

    zumindest nicht direkt. Die Dev-Version verbindet über Telnet zurück an Fhem (um die Attribute u.ä. abzufragen). Vielleicht sorgt das für ein verändertes Verhalten bei dem Routing-Problem...

    Ich lasse gerade ein Konstrukt in meinem Kopf reifen, womit ich diese Dead-Lock Situation allgemein umgehen kann. Das muss aber noch etwas abhängen, bevor ich es umsetzen kann...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: gki am 16 Januar 2014, 22:41:16
    Hallo Reiner,

    nur zur Info, da du ja ein neues Konstrukt in deinem Kopf reifen lässt  :)

    Ich habe heute mal die dev-Version Version geladen.

    restart fhem als user fhem

    Current: "/usr/share/fhem/fhem.pl", gPath: "/usr/share/fhem/FHEM"
    Current: "/usr/share/fhem/FHEM/00_SONOS.pm", gPath: ""
    Bind failed: Address already in use at /usr/share/fhem/FHEM/00_SONOS.pm line 4655.

    Habe jetzt wieder die standard-Version geladen.

    Gruß,
    Ines
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Januar 2014, 23:09:07
    Hi Ines,

    diese Fehlermeldung bedeutet, dass der Port, den du in der Fhem-Konfiguration für den Subprozess vorgesehen hast (in meinen Beispielen immer das 4711), bereits belegt ist.

    Da müsstest du mal schauen, wer den belegt, und den Prozess entsprechend schliessen, oder in der Fhem-Konfiguration einen anderen Port einstellen.
    Lief dort Fhem veilleicht schon einmal? Sonst versuch mal einen Neustart deiner Kiste, und lass Fhem nochmal versuchen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: gki am 16 Januar 2014, 23:44:02
    Hallo Reiner,

    ich hatte mir die Ports (netstat -letu | grep fhem) und Prozesse (ps -Af | grep fhem) angesehen.
    Versuche es mit der dev-Version später nochmal wenn ich mehr Zeit habe.

    Danke

    Gruß,
    Ines
    Titel: Es werden keine Player erkannt
    Beitrag von: ArminK am 19 Januar 2014, 15:11:26
    Hallo zusammen, vor Allen Dingen Reinerlein,

    hoffe ich liege hier nicht falsch...folgendes Problem:
    Habe mir letzte Woche eine Sonos Play:1 nebst einer Bridge zugelegt. Beim Versuch das Sonos-Modul einzubinden bin ich kläglich gescheitert. Vermutlich weil meine Fhem-Installation auf dem Raspberry aus ziemlich alten tagen stammte, obwohl immer wieder upgedated wurde.
    Habe dann einen zweite Pi samt neuer SD-Karte genommen und fhem von Grund auf neu installiert und um meine Konfiguration erweitert.
    Alle nötigen Sachen laut Sonos-Wiki (im Übrigen: Super Beitrag!) installiert, den Eintrag define Sonos SONOS localhost:4711 30 in die fhem.cfg getippt, beim Start finde ich folgendes im Log:
    2014.01.19 15:01:42 3: Opening Sonos device localhost:4711
    2014.01.19 15:01:42 3: Sonos device opened

    Allerdings werden keine Player (bzw. kein Player, habe ja aktuell nur einen) angelegt wie im Wiki beschrieben... Hat jemand eine Idee woran das liegen könnte?

    Grüße aus Heidelberg,
    ArminK
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 19 Januar 2014, 15:45:52
    Und du hast sicher nur ein Netzwerk? Funktioniert dein Sonos mit anderen controller-apps,  zB einer Handyapp oder auf dem PC?  Dann kannst du von dieser Apple mal die IP ausfindig machen,  die das Play 1 erhalten hat.  Kannst du diese von deinem Rpi aus pingen?

    Gesendet von meinem Xperia Pro mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Januar 2014, 17:38:49
    Hallo ArminK,

    im Prinzip sieht das schon gar nicht soo schlecht aus. Wenn im Fhem-Log steht, dass das Device geöffnet werden konnte, dann ist der SubProzess zumindest schon mal angestartet.
    Um jetzt sehen zu können, was wirklich auf Seiten des SubProzesses schief läuft, musst du dir die Konsolenausgabe des Prozesses anschauen.

    Da der SubProzess ein eigenständiger Prozess ist, kann er nicht mit in das "normale" Fhem-Log schreiben, sondern gibt alles direkt auf STDOUT (bzw. manchmal auch STDERR) aus. Dort steht je nach Verbose-Level sehr detailliert, was gerade gemacht wird, und was einen Fehler verursacht haben könnte...

    Wenn du das aus deinem Startskript heraus nicht in den Griff bekommst, kannst du für diese Untersuchung Fhem auch manuell starten (dazu aber erst eine etwaig laufende Instanz von Fhem beenden, und in das korrekte Verzeichnis wechseln):
    sudo perl fhem.pl fhem.cfgDann siehst du direkt auf der Konsole die Ausgaben des SubProzesses..

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 20 Januar 2014, 16:21:50
    Hallo Reinerlein,

    also habe das jetzt mal (vom Büro aus via SSH) probiert. Mir fiel noch auf, das die Rechte von 00_sonos.pm anders waren als bei den restlichen files...das habe ich vorher mal noch angepasst auf von 644 auf 666

    dann gestartet und als Ausgabe bekomme ich:

    Prototype mismatch: sub main::head: none vs ($) at ./FHEM/00_SONOS.pm line 163
    Current: "fhem.pl", gPath: "./FHEM"

    und Fhem startet offensichtlich nicht mehr, zumindest komme ich von extern nicht mehr dran...

    setzte jetzt auch noch die Rechte von 21_SONOSPLAYER.pm auf 666 und versuche nochmal
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 20 Januar 2014, 16:41:34
    Zweiter Versuch wie oben vorgewarnt: Keine Fehlermeldung mehr aber es sieht so aus wie wenn fhem hängt, kann ich aber erst heute Abend checken wenn ich Zuhause bin...kann ich denn auf der Kommandozeile feststelen ob fhem läuft?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 20 Januar 2014, 16:54:51
    Hallo ArminK,

    diese Fehlermeldung sieht komisch aus, und kann ich persönlich auch nicht nachvollziehen. An der Stelle steht im Code die "Package"-Anweisung. Ich wusste gar nicht, dass es dort auch was mit Prototypen geben kann...

    zu deiner zweiten Frage:
    Mittels

    ps aux | grep perl
    kannst du dir alle laufenden Perl-Prozesse auflisten lassen. Da sollte dann mindestens einer mit dem Skriptnamen fhem.pl auftauchen, dann läuft Fhem prinzipiell...

    Du kannst auch von der Konsole aus in die Log-Datei von Fhem reinschauen:

    tail -f /path/to/logfile.log
    Damit kannst du "Live" mitlesen, was Fhem da so reinschreibt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 20 Januar 2014, 17:02:44
    Hallo Reiner,

    vielen Dank für die Hilfe. Kurzes Update: Habe die Rechte via FTP wieder auf 644 gesetzt und nochmal einen Reboot gemacht. Es kam mir so vor als ob fhem nicht von alleine starten wollte (war sehr lange nicht erreichbar) also nochmal via ssh fhem händisch gestartet, ein paar Minuten später noch einmal nachgeschaut und siehe da: fhem ist wieder via dyndns zu erreichen! Und was noch besser ist: Ich hab jetzt bei meinen Devices die Sonos bridge und den Sonos Player gelistet....erklären kann ich mir das nicht...ich werde jetzt mal versuchen damit zu spielen und gebe Dir ein Feedback wie es aussieht!

    Grüße
    Armin
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 22 Januar 2014, 13:00:05
    Hallo Reiner,

    kann man Dich bzgl. dem Deadlock Thema unterstützen? Die Logs sind bei mir gerade nicht sonderlich aussagekräftig. Grundsätzlich habe ich zwei Situationen:

    a) Subprozess hängt, FHEM läuft. Befehle werden von FHEM abgesetzt, in der Konsole erscheint ein DoWork aber keine Reaktion. Wenn ich ein delete Sonos in FHEM ausführe werden die ganzen Befehle abgearbeitet

    b) FHEM hängt, Subprozess ?: Wenn ich FHEM abschieße werden wieder alle Befehle abgearbeitet

    Wenn ich irgendetwas testen soll, lass es mich wissen

    Viele Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Januar 2014, 13:13:07
    Hallo Merhan,

    danke für das Angebot, aber ich bin noch mitten in der Umsetzung meiner Idee. Und dann muss das ja am Ende auch noch funktionieren :-)

    Ich bin momentan nicht zuhause, sodass die Entwicklung bis Ende der Woche ruht. Aber dann sollte es eigentlich weitergehen, sodass ich da hoffentlich bald was neues zu sagen/schreiben kann.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 24 Januar 2014, 14:37:05
    Ich komme mit meiner Kalender-Einbindung nicht wirklich weiter.
    Mir ist schon klar, dass meine Frage hier nicht das Sonos-Modul selbst betrifft,
    vielleicht hat aber dennoch einen Tip für mich. GGf. wäre das als Beispiel fürs Wiki auch nett.

    Mit einer dieser Zeile (nur anderen URL) habe ich einen Google-Kalender in fhem eingebunden. Funktioniert soweit ganz gut!
    define Kalender_W Calendar ical url https://www.google.com/calendar/ical/no9r7jrf5cnactm2v8s%40group.calendar.google.com/private-cd4e2da76beb60/basic.ics 600

    Ein simples Starten von Sonos darüber funktioniert bereits!

    Für eine Wecker-Einbindung versuche ich jedoch, den Wecker von Sonos selbst zu programmieren, dabei habe ich jedoch code-verständnis-probleme.


    Mit diesem define habe ich schwierigkeiten...
    Kalender_W:modeUpcoming.*googlecom {
    my $reading="%EVTPART0"; my $uid= "%EVTPART1"; my $erinnerungsname= fhem("get Kalender_W full $uid");
    my ($sdate,$stime,$edate,$etime) = $erinnerungsname =~ /.*?(\d\d.\d\d.\d\d\d\d)\s(\d\d:\d\d:\d\d)-(\d\d.\d\d.\d\d\d\d)\s(\d\d:\d\d:\d\d).*\z/;
    fhem("set Sonos_Schlafzimmer Speak 40 de $sdate , $stime , $edate , $etime"); 

    set Sonos_Schlafzimmer Alarm Create 100 { Enabled => 1, Volume => 35, StartTime => '$stime', Duration => '00:15:00', Repeat => 0, Shuffle => 0, ProgramURI => 'x-rincon-buzzer:0', ProgramMetaData => ' ', Recurrence_Once => 0, Recurrence_Monday => 1, Recurrence_Tuesday => 1, Recurrence_Wednesday => 1, Recurrence_Thursday => 1, Recurrence_Friday => 1, Recurrence_Saturday => 0, Recurrence_Sunday => 0, IncludeLinkedZones => 0 };
    }
    fhem("set Sonos_Schlafzimmer Speak 40 de Weckzeit in Sonos auf $stime geändert."); 

    define SonosAddGroup at +*00:10:00 set Sonos Groups [Sonos_Schlafzimmer,Sonos_Bad];


    Die ersten drei Zeilen scheinen zu funktionieren, aber mit der Zeitübergabe in der dritten Zeile hapert es.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Januar 2014, 15:08:30
    Hi JoeALLb,

    das, was mir so direkt auffällt, ist, dass das Set mit dem Alarm-Create und dem Gruppendefinieren nicht in einem fhem() steht.
    Du befindest dich doch auf "Perl-Ebene", oder übersehe ich da was?

    Desweiteren kannst du als ID für das Create einfach 0 angeben. Dann fragst du dich später nicht, was die 100 da sollte :-) Der Parameter muss nur da sein, damit ich das Alarmhandling in einer Methode abhandeln kann, wird aber für das Create ignoriert...

    Ausserdem dürftest du ein Problem bekommen, wenn du den Kalendereintrag anpasst, dann erzeugst du doch immer einen neuen Alarm, oder? Ich würde einmal einen Alarm (korrespondierend zum Kalendereventnamen vielleicht) erzeugen, und mittels der dann bekannten ID diesen bei den Kalender-Events immer nur anpassen. Dann gibt es nix doppeltes.

    Desweitern sehe ich gerade, dass du anschließend zwei Player gruppierst. Das hat aber auf den Alarm keine Auswirkung, da du den Parameter "IncludeLinkedZones" auf 0 gesetzt hast. Das sollte dann auf 1 gesetzt werden, dann werden gruppierte Zonen mit in den Alarm mit einbezogen...

    Soweit das, was mir spontan auffällt, vielleicht hilft dir das aber ja schon weiter :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 24 Januar 2014, 15:43:34
    Hallo Reiner, danke für die Antwort.
    Anbei meine Kommentare:


    Zitat von: Reinerlein am 24 Januar 2014, 15:08:30
    das, was mir so direkt auffällt, ist, dass das Set mit dem Alarm-Create und dem Gruppendefinieren nicht in einem fhem() steht.
    Du befindest dich doch auf "Perl-Ebene", oder übersehe ich da was?

    mit fhem davor hat er die Variable der Zeit nie ausgewertet und übergeben, deshalb habe ich mit ein paar anderen schreibweisen experimentiert.
    Gibt es eigentlich für ein Notify soetwas wie "Gib "Erfolg" auf der Telnet-Console aus?"

    Zitat von: Reinerlein am 24 Januar 2014, 15:08:30
    Desweiteren kannst du als ID für das Create einfach 0 angeben. Dann fragst du dich später nicht, was die 100 da sollte :-) Der Parameter muss nur da sein, damit ich das Alarmhandling in einer Methode abhandeln kann, wird aber für das Create ignoriert...
    Ausserdem dürftest du ein Problem bekommen, wenn du den Kalendereintrag anpasst, dann erzeugst du doch immer einen neuen Alarm, oder? Ich würde einmal einen Alarm (korrespondierend zum Kalendereventnamen vielleicht) erzeugen, und mittels der dann bekannten ID diesen bei den Kalender-Events immer nur anpassen. Dann gibt es nix doppeltes.
    Das hatte ich mit 100 eigentlich schon gemacht, weshalb ich immer die 100 dafür verwenden wollte. Allerdings habe ich den ursprünglichen Alarm in Sonos selbst angelegt und
    wollte eben genau diesen hier abändern.



    Zitat von: Reinerlein am 24 Januar 2014, 15:08:30
    Desweitern sehe ich gerade, dass du anschließend zwei Player gruppierst. Das hat aber auf den Alarm keine Auswirkung, da du den Parameter "IncludeLinkedZones" auf 0 gesetzt hast. Das sollte dann auf 1 gesetzt werden, dann werden gruppierte Zonen mit in den Alarm mit einbezogen...

    Meine Gedanken dazu waren folgende: In der Früh, wenn der Wecker egeht, weiß ich nicht, in welcher Zone sich das Schlafzimmer befindet.
    Aus diesem Grund schalte ich den Sonos dort ohne gruppen ein.
    Da ich nach ca. 10 minuten ins Bad gehe, möchte ich nach 10 Minuten den Player in Bad mit in die Gruppe aufnehmen.
    Da dann das Schlafzimmer schon Musik "spielt", sollte die selbe Musik einfach auch im Bad gespielt werden.

    Das sollte doch so funktionieren?!?

    liebe Grüße
    Joe
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Januar 2014, 17:03:19
    Hi Joe,

    hier mal ein Codeschnipsel für die Variablen-Geschichte (nicht vollständig :-):

    {
      .
      fhem("set Sonos_Schlafzimmer Alarm Update 100 { Enabled => 1, StartTime => '$stime' }");
      .
    }
    Wenn du einen Perl-String mit doppelten Anführungszeichen beginnst, kannst du zum einen einfache Anführungsstriche innerhalb des Strings direkt verwenden, und zum anderen einfache Variablennamen angeben, die dann auch aufgelöst werden.
    Wenn du mit einfachen anfängst, kannst du doppelte im String haben, aber es werden keine Variablen aufgelöst.

    Bei einem Update brauchst du in dem Hash auch nur die Parameter angeben, die sich ändern sollen. Alles andere wird beibehalten...

    Zu der ID: Diese wird beim Erzeugen eines Alarms durch das Sonos-System vergeben, und kann nicht vorgeschlagen werden. Deswegen wird der Parameter durch das Modul (für Create) ignoriert. Die Rückgabe in LastActionResult enthält dann die neue ID.

    Erfolg/Misserfolg: Du kannst einfach eine Log-Ausgabe durchführen:

    Log3 Sonos_Wohnzimmer, 3, "Alles OK";
    .
    .
    Log3 Sonos_Wohnzimmer, 1, "Hier ist ein Fehler aufgetreten";

    Also erst den Devicenamen (ist für den Devicespezifischen Loglevel wichtig), dann der Loglevel dieser Nachricht (u.U. wird die Nachricht je nach gesetztem Deviceloglevel unterdrückt), und dann die Nachricht selbst. Üblicherweise ist die Nummer kleiner, je mehr die Meldung einen Fehler beschreibt :-)
    Dann kannst du deine Testausgabe auch in den Log schreiben lassen, und musst es dir nicht erzählen lassen :-)

    Leider kann ich dir das bzgl. der Gruppierung nach dem Weckerstart nicht sagen. Ich benutze den nicht :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 28 Januar 2014, 14:09:38
    Hallo zusammen,
    ich lebe auch noch und lese auch sporadisch hier mit, allerdings erlaubt es meine Zeit derzeit nicht, weitere Sonos-Tests zu machen. Mein fhem liegt quasi auf Eis...

    Ich habe aber mal eine Frage an die Sonos Experten. Ich weiß, das gehört nicht gerade hier hin, brennt mir aber unter den Nägeln und ggf. kennt jemand einen workaround dazu.

    Ich muss mein komplettes Sonos System platt machen. Somit verliere ich die gespeicherten Playlisten. Hat jemand eine Idee, wie ich diese sichern und später wieder zurückspielen kann? Hat man Zugriff auf die Listen über das fhem-Modul?

    Wäre klasse, wenn es eine Lösung gäbe,
    Danke und Gruß,
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 Januar 2014, 15:47:37
    Hi djhans,

    es gibt mit dem Modul die Möglichkeit die aktuelle Abspielliste als .m3u Datei zu sichern (und natürlich auch wieder zu laden).
    Momentan funktionieren auch Napster und Spotify-Titel als besondere Formate in der Playlist.
    Du solltest das aber am Besten mal testen, ich glaube nicht, dass es viel benutzt wird, somit kann ich auch nicht sagen, ob da noch was im argen liegt.

    Wenn du andere Titel als Standard, Napster oder Spotify benötigst, dann schreib das hier, dann schaue ich mal, was da geht.

    Ach so, die Befehle lauten SavePlaylist und LoadPlaylist. Formate und Hinweise siehe Wiki...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 28 Januar 2014, 18:33:24
    Hi Reiner,
    ich bin schon wieder zu doof.
    Habe die Playliste in den Bad-Sonos geladen und will jetzt mit:

    set Sonos_Bad SavePlaylist file:c:/Test/Test.m3u
    abspeichern.

    Wo speichert er denn hin, wenn ich das im Browser angebe? Das muss doch lokal auf dem Pi sein und nicht auf meinem PC, oder? Ich hätte erwartet, dass er mit
    set Sonos_Bad SavePlaylist file:Test.m3u
    das ganze im fhem Verzeichnis auf dem Pi ablegt....
    djhans.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 Januar 2014, 18:50:35
    Hi djhans,

    das Prinzip ist korrekt. Die Angabe mit "c:" funktioniert allerdings nur, wenn du Fhem unter Windows laufen hast.
    Es zählt immer die Sichtweise vom Fhem-SubProzess aus (also im Normalfall im FHEM-Vz., also dort wo die Module alle liegen)...
    Am Besten ein bekanntes Verzeichnis angeben, z.B. "/mnt/SonosSpeak/test.m3u", falls du das Vz. hast...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 28 Januar 2014, 22:09:05
    Hallo,
    yep das funzt! Die Playlisten lassen sich speichern und anschließend wieder in ein anderes Sonossystem laden.
    Und so habe ich es gemacht:
    1. Player im Controller auswählen, z.B. "Schlafzimmer"
    2. Playliste unter "Sonos Playlisten" auswählen und in den Abspielbereich des gewählten Players laden
    3. unter fhem: set Sonos_Schlafzimmer SavePlaylist file:Test.m3u
    4. Playliste wird als m3u im fhem-Pfad gespeichert

    anschließend...
    set Sonos_Schlafzimmer LoadPlaylist file:Test.m3u.
    dann im SonosController selber: Playliste speichern unter <beliebigen Namen vergeben>

    Tolle Sache! auf diese Art und Weise kriegt man jede Playliste ins SonosSystem. eine andere Möglichkeit kenne ich nicht!

    Gruß,
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 30 Januar 2014, 22:21:46
    Hallo,
    ich möchte das Alarm Thema noch mal aufgreifen. Das Dingen über Google Kalender anzusteuern geht, finde ich aber unglücklich. Besser ist es wohl, den Wecker im Sonos entsprechend zu modifizieren.

    Ich verstehe nicht ganz, wie ich den Radiosender einstelle. Das scheint recht kompliziert zu sein, da man ProgrammURI und ProgramMetaData ermitteln muss. Habe einen Timer im Sonos angelegt und den Sender eingestellt, aber die Daten sind irgendwie merkwürdig. Gibt es eine Möglichkeit, diese Daten sauber auszulesen? Mit "get Alarm ID" kriegt man nur den Hashwert und nicht den eigentlichen Parameter. Oder wie macht man das am Besten mit dem Sender, zumal man den auch mal modifizieren möchte...

    ...und noch eine Frage. Im Sonos Player kann man nur bestimmte Zeiten auswählen, kann man auch beliebige Duration times setzten?
    wie macht ihr das?

    Danke und Gruß,
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Januar 2014, 23:14:44
    Hallo djhans,

    Zu den Metadaten und der URI: Diese Informationen kannst du auch einfach über die Weboberfläche kopieren. Dort stehen sie ja im Klartext. Die Metadaten sind übrigens eine XML-Struktur, die auch komplett notwendig sind.
    Der Befehl "get Alarm [ID]" gibt den entsprechenden Alarm-Eintrag des Readings als Perl-Hash zurück, sodass man ihn direkt in eigenem Code verwenden kann. Sonst braucht man das nicht unbedingt... Das kann man ja auch selber machen...

    Zu den Zeitangaben: Allgemein kann man beliebige Zeiten angeben, solange man das Format beachtet. Das gilt z.B. auch für den Sleeptimer, den man am Controller nur in 15 Minuten-Schritten setzen kann, aber natürlich kann man mit Fhem auch andere Dauern setzen.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 31 Januar 2014, 10:48:59
    Hallo Reiner,
    Besten Dank. Das mit dem Hash habe ich noch nicht begriffen! Aber Du meinst, ich soll die Daten für den Radiosender aus dem Webinterface von fhem nehmen, richtig? Kann man das noch weitere separieren? Das steht da zwar im Klartext, aber wenn man mehrere Timer hat, dann muss man schon genau suchen.

    Ich meine, kann man die URI iund die Metadaten m Klartext im Fhem abfragen? Dann könnte man dies einfach in eine Variable kopieren und so seine anderen Timer setzten....
    Nachtrag:
    hier fällt mir auf, dass das Initialisieren der Sonos_Geräte sehr lange dauert. Das heisst, die Grundkonfiguration darf erst nach ein paar Minuten drübergebügelt werden. Derzeit binde ich beim Start einfach mit include den Code ein. Das muss man wohl anders machen....


    Und noch eine Frage:
    Ih spiele gerade mit den Soundeinstellungen und setzte beim Start von fhem alles auf Defaultwerte. Den SUB kann ma nicht direkt ansprechen, oder? Da gibt es bei den Raumeinstellungen im Controller ein Untermenü "Sub" in dem man folgendes einstellen kann:

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Januar 2014, 14:36:31
    Hi djhans,

    zu dem Alarm: Ja, ich meinte über die Oberfläche. Wenn du es per Code auslesen möchtest, steht in der Beschreibung des get-Alarm-Befehls im Wiki ja ein Hinweis, wofür der Befehl nur eine Kurzform ist.
    Wenn du dir das um den Feldnamen erweiterst, kannst du in deinem Perl-Code folgendes schreiben:

    {
    .
    my $metaData = eval(ReadingsVal('Sonos_Wohnzimmer', 'AlarmList', '{}'))->{1}{ProgramMetaData};
    my $programURI = eval(ReadingsVal('Sonos_Wohnzimmer', 'AlarmList', '{}'))->{1}{ProgramURI};
    .
    }
    Das eval() macht aus dem Reading (ein String) mit der textuellen Darstellung eines Hashs wieder einen 'echten' Perl-Hash, auf dem man mit den Perl-üblichen Mitteln arbeiten kann.
    Die 1 ist hier die ID des Alarms, welche du im Notfall über das Reading AlarmListIDs auslesen kannst. Dort stehen alle Alarm-IDs dieses Raumes als Komma-separierte Liste drin. Und natürlich musst du deinen Raumnamen u.U. anpassen...

    Zu der Initialisierungszeit: Das ist richtig. Deshalb startet ja auch der Überprüfungstimer z.B. erst nach 120 Sekunden, da ich dann davon ausgehen kann, das die gesamte Erkennerei im allgemeinen durch sein dürfte. Aber im Prinzip kannst du natürlich schon Notifies bauen, die während dieser Erkennungsphase getriggert werden. Solange du innerhalb des Notify nicht auf andere (u.U. noch nicht fertige Player) zugreifst (also im eigenen Player-Kontext bleibst), sollte das alles gehen. Ich verwende das z.B. bei einem Player, um dort einen Radiosender mit einer bestimmten Lautstärke festzulegen (als Reaktion auf die Änderung des 'Presence'-Readings).

    Zu dem Sub: Allgemein versuche ich die Grundeinstellungsmöglichkeiten des Sonos-Systems aus dem Modul rauszuhalten... Hier würde ich persönlich sagen, dass das zur Einrichtung des Sub gehört, und im laufenden Betrieb wohl eher nicht angepasst wird.
    Es gibt hier ja auch absichtlich keine Möglichkeit, z.B. die einzelnen Player umzubenennen, oder das Icon anzupassen...
    Hinzukommt, dass ich keinen Sub habe, und das somit auch nicht probieren/sehen kann :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 01 Februar 2014, 17:11:01
    Hallo,
    Besten Dank Reiner, probiere das mal aus.....

    Noch einmal zum SUB. Sind die von mir genannten Dinge nicht gleichzusetzen mit  "Gruppe bilden" oder "weiße LED" ausschalten? zumindest die Pegelanpassung beim SUB ist m.E. Teil der Soundeinstellungen, da diese die Dominanz des SUBs im Raum bestimmt. Bass und Treble zusammen mit der Pegeleinstellung macht m.E. Sinn.

    Ein denkbares Szenario wäre beispielsweise auch so etwas:
    Im Wohnzimmer gibt es einen Connect AMP mit Standlautsprechern für die normale Mucke. Der TV hat eine Playbar und zwei Play 1. Zusammen mit dem SUB hat man nun 5.1 für den Film. Wenn die normale Mucke läuft, ist 5.1 nicht so dolle. 2.1 macht da mehr Sinn. Man könnte nun mit einem einfachen klick die Playbar, die Play1 und den ConnectAmp inkl. SUB, zu einer Gruppe umkonfigurieren. (also ConnectAmp+SUB, 2x Play1 Stereopaar, und Playbar einzeln) Dazu müssten dann die Konfiguration des SUBs geändert werden. (Regal/Bodenlautsprecher, etc..)

    Das geht derzeit mit dem Sonos Controller nicht so wirklich gut, da man die 5.1 Konstellation erst komplett auflösen muss. Wenn man das über das fhem Modul steuern könnte, wäre das ne prima Sache... wie gesagt, ist halt nur so eine Idee!

    Wenn ich in Sachen SUB unterstützen kann, mache ich das gerne...ne Playbar habe ich genau aus diesem Grund noch nicht.
    Gruß,
    djhans.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Februar 2014, 17:56:18
    Hi djhans,

    ok, ich gebe dir mit den Pegeleinstellungen recht. Das könnte noch gut ins Konzept passen, aber das Umgestalten der Landschaft eher nicht. Momentan gehen ja auch nur Gruppenbildungen, aber z.B. keine Stereopaare o.ä.

    Ich kann mir dazu ja mal Gedanken machen. Dann haben wir bald einen kompletten Controller in Fhem umgesetzt :-)
    Es dürfte halt zu einiger Verwirrung führen, wenn der Name eines Fhem-Devices nicht mehr direkt mit seiner Funktion oder Örtlichkeit zusammenhängt. Das Modul selbst hat damit kein Problem, da es nur auf die UDNs reagiert bzw. steuert. Aber der Anwender...

    Das dürfte dann vermutlich auch echt kompliziert für den Anwender des Moduls werden, da dann ja einiges umgestellt werden könnte:
    - Name der Zone (was passiert, wenn es den Namen schon gibt -> Fehler, aber nicht mehr so richtig automatisiert)
    - Icons der Zone anpassen
    - Paare bilden (manuell muss man bei einem Player die Mute/Play/Pause-Taste drücken, damit Links festgelegt wird. Ob das auch automatisiert notwendig ist, muss man testen)
    - Sub anbinden/trennen (da weiss ich nicht, was für manuelle Schritte notwendig sind)
    - PlayBar mit anderen Playern paaren (auch hier habe ich keine praktische Erfahrung)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 01 Februar 2014, 22:52:00
    Reiner,
    das ist nur eine Idee, mehr nicht!

    Die Sonos-Komponenten verbleiben in meinem Bsp schon an Ort und Stelle. Sie werden halt nur anders angesteuert. Einmal als 5.1 Anlage und einmal als 2.1 in einer Gruppe, je nachdem was gerade angesagt ist.....ob das überhaupt machbar ist, keine Ahnung! (cool wäre es aber!)

    Wenn das mit der Pegeleinstellung des SUBs klappt, wäre das schon mal gut:-)

    Schönen Gruß,
    Christian

    P.S. Ich bin sowieso erst am Anfang mit fhem und kann noch nicht einmal 10% deines Moduls nutzen...
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 02 Februar 2014, 13:28:10
    Zitat von: ArminK am 20 Januar 2014, 17:02:44
    Hallo Reiner,

    vielen Dank für die Hilfe. Kurzes Update: Habe die Rechte via FTP wieder auf 644 gesetzt und nochmal einen Reboot gemacht. Es kam mir so vor als ob fhem nicht von alleine starten wollte (war sehr lange nicht erreichbar) also nochmal via ssh fhem händisch gestartet, ein paar Minuten später noch einmal nachgeschaut und siehe da: fhem ist wieder via dyndns zu erreichen! Und was noch besser ist: Ich hab jetzt bei meinen Devices die Sonos bridge und den Sonos Player gelistet....erklären kann ich mir das nicht...ich werde jetzt mal versuchen damit zu spielen und gebe Dir ein Feedback wie es aussieht!

    Grüße
    Armin

    Hallo Reiner,
    Kurzes Statusupdate: Sonos ist mittlerweile halbwegs am Laufen....Den Status meiner zwei Player kann ich sehen (Radiosender mit Cover, aktuelle Sendeinfos usw.) Was nicht funktioniert ist das Steuern.. Volume Up/Down funktioniert meistens, alles ander nicht (Play/Pause/Mute).
    Hatte eben mal über Eingabe von set Sonos_Kueche Pause das Teil anzuhalten... danach noch ein paar mal Volume Down übers Webinterface ...das ist das was ich im Log angezeigt bekomme: 2014.02.02 13:15:16 3: SONOS0: Received: 'DoWork:RINCON_000E58C5234601400_MR:pause:'
    Thread 1 terminated abnormally: junk 'lowedValue>
            ' after XML element
    2014.02.02 13:16:36 3: SONOS0: Received: 'DoWork:RINCON_000E58C5234601400_MR:pause:'
    2014.02.02 13:17:34 3: SONOS0: Received: 'DoWork:RINCON_000E58F4EC2601400_MR:setRelativeVolume:-7'
    2014.02.02 13:17:44 3: SONOS0: Received: 'DoWork:RINCON_000E58F4EC2601400_MR:setRelativeVolume:-7'
    2014.02.02 13:17:51 3: SONOS0: Received: 'DoWork:RINCON_000E58F4EC2601400_MR:setRelativeVolume:-7'


    An anderer Stelle im Log habe ich ziemlich viele dieser Meldungen: 2014.02.02 13:01:28 3: SONOS9: Event: Received Transport-Event for Zone "Sonos_Kueche".
    2014.02.02 13:01:28 3: SONOS9: Event: End of Transport-Event for Zone "Sonos_Kueche".
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4313.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4309.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4313.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4313.


    Seltsam... sollte ich auch mal die dev-Version von Sonos installieren (falls ja, wo finde ich die auf die Schnelle?)?

    Grüße und einen schönen Sonntag noch..
    Armin
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 02 Februar 2014, 14:14:16
    kleiner Nachtrag: habe eben in meinem Includefile für die Küche ein paar (nicht Sonos betreffende) Änderungen gemacht und nach einem rereadcfg  wird plötzlich Sonos_Kueche um die 3 Tastendrücke leiser! seltsam...jetzt reagiert auch wieder VolumeU und VolumeD Pause allerdings nicht....
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Februar 2014, 14:19:09
    Hallo zusammen,

    kurzes Status-Update:
    Ich habe meinen Code nun so umgebaut, dass im laufenden Betrieb keine Informationsanfragen an Fhem mehr durchgeführt werden. Das sollte auf jeden Fall für eine Entspannung an der Dead-Lock-Front sorgen. Ob es das Problem komplett beseitigt bleibt abzuwarten :-)

    Ich habe die Developer-Version entsprechend aktualisiert, wer es also gerne testen möchte:

    update thirdparty http://fhem.lmsoft.de/sonos_dev sonos


    Folgende neue Dinge sind dort zu erwarten:

    Also ein bißchen was passiert, aber am Wichtigsten ist die Änderung der Informationsschicht.
    Wenn das jetzt einigermaßen läuft, bzw. die letzten Kinken daran ausgemerzt wurden, dann würde ich daraus mal wieder ein Release machen, damit das im Wiki auch mal wieder passend aktualisiert werden kann...

    @Armin: In deinem Log gibt es eine "echt harte" Fehlermeldung:

    Thread 1 terminated abnormally: junk 'lowedValue>
            ' after XML element
    Die machte genau das, was da steht: Der SubProzess wird/wurde angehalten und läuft nicht mehr. Danach kann keine Kommunikation zu den Playern (und umgekehrt) mehr funktionieren.
    Ich habe das Fehlerhandling an der Stelle sowieso schon angepasst gehabt, sodass es bzgl. dieses Fehlers tatsächlich hilft, auf die Developer-Version zu gehen.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 02 Februar 2014, 14:34:46
    Vielen Dank Reiner für Deinen Einsatz! Ich probiere das gleich mal aus!
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 02 Februar 2014, 14:52:43
    Nochmal ein Zwischenbericht, an der Funktion hat sich nichts geändert, ausser Statusanzeige und Lauter / Leiser geht nichts...

    Als erstes ein Update gemacht:
    2014.02.02 14:35:29 3: update get http://fhem.lmsoft.de/sonos_dev/controls_sonos.txt
    2014.02.02 14:35:30 1: update saving statefile
    2014.02.02 14:35:30 2: Backup with command: tar -cf - fhem.cfg ./FHEM/!statusm.inc ./FHEM/!treppenhaus.inc ./FHEM/!schlafzimmer.inc ./FHEM/!balkon.inc ./FHEM/!kueche.inc ./FHEM/!henryx.inc ./FHEM/!bad.inc ./FHEM/!wohnzimmer.inc ./FHEM/!dwt.inc ./FHEM/!df.inc ./FHEM/!wetter.inc ./FHEM/99_myFHTsettings.conf ./log/fhem.save ./CHANGED ./contrib ./demolog ./docs ./FHEM ./fhem.cfg ./fhem.cfg.demo ./fhem.pl ./fhem2mail ./log ./README_DEMO.txt ./RINCON_000E58C5234601400_MR_Speak.mp3 ./sendEmail ./telefonbuch.txt ./unused ./www |gzip > ./backup/FHEM-20140202_143530.tar.gz
    2014.02.02 14:35:57 1: backup done: FHEM-20140202_143530.tar.gz (10420398 Bytes)
    2014.02.02 14:35:57 3: update get http://fhem.lmsoft.de/sonos_dev/FHEM/00_SONOS.pm
    2014.02.02 14:35:58 3: update get http://fhem.lmsoft.de/sonos_dev/FHEM/21_SONOSPLAYER.pm
    2014.02.02 14:35:59 1: update 2 file(s) have been updated.


    dann Fhem-Neustart:
    2014.02.02 14:38:50 0: Server shutdown
    2014.02.02 14:38:50 3: SONOS0: Received: 'shutdown'
    2014.02.02 14:38:50 3: SONOS0: Disconnecting client and shutdown server...
    2014.02.02 14:38:50 3: SONOS0: Trying to kill Sonos_Thread...
    2014.02.02 14:38:50 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2014.02.02 14:38:50 1: SONOS2: Restore-Thread wurde beendet.
    2014.02.02 14:38:50 3: SONOS1: Controlpoint-Listener wurde beendet.


    dann 12 mal das:
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1


    dann wird die CFG abgearbeitet und als Sonos an die Reihe kommt gehts so weiter:
    Prototype mismatch: sub main::head: none vs ($) at ./FHEM/00_SONOS.pm line 177
    Warning, threads::shared has already been loaded.  To
    enable shared variables, 'use threads' must be called
    before threads::shared or any module that uses it.
    2014.02.02 14:39:30 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 sekunden darauf...
    Current: "fhem.pl", gPath: "./FHEM"
    Current: "FHEM/00_SONOS.pm", gPath: ""
    2014.02.02 14:39:36 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    2014.02.02 14:39:38 3: Opening Sonos device localhost:4711
    2014.02.02 14:39:38 1: SONOS0: Connection accepted from localhost:42794
    2014.02.02 14:39:38 3: Sonos device opened
    2014.02.02 14:39:39 1: Including ./log/fhem.save
    2014.02.02 14:39:40 1: statefile: Reading Sonos_BRIDGE->presence must not be used out of statefile.
    Reading Sonos_Bad->presence must not be used out of statefile.
    Reading Sonos_Kueche->presence must not be used out of statefile.
    2014.02.02 14:39:40 1: usb create starting
    .
    .
    .
    2014.02.02 14:39:50 3: SONOS1: UPnP-Thread gestartet.
    2014.02.02 14:39:51 1: SONOS2: Restore-Thread gestartet. Warte auf Arbeit...
    2014.02.02 14:39:53 2: SONOS1: Discover Sonosplayer 'K?che' (S3) Software Revision 4.2 with ID 'RINCON_000E58F4EC2601400_MR'
    2014.02.02 14:40:01 2: SONOS1: SonosPlayer 'Kueche' (S3) Software Revision 4.2 with ID 'RINCON_000E58F4EC2601400_MR' is already defined and will only be updated
    2014.02.02 14:40:01 2: SONOS1: SonosPlayer 'Kueche' is now updated
    2014.02.02 14:40:01 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_000E58F4EC2601400_sub0000003128" and Timeout="86400s"
    2014.02.02 14:40:01 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_000E58F4EC2601400_sub0000003129" and Timeout="86400s"
    2014.02.02 14:40:01 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_000E58F4EC2601400_sub0000003130" and Timeout="86400s"
    2014.02.02 14:40:01 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E58F4EC2601400_sub0000003131" and Timeout="86400s"
    2014.02.02 14:40:01 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E58F4EC2601400_sub0000003132" and Timeout="86400s"
    2014.02.02 14:40:01 3: SONOS1: Discover: End of discover-event for "K?che".
    2014.02.02 14:40:03 2: SONOS1: Discover Sonosplayer 'Bad' (S1) Software Revision 4.2 with ID 'RINCON_000E58C5234601400_MR'
    2014.02.02 14:40:11 2: SONOS1: SonosPlayer 'Bad' (S1) Software Revision 4.2 with ID 'RINCON_000E58C5234601400_MR' is already defined and will only be updated
    2014.02.02 14:40:11 2: SONOS1: SonosPlayer 'Bad' is now updated
    2014.02.02 14:40:11 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_000E58C5234601400_sub0000001221" and Timeout="86400s"
    2014.02.02 14:40:11 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_000E58C5234601400_sub0000001222" and Timeout="86400s"
    2014.02.02 14:40:11 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_000E58C5234601400_sub0000001223" and Timeout="86400s"
    2014.02.02 14:40:11 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E58C5234601400_sub0000001224" and Timeout="86400s"
    2014.02.02 14:40:11 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E58C5234601400_sub0000001225" and Timeout="86400s"
    2014.02.02 14:40:11 3: SONOS1: Discover: End of discover-event for "Bad".
    2014.02.02 14:40:12 2: SONOS1: Discover Sonosplayer 'BRIDGE' (ZB100) Software Revision 4.2 with ID 'RINCON_000E581C935601400_MR'
    2014.02.02 14:40:14 2: SONOS1: SonosPlayer 'BRIDGE' (ZB100) Software Revision 4.2 with ID 'RINCON_000E581C935601400_MR' is already defined and will only be updated
    2014.02.02 14:40:14 2: SONOS1: SonosPlayer 'BRIDGE' is now updated
    2014.02.02 14:40:14 1: SONOS1: Service-subscribing not possible due to missing TransportService
    2014.02.02 14:40:14 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E581C935601400_sub0000000080" and Timeout="86400s"
    2014.02.02 14:40:14 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E581C935601400_sub0000000081" and Timeout="86400s"
    2014.02.02 14:40:14 3: SONOS1: Discover: End of discover-event for "BRIDGE".
    2014.02.02 14:40:14 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Kueche".
    2014.02.02 14:40:14 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Kueche".
    2014.02.02 14:40:15 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2014.02.02 14:40:15 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2014.02.02 14:40:15 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2014.02.02 14:40:15 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2014.02.02 14:40:15 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Kueche".
    2014.02.02 14:40:15 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Kueche".
    2014.02.02 14:40:15 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_BRIDGE".
    2014.02.02 14:40:15 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_BRIDGE".
    2014.02.02 14:40:15 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Bad".
    2014.02.02 14:40:15 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Bad".
    2014.02.02 14:40:15 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Kueche".
    2014.02.02 14:40:15 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Kueche".
    2014.02.02 14:40:15 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_BRIDGE".
    2014.02.02 14:40:15 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_BRIDGE".


    und so weiter.....keine Ahnung was da schief läuft....
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 02 Februar 2014, 16:48:49
    Hallo Reiner,
    auch von mir ein Feedback zum Update.
    Wenn man bei AddMember versehentlich einen falschen Player - Namen angibt (z.B. Tippfehler) dann schmiert fhem komplett ab und muss neu gestartet werden. Keine Ahnung, ob es an meiner Konfig legt, ist aber reproduzierbar...

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 02 Februar 2014, 18:00:00
    Hallo,
    nochmal ich! Ich versuche ein Notify auf "Sleeptimer off" zu setzten. Geht aber nicht.

    define Sonos_Schlafzimmer_Notify_SleepTimer_off notify Sonos_Schlafzimmer:SleepTimer off\
    set Sonos_Schlafzimmer RemoveMember Sonos_Bad;;


    Geht das nicht! Was mache ich falsch?

    djhans.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Februar 2014, 21:18:10
    Hi djhans,

    zum Notify: Der reguläre Ausdruck für das Matching darf keine Leerzeichen enthalten. Am einfachsten ist es, einfach ein "." (Punkt) an die Stelle des Leerzeichens zwischen dem Reading "Sleeptimer" und dem "off" zu setzen.

    Zum AddMember-Problem: ich schaue mir das an...

    Und zu den Event-Meldungen von Armin: Das sieht doch eigentlich ganz gut aus. Manchmal dauert das einen Augenblick, bis sich die Melderei beruhigt hat. Aber das sollte nach spätestens ein paar Minuten erledigt sein.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 02 Februar 2014, 22:04:50
    Hallo Reiner,
    Danke für Deine Arbeit! Die aktuelle Developer-Version läuft bei mir ohne Probleme.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 03 Februar 2014, 08:47:14
    Hallo,
    habe das jetzt so eingebaut. Läuft aber trotzdem nicht.
    define Sonos_Schlafzimmer_Notify_SleeptimerOff notify Sonos_Schlafzimmer:SleepTimer.off\
    set Sonos_Schlafzimmer RemoveMember Sonos_Bad;;


    Der Sleeptimer ist im SchlafzimmerSonos gesetzt und im Eventlog kommt ach diese Meldung:

    2014-02-03 08:43:27 SONOSPLAYER Sonos_Schlafzimmer infoSummarize3: Lautstaerke: 3 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhoerer
    2014-02-03 08:43:27 SONOSPLAYER Sonos_Schlafzimmer SleepTimerVersion:
    2014-02-03 08:43:28 SONOSPLAYER Sonos_Schlafzimmer transportState: STOPPED
    2014-02-03 08:43:28 SONOSPLAYER Sonos_Schlafzimmer SleepTimer: off


    mehr aber nicht. Die o.a. Anweisung wird nicht ausgeführt.

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 03 Februar 2014, 08:54:56
    Hallo Reiner,

    ja das beruhigt sich schon, allerdings kann ich immer noch ausser Volume up/down nicht an den Playern steuern...
    Habe nochmal von der Konsole gestaret und eine Fehlermeldung entdeckt:
    pi@raspberrypi /opt/fhem $ sudo perl fhem.pl fhem.cfg
    pi@raspberrypi /opt/fhem $ Prototype mismatch: sub main::head: none vs ($) at ./
    FHEM/00_SONOS.pm line 177
    Warning, threads::shared has already been loaded.  To
    enable shared variables, 'use threads' must be called
    before threads::shared or any module that uses it.
    Current: "fhem.pl", gPath: "./FHEM"
    Current: "FHEM/00_SONOS.pm", gPath: ""
    2014.02.03 08:45:56 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    2014.02.03 08:45:58 1: SONOS0: Connection accepted from localhost:53744
    2014.02.03 08:46:09 3: SONOS1: UPnP-Thread gestartet.
    2014.02.03 08:46:11 1: SONOS2: Restore-Thread gestartet. Warte auf Arbeit...
    2014.02.03 08:46:12 2: SONOS1: Discover Sonosplayer 'Kche' (S3) Software Revisio
    n 4.2 with ID 'RINCON_000E58F4EC2601400_MR'
    2014.02.03 08:46:22 2: SONOS1: SonosPlayer 'Kueche' (S3) Software Revision 4.2 w
    ith ID 'RINCON_000E58F4EC2601400_MR' is already defined and will only be updated
    2014.02.03 08:46:22 2: SONOS1: SonosPlayer 'Kueche' is now updated
    2014.02.03 08:46:22 2: SONOS1: Service-subscribing successful with SID="uuid:RIN

    danach geht alles normal weiter, bis es sich irgendwann beruhigt wie du ja auch sagst.
    Kannst Du mit dem Fehler etwas anfangen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Februar 2014, 09:41:33
    Hallo zusammen,

    @djhans: Versuch doch mal die Schreibweise:

    define Sonos_Schlafzimmer_Notify_SleeptimerOff notify Sonos_Schlafzimmer:SleepTimer:.off set Sonos_Schlafzimmer RemoveMember Sonos_Bad
    Da ist Hauptsächlich noch ein Doppelpunkt zwischen SleepTimer und off hinzugekommen...

    @Armin: Diese Meldung hatten wir schon mal. Das kann ich leider nicht nachvollziehen, da mir Prototypen bei Package-Angaben noch nicht untergekommen sind. Außerdem wird an der angemerkten Zeilennummer LWP::Simple per use-Anweisung geladen. Das sollte eigentlich auch keinen Fehler produzieren...
    Was wird denn noch vor dem Modul geladen? Kannst du das mal testweise reduzieren, um Quereinflüsse auszuschließen?
    Ich glaube beim letzten Mal hatte sich das durch Rechtesetzen o.ä. erledigt. Da bin ich mir aber nicht mehr so ganz sicher...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 03 Februar 2014, 10:10:33
    Hi,
    keine Chance! klappt nicht. Im log steht auch nichts drin!

    hier noch mal aus der fhem.cfg per cut und paste!
    define SleepTimerOff notify Sonos_Schlafzimmer:SleepTimer:.off\
    set Sonos_Schlafzimmer RemoveMember Sonos_Bad;;


    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Februar 2014, 10:54:26
    Hi djhans,

    schreib es doch mal sicherheitshalber in eine Zeile, und entferne mal die Semikola am Ende der Zeile (wie in meinem Beispiel).
    Nicht dass das noch stört...

    Ansonsten kannst du aus dem einzelnen Punkt auch noch .* machen, dann matchen halt beliebige Anzahlen an beliebigen Zeichen zwischen SleepTimer und off...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 03 Februar 2014, 11:46:22
    Hallo Reiner,

    habe mal etwas gegoogelt und rausbekommen dass es wohl daran liegt, dass zwei mal die head-funktion importiert wird (kenn mich damit nicht aus) und habe jetzt mal in 00_SONOS.pm Zeile 177 geändert in:
    use LWP::Simple qw(!head);


    Jetzt kommt zumindest die Fehlermeldung beim Starten von fhem nicht mehr. Ob nun die vorher nicht funktionierenden Sonos-Befehle gehen kann ich erst heute Abend überprüfen. Ich gebe dann Bescheid.

    Grüße
    Armin
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 03 Februar 2014, 12:00:37
    Hi,
    ja, wenn ich das in eine Zeile schreibe, klappt es! Verstehe ich aber nicht! Das hier funktioniert doch auch? Zumal hier auch alle Befehle hintereinander abgearbeitet werden...
    Auszug aus fhem.cfg:
    define Sound_Schlafzimmer at +00:05:00 \
    set Sonos_Schlafzimmer Volume 3;;\
    set Sonos_Schlafzimmer Treble 10;;\
    set Sonos_Schlafzimmer Bass 3;;\
    set Sonos_Schlafzimmer Balance 0;;\
    set Sonos_Schlafzimmer Loudness 1;;\


    ...und das geht nicht!
    define SleepTimerOff notify Sonos_Schlafzimmer:SleepTimer:.off\
    set Sonos_Schlafzimmer RemoveMember Sonos_Bad;;\
    set Sonos_Schlafzimmer RemoveMember Sonos_Terasse;;

    ...sondern nur so:
    define SleepTimerOff notify Sonos_Schlafzimmer:SleepTimer:.off set Sonos_Schlafzimmer RemoveMember Sonos_Bad;;\

    wieso ist das so? und wie kann ich mehrere Aktionen hintereinander ausführen, wenn der Sleeptimer abgelaufen ist?

    NACHTRAG!!
    Man glaubt es nicht! Es muss hinter dem "off" ein Leerzeichen stehen! Dann geht es
    define SleepTimerOff notify Sonos_Schlafzimmer:SleepTimer:.off \


    ...was mir noch aufgefallen ist:
    ab und zu drücke ich im fhem WebInterface mal auf save config. Dann speichert er u.a. auch die kompletten Sonos_Player dort ab. Wenn ich dann fhem neu starten muss, passiert es sehr häufig, dass die Player in fhem plötzlich nicht mehr reagieren. Er zeigt zwar "initialisiert" an, aber es tut sich nichts. Man kann auch keine Befehle absetzten.

    Wenn ich dann die fhem.cfg bereinige und auch die .save lösche, fhem neu starte und alles Sonos-Kisten neu erkennen lassen, klappt wieder alles. Kann man irgendwie verhindern, dass er die Sonos-Devices in die fhem.cfg schreibt, wenn man auf save drückt? Oder wo liegt hier das Problem?

    Christian


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Februar 2014, 12:43:52
    Hallo,

    @Armin: Ok, dann hast du wohl ein Modul laufen, welches auch dieses Paket verwendet und vor Sonos geladen wird... OK, wenn es so bei dir geht, muss ich mal schauen, ob es mit der Änderung bei mir auch gehen würde. Es kann halt sein, dass der ausgeklammerte Part ja benötigt wird (also mindestens einmal geladen werden muss)...

    @djhans: Ich hatte sowas mit dem Leerzeichen vermutet, aber es ist immer etwas schwierig, diese Details hier im Forum zu erkennen, da das auch manchmal beim Copy-Paste verloren geht o.ä. Aber schön, das es jetzt geht...
    Der Backslash wird direkt (zusammen mit dem folgenden Zeilenumbruch) aus dem gesamten String entfernt, bevor die normale Befehlsverarbeitung durchgeführt wird. Dadurch "sieht" der Fhem Befehlsprozessor nur eine Zeile, braucht aber natürlich trotzdem alle Trenn-Leerzeichen darin...

    Zu dem Save: Das geht nicht (zumindest wüsste ich nicht wie). Allerdings kann das ganze nur ein Zeitproblem sein. Je nach Perfomance der Fhem-Maschine dauert es schon so seine Zeit, bis die gesamte Erkennerei und Anmelderei durch das Modul erledigt ist. Ich würde sagen, dass nach 2 Minuten spätestens alles erledigt sein sollte. Dann sollten auch die Readings auf der Oberfläche passen...


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 03 Februar 2014, 17:51:07
    Hallo Reiner,

    also: leider schlecht....VolumeU und VolumeD funktionieren, sonst nichts weder Pause noch Play.... Wie kann denn das sein?
    Im fhem-log taucht überhaupt nichts auf..... :(
    werden die unterschiedlichen Befehle über unterschiedliche "Kanäle" abgearbeitet?

    Nachtrag: jetzt wird's komisch.... habe zwei Player, Sonos_Bad und Sonos_kueche. Wenn ich für sonos_kueche Play schicke, legt der im Bad los und es wird auch im Webinterface angezeigt...????? also nur Lautstärke-Befehle von Somos_Kueche kommen auch dort an...alles andere scheint bei Sonos_Bad zu landen....seltsam, oder?

    Nachtrag, die zweite: hab mal alles Sonos-mäßige aus der config rausgenommen, dann
    define Sonos SONOS localhost:4711 30
    in die cfg und neu erkennen lassen...keine Änderung! Status (z.B. abgespielter sender) wird korrekt angezeigt, bis auf Lautstärke-Befehle landet alles beim Sonos_Bad (egal bei welchem Sonos ich über fhem was drehe)...da soll einer verstehen.....
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Februar 2014, 19:04:10
    Hallo Armin,

    hast du denn irgendwelche Gruppen im Sonos definiert?
    Gib mir doch mal bitte den Inhalt des Reading "ZoneGroupState" am Sonos-Device. Außerdem die Inhalte der Readings "ZoneGroupID" und "ZonePlayerUUIDsInGroup" der beiden Sonos-Player-Devices. Dann kann ich mal schauen, was er da zu entdecken glaubt :-)

    Aus irgendeinem Grund meint er dort noch eine Gruppe zu erkennen, und sendet dementsprechend die meisten Befehle an den von ihm erkannten Gruppenmaster. Lautstärke z.B. ist davon nicht betroffen, da das immer direkt an den gewünschten Player gesendet wird...

    Was vielleicht auch helfen könnte, ist, bei laufendem Fhem im Sonos-Controller mal die beiden Player zu gruppieren, und etwas später dann wieder aufzulösen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 03 Februar 2014, 20:35:39
    Hallo Reiner,

    vielen Dank für Deine Mühe!

    Gruppen habe ich nicht angelegt (nicht das ich wüsste) Habe eben mal den Sonos im Bad mit dem in der Küche gruppiert...und wieder aufgelöst. Keine Änderung


    ZoneGroupState des Sonos-Device:
    <ZoneGroups><ZoneGroup Coordinator="RINCON_000E58C5234601400" ID="RINCON_000E58C5234601400:6"><ZoneGroupMember UUID="RINCON_000E58C5234601400" Location="http://192.168.1.59:1400/xml/device_description.xml" ZoneName="Bad" Icon="x-rincon-roomicon:pool" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="6"/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E581C935601400" ID="RINCON_000E581C935601400:0"><ZoneGroupMember UUID="RINCON_000E581C935601400" Location="http://192.168.1.58:1400/xml/device_description.xml" ZoneName="BRIDGE" Icon="x-rincon-roomicon:viper" Configuration="1" Invisible="1" IsZoneBridge="1" SoftwareVersion="24.0-69180" MinCompatibleVersion="22.0-00000" BootSeq="3"/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E58F4EC2601400" ID="RINCON_000E58C5234601400:1"><ZoneGroupMember UUID="RINCON_000E58F4EC2601400" Location="http://192.168.1.63:1400/xml/device_description.xml" ZoneName="Küche" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" BootSeq="4"/></ZoneGroup></ZoneGroups>

    Sonos_Bad:
    ZoneGroupID: RINCON_000E58C5234601400:6
    ZonePlayerUUIDsInGroup: RINCON_000E58C5234601400

    Sonos_Kueche:
    ZoneGroupID: RINCON_000E58C5234601400:1
    ZonePlayerUUIDsInGroup: RINCON_000E58F4EC2601400

    Du kannst da bestimmt was raus erkennen... :)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Februar 2014, 21:28:31
    Hi Armin,

    das Reading "ZoneGroupID" des Sonos_Kueche-Device ist einfach falsch. Es enthält die ID des Bad-Device. Dadurch meint das Modul alles an das Bad senden zu müssen...

    Kannst du beobachten, ob dieses Reading aktualisiert wird, wenn du Sonos-Gruppen bildest und wieder auflöst?
    Kannst du mal sicherstellen, dass dieses Reading bei einem Fhem-Start nicht in der Save-Datei vorhanden ist?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 04 Februar 2014, 12:15:38
    Hallo Reiner,

    das mit den Gruppen werde ich heute Abend mal ausprobieren...
    Wie meinst Du das mit der Save-Datei? fhem.save via FTP kopieren, entsprechenden Eintrag löschen (?) und wieder auf den Raspberry schicken?
    Oder meinst Du es wäre sinnvoll, erst nochmal fhem-mäßig alles von Sonos zu befreien und dann die beiden Player plus bridge quasi standalone neu einzurichten um dann erst anschließend das ganze noch mal frisch in fhem einzupflegen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Februar 2014, 12:49:22
    Hi Armin,

    genau, ich meinte die Datei fhem.save zu bearbeiten (natürlich während fhem beendet ist), das ist ja nur eine Textdatei. Dort die entsprechende Zeile für das Reading suchen und entfernen. Das wirst du für jedes Sonos-Device finden. Einfach jedes Vorkommen entfernen...

    Ich würde jetzt nicht alles bzgl. Sonos entfernen, das erscheint mir übertrieben. Das ganze kann nur eine Kleinigkeit sein... wir müssen sie nur finden...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 04 Februar 2014, 15:51:05
    Hallo Reiner,

    nochmals vielen Dank für Dein Engagement!

    Also: was ich aus der Ferne schonmal gemacht habe war folgendes: fhem gestoppt, alle ZoneGroupID's aus der fhem.save entfernt und fhem neu gestartet....glaube das hat nix gebracht, die ID's sind wie folgt:

    Küche: RINCON_000E58C5234601400:1
    Bad:    RINCON_000E58C5234601400:6

    unterscheiden sich also nur durch die letzte Stelle, denke aber das war vorher auch so...
    Ausprobieren (auch das mit den Gruppen) kann ich erst heute Abend. Könnte es auch etwas mit der Sonos Brdige zu tun haben?
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 04 Februar 2014, 16:15:02
    Ich hatte das auch mal, wenn ich mich recht erinnere, hat es nur geholfen, alle Player in ihre eigene Zone zu verschieben.
    Dazu habe ich diesen Befehl verwendet.
    Vermutlich hilft das bei Dir nichts, denn sonst hätte Reiner das bestimmt schon erwähnt.
    set Sonos Groups [Sonos_Bad], [Sonos_Kueche],[Sonos_Schlafzimmer],[Sonos_Wohnzimmer]


    Zum neuen Update:
    Reiner, vielen Dank! Ich hab es bisher nur sehr oberflächlich getestet, da ich  selten zuhause bin, jedoch hatte ich seither kein einziges Lock mehr und
    die Befehle werden (zumindest gefühlt) schneller ausgeführt!!!
    Auch mein Wecker-Experiment, für das ich so tolle Hilfe hier bekommen habe, scheint recht zuverlässig zu funktionieren!

    @jhans: Ich Habe den Google-Kalender mit der Wecker-Funktion von Sonos gekoppelt, sonst würde ich ja nicht geweckt werden, wenn ich zur Weckzeit einen Stromausfall hätte!
    Ich prüfe im Modul lediglich, ob sich ein Weckereintrag geändert hat, der mit "Wecker" anfängt, und schreibe seine Zeiten dann in das entsprechende Sonosgerät.
    Was ich noch nicht geschafft habe, was aber auch gehen sollte ist, einen kurzen Text ausgeben, wenn ich die Weckzeit ändere und dies erkannt wird. Bsp. wenn ich am Abend den Wecker um eine halbe Stunde verstelle, möchte ich angesagt bekommen: "Der nächste Wecker wurde auf 06:30 verschoben."
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Februar 2014, 16:17:55
    Hi Armin,

    mit der Bridge kann es nichts zu tun haben. Die hat bei dir eine andere UDN.
    Ich verstehe noch nicht so ganz, warum das Reading falsch gefüllt wird...

    Notfalls bräuchte ich mal die Konsolenausgabe des SubProzesses bei einem Loglevel 5, da kann ich dann sehen, welche Daten die Player gesendet haben, und welcher Teil des Skripts da u.u. was falsches extrahiert...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Februar 2014, 16:25:40
    Hi JoeALLb,

    schön, das es bei dir jetzt besser läuft. Das war ja auch irgendwie der Sinn der ganzen Übung :-)
    Jetzt müssen wir das mal eine Weile beobachten, dann kann das ja mal released werden...

    Aber dein Hinweis an Armin ist gar nicht schlecht. Der Mechanismus, den ich im Modul verwende um die Gruppen aufzulösen, ist, meiner Meinung nach, ein anderer, als der, den Sonos selber verwendet...
    Das hätte also wirklich eine Chance...
    @Armin: Probiere das doch mal bitte...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 04 Februar 2014, 16:50:32
    Hi Reiner,
    anbei "Konsolen-Mitschnitt" mit verbose 5. Ich habe mal die letzten Zeilen davor mitkopiert, da darin noch eine Fehlermeldung enthalten ist, die Dir vielleicht etwas sagt.
    2014.02.04 16:03:20 3: SONOS5: Event: End of Rendering-Event for Zone "Sonos_Bad
    ".
    Loading device description failed with error: 200 OK at FHEM/00_SONOS.pm line 20
    81 thread 5
    2014.02.04 16:42:03 3: SONOS0: Disconnecting client...
    2014.02.04 16:42:03 3: SONOS0: Trying to kill Sonos_Thread...
    2014.02.04 16:42:03 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2014.02.04 16:42:03 1: SONOS6: Restore-Thread wurde beendet.
    2014.02.04 16:42:03 3: SONOS5: Controlpoint-Listener wurde beendet.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UP
    nP/ControlPoint.pm line 1001 thread 5
    2014.02.04 16:42:06 2: SONOS5: Error during UPnP-Handling:
    2014.02.04 16:42:06 3: SONOS5: UPnP-Thread wurde beendet.
    2014.02.04 16:42:34 1: SONOS0: Connection accepted from localhost:40464
    2014.02.04 16:42:34 3: SONOS0: Disconnecting client...
    2014.02.04 16:42:36 1: SONOS0: Connection accepted from localhost:40465
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm
    line 866.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm
    line 866.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm
    line 866.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm
    line 866.
    2014.02.04 16:42:42 3: SONOS7: UPnP-Thread gestartet.
    2014.02.04 16:42:44 1: SONOS8: Restore-Thread gestartet. Warte auf Arbeit...
    2014.02.04 16:42:45 2: SONOS7: Discover Sonosplayer 'Bad' (S1) Software Revision
    4.2 with ID 'RINCON_000E58C5234601400_MR'
    2014.02.04 16:42:54 2: SONOS7: SonosPlayer 'Bad' (S1) Software Revision 4.2 with
    ID 'RINCON_000E58C5234601400_MR' is already defined and will only be updated
    2014.02.04 16:42:54 2: SONOS7: SonosPlayer 'Bad' is now updated
    2014.02.04 16:42:54 2: SONOS7: Service-subscribing successful with SID="uuid:RIN
    CON_000E58C5234601400_sub0000001935" and Timeout="86400s"
    2014.02.04 16:42:54 2: SONOS7: Rendering-Service-subscribing successful with SID
    ="uuid:RINCON_000E58C5234601400_sub0000001936" and Timeout="86400s"
    2014.02.04 16:42:55 2: SONOS7: Alarm-Service-subscribing successful with SID="uu
    id:RINCON_000E58C5234601400_sub0000001937" and Timeout="86400s"
    2014.02.04 16:42:55 2: SONOS7: ZoneGroupTopology-Service-subscribing successful
    with SID="uuid:RINCON_000E58C5234601400_sub0000001938" and Timeout="86400s"
    2014.02.04 16:42:55 2: SONOS7: DeviceProperties-Service-subscribing successful w
    ith SID="uuid:RINCON_000E58C5234601400_sub0000001939" and Timeout="86400s"
    2014.02.04 16:42:55 3: SONOS7: Discover: End of discover-event for "Bad".
    2014.02.04 16:42:55 2: SONOS7: Discover Sonosplayer 'BRIDGE' (ZB100) Software Re
    vision 4.2 with ID 'RINCON_000E581C935601400_MR'
    2014.02.04 16:42:57 2: SONOS7: SonosPlayer 'BRIDGE' (ZB100) Software Revision 4.
    2 with ID 'RINCON_000E581C935601400_MR' is already defined and will only be upda
    ted
    2014.02.04 16:42:57 2: SONOS7: SonosPlayer 'BRIDGE' is now updated
    2014.02.04 16:42:57 1: SONOS7: Service-subscribing not possible due to missing T
    ransportService
    2014.02.04 16:42:57 2: SONOS7: ZoneGroupTopology-Service-subscribing successful
    with SID="uuid:RINCON_000E581C935601400_sub0000000122" and Timeout="86400s"
    2014.02.04 16:42:58 2: SONOS7: DeviceProperties-Service-subscribing successful w
    ith SID="uuid:RINCON_000E581C935601400_sub0000000123" and Timeout="86400s"
    2014.02.04 16:42:58 3: SONOS7: Discover: End of discover-event for "BRIDGE".
    2014.02.04 16:42:58 3: SONOS7: Event: Received Transport-Event for Zone "Sonos_B
    ad".
    2014.02.04 16:42:58 3: SONOS7: Event: End of Transport-Event for Zone "Sonos_Bad
    ".
    2014.02.04 16:42:59 2: SONOS7: Discover Sonosplayer 'Kche' (S3) Software Revisio
    n 4.2 with ID 'RINCON_000E58F4EC2601400_MR'
    2014.02.04 16:43:13 2: SONOS7: SonosPlayer 'Kueche' (S3) Software Revision 4.2 w
    ith ID 'RINCON_000E58F4EC2601400_MR' is already defined and will only be updated
    2014.02.04 16:43:13 2: SONOS7: SonosPlayer 'Kueche' is now updated
    2014.02.04 16:43:13 2: SONOS7: Service-subscribing successful with SID="uuid:RIN
    CON_000E58F4EC2601400_sub0000003886" and Timeout="86400s"
    2014.02.04 16:43:13 2: SONOS7: Rendering-Service-subscribing successful with SID
    ="uuid:RINCON_000E58F4EC2601400_sub0000003887" and Timeout="86400s"
    2014.02.04 16:43:13 2: SONOS7: Alarm-Service-subscribing successful with SID="uu
    id:RINCON_000E58F4EC2601400_sub0000003888" and Timeout="86400s"
    2014.02.04 16:43:13 2: SONOS7: ZoneGroupTopology-Service-subscribing successful
    with SID="uuid:RINCON_000E58F4EC2601400_sub0000003889" and Timeout="86400s"
    2014.02.04 16:43:13 2: SONOS7: DeviceProperties-Service-subscribing successful w
    ith SID="uuid:RINCON_000E58F4EC2601400_sub0000003890" and Timeout="86400s"
    2014.02.04 16:43:13 3: SONOS7: Discover: End of discover-event for "Kche".
    2014.02.04 16:43:13 3: SONOS7: Event: Received ZoneGroupTopology-Event for Zone
    "Sonos_BRIDGE".
    2014.02.04 16:43:13 3: SONOS7: Event: End of ZoneGroupTopology-Event for Zone "S
    onos_BRIDGE".
    2014.02.04 16:43:13 3: SONOS7: Event: Received Alarm-Event for Zone "Sonos_Bad".
    2014.02.04 16:43:13 3: SONOS7: Event: End of Alarm-Event for Zone "Sonos_Bad".
    2014.02.04 16:43:13 3: SONOS7: Event: Received DeviceProperties-Event for Zone "
    Sonos_BRIDGE".
    2014.02.04 16:43:13 3: SONOS7: Event: End of DeviceProperties-Event for Zone "So
    nos_BRIDGE".
    2014.02.04 16:43:13 3: SONOS7: Event: Received ZoneGroupTopology-Event for Zone
    "Sonos_Bad".
    2014.02.04 16:43:13 3: SONOS7: Event: End of ZoneGroupTopology-Event for Zone "S
    onos_Bad".
    2014.02.04 16:43:14 3: SONOS7: Event: Received ZoneGroupTopology-Event for Zone
    "Sonos_BRIDGE".
    2014.02.04 16:43:14 3: SONOS7: Event: End of ZoneGroupTopology-Event for Zone "S
    onos_BRIDGE".
    2014.02.04 16:43:14 3: SONOS7: Event: Received DeviceProperties-Event for Zone "
    Sonos_Bad".
    2014.02.04 16:43:14 3: SONOS7: Event: End of DeviceProperties-Event for Zone "So
    nos_Bad".
    2014.02.04 16:43:14 3: SONOS7: Event: Received DeviceProperties-Event for Zone "
    Sonos_BRIDGE".
    2014.02.04 16:43:14 3: SONOS7: Event: End of DeviceProperties-Event for Zone "So
    nos_BRIDGE".
    2014.02.04 16:43:14 3: SONOS7: Event: Received Transport-Event for Zone "Sonos_K
    ueche".
    2014.02.04 16:43:15 3: SONOS7: Event: End of Transport-Event for Zone "Sonos_Kue
    che".
    2014.02.04 16:43:15 3: SONOS7: Event: Received Rendering-Event for Zone "Sonos_B
    ad".
    2014.02.04 16:43:15 3: SONOS7: Event: End of Rendering-Event for Zone "Sonos_Bad
    ".
    2014.02.04 16:43:15 3: SONOS7: Event: Received Alarm-Event for Zone "Sonos_Kuech
    e".
    2014.02.04 16:43:15 3: SONOS7: Event: End of Alarm-Event for Zone "Sonos_Kueche"
    .
    2014.02.04 16:43:15 3: SONOS7: Event: Received Alarm-Event for Zone "Sonos_Bad".
    2014.02.04 16:43:15 3: SONOS7: Event: End of Alarm-Event for Zone "Sonos_Bad".
    2014.02.04 16:43:15 3: SONOS7: Event: Received ZoneGroupTopology-Event for Zone
    "Sonos_Kueche".
    2014.02.04 16:43:15 3: SONOS7: Event: End of ZoneGroupTopology-Event for Zone "S
    onos_Kueche".
    2014.02.04 16:43:16 3: SONOS7: Event: Received ZoneGroupTopology-Event for Zone
    "Sonos_Bad".
    2014.02.04 16:43:16 3: SONOS7: Event: End of ZoneGroupTopology-Event for Zone "S
    onos_Bad".
    2014.02.04 16:43:16 3: SONOS7: Event: Received DeviceProperties-Event for Zone "
    Sonos_Kueche".
    2014.02.04 16:43:16 3: SONOS7: Event: End of DeviceProperties-Event for Zone "So
    nos_Kueche".
    2014.02.04 16:43:16 3: SONOS7: Event: Received Rendering-Event for Zone "Sonos_K
    ueche".
    2014.02.04 16:43:16 3: SONOS7: Event: End of Rendering-Event for Zone "Sonos_Kue
    che".
    2014.02.04 16:43:18 3: SONOS7: Event: Received DeviceProperties-Event for Zone "
    Sonos_Bad".
    2014.02.04 16:43:18 3: SONOS7: Event: End of DeviceProperties-Event for Zone "So
    nos_Bad".
    2014.02.04 16:43:22 3: SONOS7: Event: Received ZoneGroupTopology-Event for Zone
    "Sonos_BRIDGE".
    2014.02.04 16:43:22 3: SONOS7: Event: End of ZoneGroupTopology-Event for Zone "S
    onos_BRIDGE".
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 04 Februar 2014, 17:36:29
    Hallo,
    bei mir wird es jetzt kompliziert und möchte gerne erfragen, ob jemand eine Idee dazu hat.
    Ich möchte für einen Sleeptimer immer eine Gruppe aus Schalfzimmer (Master) und Bad bilden. Das kann man einfach mit AddMember oder mit set Sonos Group machen. Jetzt soll aber vor dem gruppieren geguckt werden, ob die Gruppe bereits existiert oder ob Schlafzimmer und Bad bereits in anderen Gruppen mit weiteren Teilnehmern stecken.  Wenn ja, löst man Schlafzimmer und Bad aus der bestehenden Gruppe heraus und verbindet sie zu einer neuen Gruppe. Einfach eine neue Konfig drüberbügeln geht nicht, denn
    set Sonos Group [Sonos_Schlafzimmer, Sonos_Bad] schmeisst einen möglichen 3. Teilnehmer nicht raus und würde die Gruppen auch nicht trennen, wenn Sie aus 4 Teilnehmern besteht. Letzteres ist sicherlich schwer machbar, da man für die 2. Gruppe einen neuen Gruppenführer (lustig!) benennen muss, der dann die Konfiguration vom alten Gruppenführer (Bad oder Schlafzimmer) übernimmt.

    Mit get Sonos Groups kann ich alle Gruppen auslesen, Bei mir kommt dann das hier raus...
    [Sonos_Terrasse], [Sonos_Wohnzimmer, Sonos_Wohnzimmer_SW], [Sonos_Buero], [Sonos_Schlafzimmer, Sonos_Bad, Sonos_Schlafzimmer_RF]
    Hat jemand eine Idee? oder etwas Ähnliches bereits implementiert?
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Februar 2014, 18:32:49
    Hallo,

    @Armin: Die Konsolenausgabe ist nur verbose 3. Da ist irgendwas nicht angekommen. Es kann sein, dass du nur ein Speichern der fhem.cfg durchgeführt hast, und nicht Fhem neugestartet hast. Der Thread ist anscheinend durchgelaufen, allerdings wird nur beim Start des SubProzesses das Verbose-Attribut übertragen...

    @djhans: Das mit dem "set Groups"-Befehl stimmt. Die Frage ist jetzt, ob ich mir einen Zusatzparameter überlege, damit nicht-Gruppenteilnehmer am Ende noch entfernt werden... Ich mache mir mal Gedanken dazu...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 04 Februar 2014, 18:57:24
    @djhans
    Wenn Du zuerst die Player in eine Gruppe nur für sich steckst und dann eine gemeinsame Gruppe bildest?
    Ich denke, so sollte es gehen, wenn ich es richtig verstanden habe....
    set Sonos Group [Sonos_Schlafzimmer], [Sonos_Bad];
    set Sonos Group [Sonos_Schlafzimmer, Sonos_Bad];

    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 04 Februar 2014, 19:26:15
    Hm, habe gerade einen Text per Speak auf dem pausierten Player ausgegeben, danach wurde der Radio mit 80% Lautstärke abgespielt.

    Eigentlich kann ich mir nur erklären, dass das Modul dabei beteiligt ist.... Kann hier ein Fehler vorliegen?

    Edit:
    Seither funktioniert ein Notify nicht mehr, das auch Speak ausführt.
    Wenn ich die entsprechende Taste dafür drücke, erhalte ich folgenden Eintrag im Log.
    2014.02.04 19:41:57 3: SONOS1: Hole die Durchsage aus dem Cache...
    2014.02.04 19:41:57 3: SONOS1: Temporary playing of "\\192.168.178.69\SonosSpeak/RINCON_000E5836AAAC01400_MR_Speak_5355964793135989a3a85262706341f5516a1f4d.mp3" must wait, because another playing is in work...


    Der Player meldet aber in FHEM: "PAUSED_PLAYBACK " , wie auch der Sonos Controller.....



    Edit2:
    Beim Beenden von FHEM bekomme ich folgende Meldung.
    Alles scheint zu funktionieren, dann kommt dennoch noch eine Fehlermeldung.... (stört mich nicht, wollte sie nur mitteilen ;-)
    2014.02.04 19:47:25 3: SONOS0: Disconnecting client and shutdown server...
    2014.02.04 19:47:25 3: SONOS0: Trying to kill Sonos_Thread...
    2014.02.04 19:47:25 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2014.02.04 19:47:25 3: SONOS1: Controlpoint-Listener wurde beendet.
    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 4796, <$client> line 29.



    Edit 3:
    Anbei die Logzeile für das erstgemeldete Phänomen, nachdem ich FHEM neu gestartet habe.
    Der Text aus dem MP3 wird ausgegeben, danach startet der Radio sehr laut und im Log steht, dass etwas pausiert wird.
    Mir kommt das etwas spanisch vor....
    Danach geht keine "Speak"-Ausgabe mehr. Auch der Radio lässt sich danach über FHEM nicht mehr einschalten.
    Es passiert einfach nichts.
    Dann habe ich den Radio am Controller versucht, einzuschalten, (nach ungewöhnlich langer Ladezeit) wurde dann plötzlich die zuvor "pausierte" mp3 gespielt.
    und dann ausgeschaltet. Dann habe ich nochmal versuchtm, den Radio zu starten, dann kam nochmal die MP3, die diesmal wieder ine inem lauten Radioprogramm endete.
    Sehr seltsam alles, kann das durch die neue Version verursacht werden?
    Anbei noch ein Logauszug, falls es was hilft
    2014.02.04 19:50:29 3: SONOS1: Hole die Durchsage aus dem Cache...
    2014.02.04 19:50:29 3: SONOS1: Start temporary playing of "\\192.168.178.69\SonosSpeak/RINCON_000E5836AAAC01400_MR_Speak_5355964793135989a3a85262706341f5516a1f4d.mp3"
    2014.02.04 19:50:32 3: SONOS1: Hole die Durchsage aus dem Cache...
    2014.02.04 19:50:32 3: SONOS1: Temporary playing of "\\192.168.178.69\SonosSpeak/RINCON_000E5836AAAC01400_MR_Speak_5355964793135989a3a85262706341f5516a1f4d.mp3" must wait, because another playing is in work...
    2014.02.04 19:50:40 3: SONOS2: Restorethread has found a job. Waiting for stop playing...
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 04 Februar 2014, 20:08:18
    Hallo,
    Auch ich habe vor einer Stunde versucht, den Speak-Befehl auszuführen und habe festgestellt, dass der Text nicht ausgegeben wird und das Radio dann losläuft.

    Die Sprachdateien werden erzeugt, aber nicht ausgegeben.
    Djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Februar 2014, 20:43:09
    Hallo zusammen,

    ich schaue mir das mit der Speak-Ausgabe an. Natürlich kann da ein Fehler reingekommen sein.
    Ich habe ja ziemlich viel grundlegendes verändert und natürlich nicht alles testen können...

    Ich melde mich... Sorry dafür...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 04 Februar 2014, 21:28:46
    Hi,
    ich noch mal!  Geht jetzt so halbwegs. Der url-Pfad war falsch bei mir. Allerdings kann mein Sonos Device nicht auf die Freigabe zugreifen und ich weiß nicht warum.

    Rechte habe ich mit chmod go+rw /mnt/SonosSpeak gesetzt.
    smb.conf:
    global]
    workgroup = SCHETTNER
    netbios name = Enterprise
    security = User
    getwd cache = yes

    [Fhem]
    comment = Hausautomation
    path = /opt/fhem
    valid users = @users root
    read only = No
    guest ok = yes
    create mask = 0777
    directory mask = 0777

    [Admin]
    comment = Administration
    path = /
    valid user = root
    public = no
    read only = No
    create mask = 0777
    directory mask = 0777

    [SonosSpeak]
      comment = Audio-Files for SonosPlayer to Speak
      read only = false
      path = /mnt/SonosSpeak
      guest ok = yes
      create mask = 0777
      directory mask = 0777


    Die mp3 wird auch richtig dort abgelegt. Wenn ich im Controller versuche den Netztwerkpfad anzubinden, kommt ein Zugriff verweigert Problem.

    jemand eine Idee?
    NACHTRAG: in der global Section muss "security" auf "share" stehen...
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 04 Februar 2014, 21:52:57
    ....trotzdem ist in meinem Sonos System irgendetwas passiert, nachdem ich den Speak abgesetzt habe.
    Auf dem Radiosender WDR2 Ruhrgebiet kommt plötzlich kein RDS-Text mehr. Anstelle des Text läuft da jetzt: <?xml Version="1.0" encoding = "UTF8"?>"

    kann das durch das Speak-Sonos Modul gekommen sein, oder spielt der Sender gerade verrückt?

    Danke,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Februar 2014, 22:02:52
    Hallo djhans,

    ich habe das mit der Samba-Konfiguration schon mal in meine Wiki-Vorlage eingetragen. Mit dem nächsten Release wird das dann dort auftauchen...

    Zu dem Radiosender: Es kann verschiedene Gründe haben. Zum einen kann der reguläre Ausdruck des Moduls mal schiefgehen (wenn es um die Anzeige in Fhem geht), und zum Anderen kann aber auch vom Radiosender was anderes/komisches gesendet werden...
    Ich würde als erstes mal den Radiosender neu vom Controller abspielen lassen. U.U. ist bei den durch das Modul gesetztem Radiosender eine falsche Metadaten-Struktur gesetzt worden...

    Grüße
    Reiner

    Nachtrag:
    Ich habe den Sender mal bei mir mal gestartet. Ich habe die gleiche Anzeige, sodass hier eindeutig der Sender falsche Daten sendet...
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 04 Februar 2014, 22:08:45
    Hi,
    danke für Deinen Test. Dann ist alles gut!
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: LaLeLu am 04 Februar 2014, 23:40:02
    Hallo Reiner,

    nachdem ich auch Deine Wiki-Anleitung "Manuelle Installation SOAP::Lite" durchgeführt habe (wegen Fehler: Can't locate SOAP/Lite.pm in @INC), läuft mein SONOS auch mit fhem!



    Respekt für Deine Arbeit.

    :) ;D 8) DANKE!! 8) ;D :)
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 05 Februar 2014, 09:33:43
    Hallo Reiner,

    hier eine kurze Info zu meinem (Ex!-)Problem :)
    Also: das entfernen der GroupID aus der fhem.save hat nichts gebracht...aber:
    Per Sonos-Steuerung folgendes gruppenmäßige gemacht:
    1. Bad zur Küche gruppiert
    2. Gruppe wieder aufgehoben
    3. Küche zum Bad gruppiert
    4. Gruppe wieder aufgehoben
    und siehe da: es funktioniert! Die beiden haben unterschiedliche Gruppen-ID's erhalten nun kann ich tatsächlich beide Sonos-Player separat aus Fhem ansteuern! Du bist ein Held!
    Eines ist mir aber noch aufgefallen: Im Log habe ich gelegentlich das hier:
    2014.02.04 20:42:28 1: SONOS0: Error creating file ./www/images/default/SONOSPLAYER/Sonos_Bad_AlbumArt.<head>http:--192.168.1.59:1400-getaa?u=x-file-cifs%3a%2f%2fhus-server%2fmusic%2f!Musik%2fPeter%20Fox%20and%20Cold%20Steel%2fPeter%20Fox%20and%20Cold%20Steel%20-%20Live%20Aus%20Berlin%20-%202009%2f(05)%20%5bPeter%20Fox%20%26%20Cold%20Steel%5d%20Haus%20am%20See.mp3&v=4<-head>
    2014.02.04 20:42:43 1: SONOS0: Error creating file ./www/images/default/SONOSPLAYER/Sonos_Bad_AlbumArt.<head>http:--192.168.1.59:1400-getaa?u=x-file-cifs%3a%2f%2fhus-server%2fmusic%2f!Musik%2fPeter%20Fox%20and%20Cold%20Steel%2fPeter%20Fox%20and%20Cold%20Steel%20-%20Live%20Aus%20Berlin%20-%202009%2f(05)%20%5bPeter%20Fox%20%26%20Cold%20Steel%5d%20Haus%20am%20See.mp3&v=4<-head>

    und die Senderlogo-Grafiken sind dann nicht korrekt (bei dem einen Player das fhem-Logo und bei dem anderen das Logo vom zuvor abgespielten Sender)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Februar 2014, 09:52:08
    Hi Armin,

    ich fürchte da rächt sich dein Ausschluß von "head" in der use-Klausel oben...
    Diese Funktion wird an der Stelle nämlich von mir verwendet, um den Mimetype des Albumart zu ermitteln, um daraufhin eine saubere Dateiendung setzen zu können.

    Ich kann auf das Problem natürlich reagieren, aber leider nicht adäquat, da ich ja den Mimetype nicht zurückbekomme. Nun kann man vielleicht mit einiger Sicherheit davon ausgehen, dass es JPG sein dürfte, aber sicher ist das natürlich nicht...

    Hmmm... das ist nicht schön. Wir sollten eine andere Lösung für dieses Head-Problem finden, als es auszuschließen...

    Zu der Gruppengeschichte: Ich habe für das nächste Wiki-Release sowieso eine kleine FAQ-Liste geplant. Ich werde das dort gleich mal als möglichen Lösungsweg reinschreiben...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 05 Februar 2014, 11:37:29
    Hi Reiner,

    mist, Eigentor anscheinend..... Leider hab ich von den Sachen mit den Modulen usw. nicht viel Ahnung.... wenn ich beim googeln richtig verstanden habe kommt die Fehlermeldung die ich vor der "head-Änderung" bekommen habe dadurch zu stande, dass diese "head-funktion" in mehreren Modulen vorhanden ist, und das scheint ein Problem zu sein. Eigentlich hätte ich (naiv gesagt) auch in einem anderen Modul diese Änderung machen können, oder?
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 05 Februar 2014, 11:38:33
    Hallo Reiner,

    ich habe jetzt die DEV-Version seit ein paar Tage am laufen.
    Ich hatte bis jetzt weder ein Deadlock noch einen anderen Absturz bis auf das gruppieren mit einem Tippfehler im Namen der Sonos-Komponente - ich glaube das wurde hier schon genannt.

    Vielen Dank für diese Optimierung.
    Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 05 Februar 2014, 18:43:56
    Zitat von: JoeALLb am 04 Februar 2014, 18:57:24
    @djhans
    Wenn Du zuerst die Player in eine Gruppe nur für sich steckst und dann eine gemeinsame Gruppe bildest?
    Ich denke, so sollte es gehen, wenn ich es richtig verstanden habe....
    set Sonos Group [Sonos_Schlafzimmer], [Sonos_Bad];
    set Sonos Group [Sonos_Schlafzimmer, Sonos_Bad];

    Hi JoeAllb,
    das hast Du völlig richtig überblickt! Das funktioniert tatsächlich. Ich habe zum Test eine Gruppe aus Bad, Buero und Terrasse gebildet. Nach dem Absetzten der zwei Befehle, habe ich zwei Gruppen. Schlafzimmer + Bad und Buero und Terrasse. Klasse!
    nur Group muss Groups heissen :-);
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 05 Februar 2014, 19:07:47
    Hi Reiner,
    irgendwie habe ich immer noch Probleme mit dem Sonos Modul unter fhem.
    Habe jetzt einen Befehl abgesetzt
    { my $temp = ReadingsVal("Wetter","fc1_low_c","unbekannt");; fhem "set Sonos_Wohnzimmer Speak 30 de $temp"}
    und plötzlich spielt der Badezimmer-Sonos die Temperatur...
    fhem neu gestartet, versucht den Wohnzimmer-Sonos per Play Butten zu starten -> Absturz fhem. Nur Kill 9 hilft..

    Das hängt irgendwie mit den Daten zusammen, die fhem in die fhem.cfg speichert. Wenn ich diese Daten zu Fuß rausschmeisse und die Sonos Kisten neu erkennen lasse, klappt alles perfekt, solange die Daten nicht gespeichert werden. Irgendwie ändert sich etwas im laufenden Betrieb...

    Die Sonos-Komponenten wurden nicht vom Stromnetz getrennt, ich habe lediglich mit dem Groups Befehl rumgespielt.

    Meine Komponenten:
    Connect:Amp + SUB
    2 x Play 1 Schlafzimmer, Stereopaar
    1 x Play 1 Bad
    2 x Play 3
    1 x Bridge

    Ich weiss aber nicht, wie ich den Fehler reproduzieren kann...im Logfile finde ich keine Anhaltspunkte...
    djhans.

    NACHTRAG:
    ich lösche die ganze fhem.cfg und baue fhem neu auf. Ich würde ja die autodetect-Sonos Sachen in einer separaten Datei auslagern und per include einbinden. Aber wenn ich dann irgendwann wieder save im Webinterface drücke, klatscht er das alles wieder in die fhem.cfg.

    NACHTRAG 2:
    tja, keine Ahnung was passiert ist, es lässt sich kein Player mehr über fhem steuern. Ich mach den Pi jetzt platt und fang von vorne an...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Februar 2014, 21:00:29
    Hi djhans,

    das ist schon komisch. Ich habe das auch in einer eigenen Config-Datei ausgelagert, und wenn ich save drücke, dann bleibt das auch dort.
    Wichtig ist, daß du Fhem beendest (vorher natürlich save drückst), die Konfiguration umschiebst, und Fhem wieder startest. Fhem merkt sich, wo die Konfiguration stand, wenn es gestartet wird, und speichert alles weitere auch dort wieder ab...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 05 Februar 2014, 23:28:04
    Hallo Reiner,
    habe jetzt das komplette System neu aufgesetzt. Sobald ich irgendeinen Player ansteuern will, stürzt fhem komplett ab.

    es läuft außer Sonos nichts mehr auf dem System. Weiss nicht so richtig, wo ich anfangen soll!

    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Februar 2014, 23:43:58
    Hi Christian,

    nicht verzweifeln... das wird schon...

    Poste hier (oder per PN) doch mal bitte die Konsolenausgabe mit Level 5. Irgendwas muss ja noch passieren, wobei er dann aussteigt. Bitte vorher sicherstellen, dass du die aktuelle Developerversion des Moduls installiert hast.

    Leider ist bei der Vielfalt der Umgebungen nicht alles auf Anhieb abgrenzbar oder funktioniert direkt. Das ganze muss wachsen und gedeihen. Das bedeutet leider auch immer wieder Hürden zu beseitigen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 06 Februar 2014, 11:23:09
    Hi Reiner,
    danke für die Unterstützung!. Ich lösche noch mal alle Daten und Zustände und lasse alles noch einmal erkennen.
    Hier aber schon mal eine Fehlermeldung, wenn ich fhem per shutdown herunterfahre...

    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 4796, <$ client> line 12.

    djhans.

    NACHTRAG:
    habe nun die fhem.cfg zurückgesetzt, die fhem.save gelöscht und alles noch einmal mit viel Zeit erkennen lassen. Bislang läuft wider alle ohne Störung. ICh habe die Sonos-Device-Einträge auslagern können und ein wenig kommentiert. Das scheint auch zu funzen... Der oben beschriebene Fehler kommt aber immer, wenn man fhem beendet.

    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 06 Februar 2014, 16:47:32
    Hallo,
    ich suche immer noch nach dem Besten Konzept für die Konfiguration von Weckern/Alarm. M.E. ist es am Besten, die Wecker im Sonos zu konfigurieren und über fhem bei Abweichungen (z.B. Ferien, Urlaub, Feiertage, etc.) modifizieren zu lassen. Das stellt u.a. auch sicher, dass der Sonos auch weckt, falls fhem mal ein Problem hat und gerade nicht "online" ist (passiert leider ab und zu, das fhem abkachelt!)

    Eine Frage zum Sonos-Alarm:
    die Duration des Weckers lässt sich sekundengenau einstellen, aber kann man die Duration auch auf "unbegrenzt" setzen? Hat das schon jemand probiert?
    Hintergedanke ist, das Wecksignal nach dem Einschalten unbegenzt laufen zu lassen und es dann über den Sleeptimer irgendwann langsam auszublenden. Erstens finde ich das plötzliche Abschalten der Mucke doof und zweitens kann man am Controller sehen, wie lange die Mucke noch läuft. Die Sleeptimer Restlaufzeit wird ja angezeigt. Bei dem normalen Sonos-Alarm kann man das langsame ausblenden m.E. nicht nutzen, oder? Aks Workaround könnte man die Duration auf 24h setzten und dann mit dem Sleeptimer arbeiten,  aber das finde ich unschön!

    Danke,
    Christian

    NACHTRAG:
    set Sonos_Buero Alarm Update 35 { StartTime => '17:04:00', Volume => 10, Duration => '', Enabled => 1 }

    Dauer: unbegrenzt. Das geht schon mal!
    ..wie heißt denn das Event, dass ausgelöst wird, wenn der Sonos aufgrund eines Alarms einschaltet? Das brauche ich ja, um meinen Sleeptimer zu starten.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Februar 2014, 18:22:45
    Hi Christian,

    wenn du den Alarm auf Einmal-Ausführen gestellt hast, erhältst du sofort bei Alarm-Auslösung ein Event, dass ein Alarm verändert wurde (Enabled wird von Sonos auf 0 gesetzt).

    Ansonsten bekommst du nur mit, dass das Abspielen gestartet hat. Warum sieht man zunächst nicht...
    Aber im Controller wird z.B. ein Icon angezeigt, dass gerade eine Alarm-Abspielung erfolgt. Das muss ja irgendwo herkommen. Ich kann ja mal bei Gelegenheit schauen, was ich so mitgeteilt bekomme...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 06 Februar 2014, 18:47:04
    Hi,
    hm! das ist blöd! Auf Play kann man nicht gehen, das könnte ja zu jeder Zeit manuell und gewollt ausgelöst werden und dann würde der Sleeptimer jedes mal starten...
    Muss mal gucken, im Moment fällt mir dazu auch nichts ein. Ich dachte, es würde jedes Mal ein Ereignis ausgelöst, wenn der Alarm startet.

    ...da fällt mir ein: Man könnte doch jede Nacht um 4 Uhr die Alarm-Startzeit aus dem Sonos auslesen und dann einen Sleeptimer mit der "Sonos-Alarm-Zeit" setzten. Ist zwar nicht so elegant, aber sicherlich machbar... (für mich mit meinen fhem und perl-Kenntnissen sicherlich ein Jahrhundertprojekt  8))

    Bis dann...
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Februar 2014, 18:55:44
    Hi Christian,

    ich habe mal gerade nachgeschaut: Ich bekomme die Info natürlich auch.
    Ich baue gerade mal ein neues Reading, was diesen Wert repräsentiert... Dann gibt es auch ein Event dazu :-)

    Ich bin aber auch gerade dabei, die Namenserkennung beim Player-Discovery umzubauen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Februar 2014, 21:44:12
    Hallo zusammen,

    ich habe die Developer-Version noch mal aktualisiert.

    Folgendes bitte testen:
    - Die Namensgebung beim Playererkennen wurde überarbeitet. Das betrifft nur Stereopaare und Surroundkonstellationen...
    - Das Reading 'AlarmRunning' wurde hinzugefügt, welches immer dann eine '1' enthält, wenn das aktuelle Abspielen durch einen Alarm gestartet wurde. Leider bekomme ich nicht explizit mitgeteilt, wielange das Abspielen durchgeführt werden wird. Das kann man nur indirekt über den Alarm selbst herausfinden...

    Wie immer:

    update thirdparty http://fhem.lmsoft.de/sonos_dev sonos


    Danke schonmal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 06 Februar 2014, 23:09:09
    Hi Reiner,
    Besten Dank für die superschnelle Reaktion. Habe einnen Test gemacht und es scheint zu funzen...
    define AlarmRunning notify Sonos_Schlafzimmer:AlarmRunning.*1 set Sonos_Wohnzimmer Play

    Habe ein bissl gebraucht, bis ich verstanden habe, dass bei einem bestehenden AlarmRunning kein notify ausgelöst wird, sondern auf den Wechsel von 0->1 und von 1->0 reagiert wird.

    Frage:
    was hat sich an den Namen bei den Stereopaaren geändert? Mir ist nichts aufgefallen! Die heißen weiterhin Sonos_Schlafzimmer (für links) und Sonos_Schlafzimmer_RF (für rechts). Oder muss ich die Sonos.cfg löschen und die Geräte neu erkennen lassen.

    djhans

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Februar 2014, 23:56:29
    Hi Christian,

    schön, daß das mit dem Event klappt. Allgemein passe ich Readings immer nur dann an, wenn sich der Wert auch ändern würde (Ausnahme ist das "SomethingChangedEvent"). Das sorgt für etwas entspanntere Datenkommunikation zwischen den Modulbestandteilen :-)
    Wenn Fhem dauerhaft läuft, entspricht das Reading ja auch immer der Realität, sodass es stets passen sollte...

    Die Sache mit der Namensgebung ist eher für die Surround-Systeme interessant, da dort ein Problem aufgetreten war (es befanden sich "_X"-Bestandteile im generierten Devicenamen), und greift nur bei einer Neu-Erkennung der Sonos-Landschaft (bestehende Devicenamen werden natürlich nie verändert, die sind Benutzersache)...

    Aber ich habe auch die Erkennung der Stereopaare mit angepasst, sodass ein Test sicherlich sinnvoll wäre.
    Dazu bräuchtest du ja nur testweise das Include für die Sonos.cfg auskommentieren, und nach einem Fhem-Neustart ein Sonos-Device definieren.
    Bei dir sollten die Namen hoffentlich wieder genauso generiert werden.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 07 Februar 2014, 09:52:06
    Hi Reiner,
    habe es getestet. Der rechte Kanal eines Stereopaars heisst nun Sonos_Schlafzimmer_X und nicht mehr Sonos_Schlafzimmer_RF

    Gruß,
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 Februar 2014, 10:32:25
    Hi Christian,

    na super... Das war nicht so geplant :-)
    Kannst du mir kurz den Inhalt des Readings "ZoneGroupState" des Sonos-Devices zukommen lassen?
    Dann kann ich mal schauen, was die regulären Ausdrücke so falsch machen...

    Außerdem habe ich noch einen kleinen Tippfehler entdeckt, der aber große Wirkung haben kann...
    Kannst du das nochmal mit der neuen Version testen?

    Danke schon mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 07 Februar 2014, 12:59:41
    Hi,
    habe nun das Update noch einmal gemacht, die Sonos.cfg auskommentiert und die Kisten neu erkennen lassen.
    Du kannst mich jetzt verrückt erklären, aber jetzt stimmt es wieder... heute morgen hat er da ein X hinter gepackt! Ganz bestimmt!

    get Sonos Groups liefert nun:
    [Sonos_Wohnzimmer, Sonos_Wohnzimmer_SW], [Sonos_Buero], [Sonos_Schlafzimmer, Sonos_Bad, Sonos_Schlafzimmer_RF], [Sonos_Terrasse]

    ...und das aus dem ZoneGroupState: Ich hoffe das ist das, was Du sehen wolltest...
    <ZoneGroupMember UUID="RINCON_000E58C6EF1C01400" Location="http://192.168.1.46:1400/xml/device_description.xml" ZoneName="Schlafzimmer" Icon="x-rincon-roomicon:masterbedroom" Configuration="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E58C6EF1C01400:LF,LF;RINCON_000E58C6F31C01400:RF,RF" BootSeq="2"/><ZoneGroupMember UUID="RINCON_000E58C6F31C01400" Location="http://192.168.1.45:1400/xml/device_description.xml" ZoneName="Schlafzimmer" Icon="x-rincon-roomicon:masterbedroom" Configuration="1" Invisible="1" SoftwareVersion="24.0-71060" MinCompatibleVersion="22.0-00000" ChannelMapSet="RINCON_000E58C6EF1C01400:LF,LF;RINCON_000E58C6F31C01400:RF,RF" BootSeq="3"/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E58F224CE01400" ID="RINCON_000E58F224CE01400:26"><

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 Februar 2014, 13:46:31
    Hi Christian,

    klasse, ich glaube dir:-)
    Dann war es schon der Tippfehler, der das Problem gelöst hat... das ist gut...

    Jetzt brauchen wir nur noch den Test von Sacha zu dem Thema, dann hätten wir diese Baustelle auch erstmal dicht...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 07 Februar 2014, 15:37:22
    Hi,
    habe jetzt weder diese Abstütze! Und zwar nachdem ich den Speak Befehl ausgeführt habe. fhem ist so dermaßen abgesemmelt, dass es sich weder "stop" noch mit "kill 9" abschießen lässt.

    Den Speak Befehl hat er noch ausgeführt, dann war Schluss! Hier mal der Code, vielleicht fällt ja jemandem etwas auf:
    define sayTemperatur at *13:59:00 \
    { my $temp = ReadingsVal("Wetter","fc1_low_c","unbekannt");;;;\
    fhem "set Sonos_Bad Speak 20 de Aussentemperatur: $temp Grad."}
    attr sayTemperatur room Wecker

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 Februar 2014, 16:29:15
    Also bei mir haben die letzten Tage auch die Speaks wieder gut funktioniert, ohne absturz.
    Was ich festgestellt habe ich, dass sich ein anderer UPNP server (die Fritzbox mit beta-firmware)
    mit dem sonos verbindung aufgenommen hat und sonos somit nicht mehr ordentlich zum steuern war.
    Ich habe im Sonos-controller auf stopp gedrückt, 2 sekunden später war der radio wieder an.
    Seit dem deaktivieren des medieservers auf der fritzbox gehts wieder. das war mehr oder weniger ein zufallsfund,
    da ich die fritzbox dafür niemals konfiguriert hatte.

    Eines ist mir jedoch noch aufgefallen: Sonos war aus, dann habe ich eine Durchsage nach einem Telefoneingang programmiert
    so in etwa "Speak Stelle musik leiser da anruf".
    Diese durchsage funktionierte, danach hat sich Sonos jedoch eingeschaltet. Ich denke, es sollte in den Ausgangszustand zurückkehren?!?


    liebe Grüße
    Joe
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 07 Februar 2014, 17:09:45
    Hallo,
    das mit dem "Einschalten nach der Durchsage" habe ich nicht. Der Player geht in den letzten Zustand wieder zurück. Wenn er aus war, blaeibt er nach der Durchsage auch aus, wenn Musik läuft, wird diese danach auch fortgesetzt (die Pause zwischen Ende Durchsage und Fortsetzung der Musik ist ein wenig lang). Der Fritten Mediaserver ist aus.  Allerdings läuft ein Twonky Mediaserver auf meiner qnap.

    Sonst sollte da abernix sein. Ggf. noch die Dreambox. Möglicherweise läuft da noch ein Server, der den Sonos stören könnt. Wie kann man das herausfinden? Mit nem UPNP-Scanner? Da hatte Reiner mal etwas zu gepostet..

    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 07 Februar 2014, 21:56:01
    Guten Abend,
    ich habe noch mal eine Frage:
    Im Wiki gibt es ein Bsp. um auf TastenEvents zu reagieren. Wenn ich das richtig verstehe, dann ist das doch genau das, was derzeit doch sowieso mit dem Sonos klappt.

    kurzes Drücken auf Mute, Sonos Play
    erneutes Drücken auf Mute, Sonos Pause (Radio Stop)
    2 x kurzes Drücken auf Mute, Track weiterschalten (nicht bei Radio)

    Play und Stop über fhem zu machen, macht doch nach dem Sonos FW-Update keinen Sinn mehr, oder erweitert man die Funktionalität der Buttons mit Reiners Bsp. und könnte damit beispielsweise einen Radiosender laden und einen Sleeptimer starten. Nur was passiert dann,  wenn man 2 x innerhalb einer Sekunde die Mute-taste drückt?

    Christian

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 Februar 2014, 22:31:57
    Hi Christian,

    das stimmt, diese Button-Events waren für die alte Firmware. Seit der neuen macht das nicht mehr soviel Sinn.
    Man kann noch die Volume-Up und -Down Funktion verwenden... die alte Mute-Taste ist ja jetzt eine Play/Pause-Taste, die auch genau diese Events erzeugt (und kein Mute-Event mehr)...

    Ich werde den Wiki-Eintrag mal entsprechend anpassen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 08 Februar 2014, 09:06:25
    Nur eine kleine Info:
    Heute wusste mein Sonos_Wohnzimmer plötzlich seinen Namen nicht mehr...  Der Sonos Controller wollte,  dass ich einen neuen Namen vergebe. Sehr seltsam,  irgendwas geht da vor ;-)

    Gesendet von meinem Xperia Pro mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 08 Februar 2014, 12:27:37
    Da sWohnzimmer schaltete jetzt alle paar Sekunden ein und aus, ohne dass ich in
    FHEM nur eingeloggt war.
    2014-02-08 12:22:28 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
    2014-02-08 12:22:29 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
    2014-02-08 12:22:36 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
    2014-02-08 12:22:37 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
    2014-02-08 12:22:54 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
    2014-02-08 12:22:55 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
    2014-02-08 12:23:01 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
    2014-02-08 12:23:04 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
    2014-02-08 12:23:09 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
    2014-02-08 12:23:10 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
    2014-02-08 12:23:17 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
    2014-02-08 12:23:18 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
    2014-02-08 12:23:25 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
    2014-02-08 12:23:26 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
    2014-02-08 12:23:34 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
    2014-02-08 12:23:35 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
    2014-02-08 12:23:44 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: StartFavourite: Success!
    2014-02-08 12:23:45 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: AddMember: Success!
    2014-02-08 12:23:51 Global global DELETED Sonos


    Als ich das mit dem Controller nicht in den Griff bekommen habe,
    habe ich in FHEM delete Sonos eingetragen.
    Danach stürzte FHEM komplett ab.
    Anbei da sLog dazu.
    Seither funktioniert Sonos wieder, also denke ich, war das Modul an diesem Effekt irgendwie beteiligt...?!? Kann das sein?

    root@raspberrypi:~# 2014.02.08 12:23:51 3: SONOS0: Disconnecting client...
    2014.02.08 12:23:51 3: SONOS0: Trying to kill Sonos_Thread...
    2014.02.08 12:23:51 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2014.02.08 12:23:51 1: SONOS2: Restore-Thread wurde beendet.
    Can't use string ("") as a HASH ref while "strict refs" in use at ./FHEM/21_SONOSPLAYER.pm line 322.
    2014.02.08 12:23:53 3: SONOS1: Controlpoint-Listener wurde beendet
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Februar 2014, 13:08:35
    Hi JoeALLb,

    die Zeile 322 ist der Start für eine Durchsage. Kann es sein, dass Fhem bei dir, vielleicht auf Basis irgendeines Events, eine Durchsage machen wollte?

    Im ersten Schritt würde ich mal die Notifies, die sich irgendwie auf Sonos beziehen deaktivieren, und das Modul wieder aktivieren. Das kann ja fast nur ein wildgewordenes Event-Notify-Konstrukt sein...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 08 Februar 2014, 19:44:35
    Anbei meine Notifys im Zusammenhanfg mit Sonos, ich erkenne da nichts, was dieses Verhalten produzieren könnte.

    Notify #1 auf einem Taster, sollte das Problem also nicht sein
    set Sonos Groups [Sonos_Wohnzimmer,Sonos_Kueche];
    set Sonos_Wohnzimmer StartFavourite BAYERN%%203;
    sleep 1;;
    Sonos_Wohnzimmer Volume 45;;
    set Sonos_Kueche Volume 30;;
    sleep 1;;
    set Sonos_Wohnzimmer Mute off
    sleep 1;;
    set Sonos_Kueche Mute off


    Notify #2, ebenfalls Taster

    set Sonos StopAll;
    sleep 1;
    set Sonos Groups [Sonos_Bad], [Sonos_Kueche],[Sonos_Schlafzimmer],[Sonos_Wohnzimmer];


    Notify #3
    set Sonos Groups [Sonos_Bad], [Sonos_Kueche],[Sonos_Schlafzimmer],[Sonos_Wohnzimmer]

    Notify #4 am Taster
    set Sonos_Wohnzimmer Speak 70 de Kalender gespeichert

    Notify #5 am Taster, nur für testzwecke
    {fhem("set HomeStatus %")}
    {fhem("set Sonos_Kueche Volume 32")}
    {fhem("set Sonos_Wohnzimmer Volume 32")}
    {fhem("set Sonos_Kueche AddMember Sonos_Wohnzimmer")}
    {fhem("set Sonos_Kueche Play")}


    Notify #6 FritzboxTelefon
    FritzBox:event:.*ring { fhem("set Sonos_Bad VolumeSave 15")};
    { fhem("set Sonos_Schlafzimmer VolumeSave 15")};
    { fhem("set Sonos_Wohnzimmer VolumeSave 15")};
    { fhem("set Sonos_Kueche VolumeSave 15")};
    { fhem("set Sonos_Wohnzimmer Speak 40 de Telefon stelle leiser")}


    Also ich hab echt keine Idee, was das auslösen könnte!

    Hab aber nach dem Neustart wieder einen Absturz von FHEM, nachdem ich nicht zuhause war.
    Habe das Löschen des Sonos-devices nicht gespeichert und beim FHEM-Neustart nicht dran gedacht.
    Als ich gerade eben heimgekommen bin war folgendes im Log zu sehen:

    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1001 thread 1.
    2014.02.08 12:51:12 2: SONOS1: Error during UPnP-Handling:
    2014.02.08 12:51:12 3: SONOS1: UPnP-Thread wurde beendet.
    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 4839, <$client> line 7.
    Perl exited with active threads:
            2 running and unjoined
            0 finished and unjoined
            0 running and detached


    die CPU-Last war 100% und FHEM antwortete nicht mehr. Der Prozess lief aber noch.
    Was mich ebenfalls wundert ist, dass das Logging aller Daten bereits um 12:20 aufgehört hat,
    die Konsole aber noch bis 12:51 weiterlief.....

    Übrigens musste ich jetzt meinen "Sonos_Kueche" komplett neu in das Sonos-.Netz aufnehmen, er war einfach nicht mehr da und tauchte
    nach einem Restart auch nicht auf. Muss ich die Ghostbusters rufen ;-)?
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 09 Februar 2014, 10:36:14
    Mein Sonos Modul ist auskommentiert, schon ne ganze Weile - ich hatte aber trotzdem gestern Probleme meinen play3 den ich meist vom Strom trenne in die bestehende Landschaft zu integrieren...

    Vielleicht gibt es grundsätzlich ein Problem von Sonos. Vielleicht seit deren letztem update...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Februar 2014, 12:13:48
    Hallo zusammen,

    sind die Player vielleicht schon etwas älter, und der integrierte Akku ist nicht mehr so stabil, sodas irgendwelche Informationen verloren gehen, wenn sie zulange aus sind?
    Vielleicht gibt es aber auch eine Maximalzeit, die so ein Player aus sein darf...
    Am Besten mal im Sonos-Forum suchen/posten. Vielleicht gibt es ja bereits eine Lösung/Antwort dazu...

    zum Modul: Ich habe nun die Namensvergabe bei der Playererkennung zusammen mit Sacha getestet und soweit korrigiert, dass es bei ihm sauber funktioniert. Bitte mal in anderen Konstellationen testen...

    Des Weiteren habe ich den Fehler mit dem Absturz bei fehlerhaften Devicenamen bei "AddMember" und "RemoveMember" entfernt. Es kommt jetzt eine saubere Fehlermeldung, mit den möglichen Werten...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 09 Februar 2014, 12:56:09
    Zitat von: Reinerlein am 09 Februar 2014, 12:13:48
    sind die Player vielleicht schon etwas älter, und der integrierte Akku ist nicht mehr so stabil, sodas irgendwelche Informationen verloren gehen, wenn sie zulange aus sind?

    Meine Player waren gar nicht aus.... Ich verstehe es zur Zeit sowieso nicht.
    Davor war FHEM tagelang stabil, gestern 2x die Abstürze, heute funktioniert wieder alles
    sein 18h problemlos. Auch durchsagen werden wieder problemlos abgespielt.

    Ich werds einfach beobachten, vielleicht entdecke ich noch einen Zusammenhang. Danke für die ganze Unterstützung!
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 09 Februar 2014, 13:12:50
    Der play3 ist noch nichtmal ein Jahr alt... War aber wirklich recht lange vom Strom getrennt... Ich wusste gar nicht das es da einen Akku gibt... Ich glaube aber den Zusammenhang erkannt zu haben, mal meldet er sich am ZP an, mal am Amp - das sind dann unterschiedliche Knoten hier im Netzwerk...

    Hm...
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 09 Februar 2014, 22:52:24
    Hallo Reiner,

    ich leide doch noch unter vielen Abstürzen, die sporadisch stattfinden. Mein FHEM stürzt Cas eins bis zwei Mal am Tag ab und das in folgenden Konstellationen:

    - Alle Sonos Steckdosen aus, keiner im Haus, keine Befehle werden abgesetzt. Der Sonos-Thread logt sogar noch Nachrichten, dass irgendetwas abgelaufen wäre.
    - Alle Sonos-Geräte in Betrieb, keine Befehle abgesetzt

    Die Log-Datei hat keine Hinweise. Der Fhem-Prozess und Songs-Thread haben keine konstante Auslastung.
    Eben hatte ich beim Neustart folgende Meldungen in der Konsole:


    2014.02.09 21:52:42 3: SONOS0: Disconnecting client...
    2014.02.09 21:52:42 3: SONOS0: Trying to kill Sonos_Thread...
    2014.02.09 21:52:42 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2014.02.09 21:52:42 1: SONOS2: Restore-Thread wurde beendet.
    2014.02.09 21:52:42 3: SONOS1: Controlpoint-Listener wurde beendet.
    2014.02.09 21:52:48 1: SONOS0: Connection accepted from localhost:43246
    2014.02.09 21:52:48 3: SONOS0: Disconnecting client...
    2014.02.09 21:52:48 3: SONOS0: Sonos_Thread is already killed!
    2014.02.09 21:52:50 1: SONOS0: Connection accepted from localhost:43248
    2014.02.09 21:53:04 3: SONOS3: UPnP-Thread gestartet.
    2014.02.09 21:53:05 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
    2014.02.09 21:54:14 2: SONOS1: Error during UPnP-Handling:
    2014.02.09 21:54:14 3: SONOS1: UPnP-Thread wurde beendet.


    Hast Du Tipps, wie ich das ganze strukturiert debguggen könnte? Mir fehlt gerade der Ansatz, da die Abstürze nicht mit Aktivitäten meinerseits verbunden sind.

    Vielen Dank für Deine Unterstützung!

    Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Februar 2014, 23:42:05
    Hallo Merhan,

    das sieht z.B. nach Rereadcfg-Durchläufen deines Fhem aus.
    Wenn du z.B. den Befehl "rereadcfg" in Fhem ausführst, dann wird die Verbindung zum SubProzess beendet. Dieser beendet vorher noch alle seine Threads, und wartet dann wieder auf eine neue Verbindung.
    Diese kommt dann auch wieder, nur um gleich wieder zu verschwinden...
    Dieses rereadcfg wird auch beim Speichern der fhem.cfg über das Webinterface durchgeführt (wobei das bei dir ja nicht sein kann).

    Zwischendurch kam mal die Meldung, dass er fehlerhafte/nicht erkennbare UPnP-Pakete empfangen hätte, und somit den UPnP-Thread neugestartet hätte. Das passiert aber "unter der Haube", ohne das Fhem was davon mitbekommt. Das habe ich hier auch ab und zu. Ich vermute, daß das an einem Fehler in der UPnP-Library liegt, die ich da verwende...

    Zur Fehlersuche könntest du den Loglevel für den SubProzess mal auf 5 hochsetzen. Dann sieht man genau, was Fhem so an den SubProzess sendet, und was dieser dann damit macht.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 10 Februar 2014, 09:44:43
    Zitat von: Reinerlein am 09 Februar 2014, 23:42:05

    Zur Fehlersuche könntest du den Loglevel für den SubProzess mal auf 5 hochsetzen. Dann sieht man genau, was Fhem so an den SubProzess sendet, und was dieser dann damit macht.


    Hallo Reiner,

    vielen Dank. Kann ich nur den Loglevel vom Subprozess hochsetzen oder hängt dieser am Loglevel von FHEM. Ich habe viele Geräte in FHEM. Wenn ich das einen Tag durchlaufen lasse im höchsten Loglevel, wird das sehr viel.

    Viele Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Februar 2014, 09:52:52
    Hallo Merhan,

    du kannst am Sonos-Device das "verbose"-Attribut auf 5 setzen. Dann fehlen uns nur die ersten paar Zeilen, bis Fhem sich mit dem von ihm gestarteten Prozess verbunden hat.
    Das sollte aber nicht weiter wichtig sein. Das Problem tritt ja später auf...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 10 Februar 2014, 11:43:07
    Hallo Reiner,
    ich glaube ich komme so langsam dahinter, wann es zu den fhem Abstürzen aufgrund des Sonos-Moduls kommt.

    Habe heute zum Testen den Bad Sonos vom Bad in eine andere Etage getragen. Der Bad-Sonos war zuvor in einer Gruppe mit dem Schlafzimmer.

    Nachdem nun der Bad Sonos im DG wieder angeschlossen war, hat fhem diesen auch sauber als "appeared" erkannt. Aber steuern lässt er sich nicht. ein einfaches set Sonos_Bad Stop brachte das Sytsem zum Totalabsturz (Stecker am raspberry ziehen).

    Geräte aus einer bestehenden Gruppenkonfiguration vom Strom zu trennen, mag das Sonos-Modul offenbar nicht.
    Nach dem Löschen der fhem.save war alles wieder ok.

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Februar 2014, 11:52:35
    Hallo Christian,

    das kann ich ja bei mir mal nachstellen, und schauen, ob ich das Problem dann sehe...
    Ich vermute das Problem ja dann, wenn es der Master ist, den du auf diese Art wegreißt. Dann versucht das Modul bestimmt immer noch alles an den nicht vorhandenen Player zu senden...

    Eigentlich sollte die Abwesenheitserkennung des Moduls das beheben. Ich hatte da Code eingebaut, der dem Sonos-System mitteilt, dass ein Player nun weg ist (wenn er nicht gerade der Letzte seiner Art war :-). Daraufhin sollte dieser Player aus den Controllern verschwinden, und eigentlich sollte Sonos auch die Gruppenkonstellationen bereinigen können... Das tut es aber anscheinend doch nicht wie gewollt...

    Danke schon mal für die Info...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 10 Februar 2014, 12:32:34
    Hi Reiner,
    der Bad_Player ist nicht der Master. Das ist das Schlafzimmer.

    btw.
    seit der Aktioo ist das System irgendwie durcheinander....ich bekomme ene perl-Meldung auf der Debian Console "out of Memory" und fhem ist weg. Habe mir leider nicht gemerkt, welche module das waren... Beim nächsen mal poste ich das.

    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 10 Februar 2014, 12:44:34
    ...und noch etwas verstehe ich nicht:

    warum spielt er das Radioprogramm nicht ab? Wo ist der Fehler in meinem Script? Einzeln funktioneiren die BEfehle in der Eingabemaske vom fhem Web-Interface, z.B. {fhem "set Sonos_Bad LoadRadio WDR2%20Ruhrgebiet"}

    define Sonos_Bad_Appeared_Notify notify Sonos_Bad:presence:.appeared { \
    fhem "set Sonos_Bad LoadRadio WDR2%20Ruhrgebiet";; \
    fhem "set Sonos_Bad Volume 15";; \
    fhem "set Sonos_Bad Play" \
    }


    Logfile:
    014-02-10 12:37:53 SONOSPLAYER Sonos_Bad presence: disappeared
    2014-02-10 12:37:53 SONOS Sonos ZoneGroupState:
    2014-02-10 12:37:53 SONOS Sonos ZoneGroupState:
    2014-02-10 12:37:53 SONOS Sonos ZoneGroupState:
    2014-02-10 12:37:53 SONOS Sonos ZoneGroupState:
    2014-02-10 12:37:53 SONOS Sonos ZoneGroupState:
    ........
    2014-02-10 12:38:06 SONOSPLAYER Sonos_Bad presence: appeared
    2014-02-10 12:38:06 SONOS Sonos ZoneGroupState:
    2014-02-10 12:38:06 SONOS Sonos ZoneGroupState:
    2014-02-10 12:38:06 SONOS Sonos ZoneGroupState:
    2014-02-10 12:38:06 SONOS Sonos ZoneGroupState:
    2014-02-10 12:38:06 SONOS Sonos ZoneGroupState:
    2014-02-10 12:38:06 SONOS Sonos ZoneGroupState:
    2014-02-10 12:38:07 FHEMWEB FHEMWEB:192.168.1.50:54905 rereadicons
    2014-02-10 12:38:07 FHEMWEB FHEMWEB:192.168.1.50:54909 rereadicons
    2014-02-10 12:38:07 FHEMWEB FHEMWEB:192.168.1.50:54928 rereadicons
    2014-02-10 12:38:08 FHEMWEB FHEMWEB:192.168.1.50:54931 rereadicons
    2014-02-10 12:38:08 FHEMWEB FHEMWEB:192.168.1.50:54961 rereadicons
    2014-02-10 12:38:09 FHEMWEB FHEMWEB:192.168.1.50:54962 rereadicons
    2014-02-10 12:38:09 FHEMWEB WEB rereadicons
    2014-02-10 12:38:09 FHEMWEB WEBphone rereadicons
    2014-02-10 12:38:10 FHEMWEB WEBtablet rereadicons
    2014-02-10 12:38:10 SONOSPLAYER Sonos_Bad currentAlbumArtURI: ./www/images/default/SONOSPLAYER/Sonos_Bad_AlbumArt.png
    2014-02-10 12:38:10 SONOSPLAYER Sonos_Bad numberOfTracks: 0
    2014-02-10 12:38:10 SONOSPLAYER Sonos_Bad currentTrack: 0
    2014-02-10 12:38:10 SONOSPLAYER Sonos_Bad currentTrackURI:
    2014-02-10 12:38:10 SONOSPLAYER Sonos_Bad currentAlbumArtist: STOPPED
    2014-02-10 12:38:10 SONOSPLAYER Sonos_Bad currentNormalAudio: 1
    2014-02-10 12:38:10 SONOSPLAYER Sonos_Bad infoSummarize1: [Keine Musikdatei]
    2014-02-10 12:38:10 SONOSPLAYER Sonos_Bad infoSummarize2: STOPPED => [Keine Musikdatei]
    2014-02-10 12:38:10 SONOSPLAYER Sonos_Bad STOPPED => [Keine Musikdatei]
    2014-02-10 12:38:10 SONOS Sonos ZoneGroupState:
    2014-02-10 12:38:11 FHEMWEB FHEMWEB:192.168.1.50:54905 rereadicons
    2014-02-10 12:38:11 FHEMWEB FHEMWEB:192.168.1.50:54909 rereadicons
    2014-02-10 12:38:11 FHEMWEB FHEMWEB:192.168.1.50:54928 rereadicons
    2014-02-10 12:38:12 FHEMWEB FHEMWEB:192.168.1.50:54931 rereadicons
    2014-02-10 12:38:12 FHEMWEB FHEMWEB:192.168.1.50:54961 rereadicons
    2014-02-10 12:38:12 FHEMWEB FHEMWEB:192.168.1.50:54962 rereadicons
    2014-02-10 12:38:12 FHEMWEB WEB rereadicons
    2014-02-10 12:38:13 FHEMWEB WEBphone rereadicons
    2014-02-10 12:38:13 FHEMWEB WEBtablet rereadicons
    2014-02-10 12:38:13 SONOSPLAYER Sonos_Bad LastActionResult: LoadRadio: Radio "WDR2presence:" not found. Choose one of: "1LIVE - Das junge Radio des WDR.","Antenne Unna","NDR 2","WDR 2 Dortmund -alternativ-","WDR Event","WDR2 Ruhrgebiet","hr3"
    2014-02-10 12:38:13 SONOSPLAYER Sonos_Bad LastActionResult: SetVolume: 15
    2014-02-10 12:38:13 SONOSPLAYER Sonos_Bad LastActionResult: Play: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2014-02-10 12:38:13 SONOS Sonos ZoneGroupState:
    2014-02-10 12:38:13 SONOS Sonos ZoneGroupState:
    2014-02-10 12:38:13 SONOSPLAYER Sonos_Bad currentSender:
    2014-02-10 12:38:13 SONOSPLAYER Sonos_Bad currentStreamAudio:


    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 10 Februar 2014, 12:54:01
    Hallo Hans,

    ich habe das selbe Phänomen: Wenn ich jedoch davor ein Sleep einfüge, gehts bei mir.
    Dabei dürfte es sich gar nicht um das sleep ansich handeln, bei mir wird hier einfach die erste Zeile ansich ignoriert, mit wgal welchem Inhalt.
    Was Du aber noch prüfen solltest:
    Im notify wird das % zeichen escaped.
    also %%20 statt %20.
    Vielleicht reicht dieser eine Schritt bei Dir schon aus?

    Beispiel
    define Sonos_Bad_Appeared_Notify notify Sonos_Bad:presence:.appeared { \
    sleep 0.1;;\
    fhem "set Sonos_Bad LoadRadio WDR2%%20Ruhrgebiet";; \
    fhem "set Sonos_Bad Volume 15";; \
    fhem "set Sonos_Bad Play" \
    }
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Februar 2014, 13:47:52
    Hi Hans,

    JoeALLb hat bzgl des %-Zeichens recht. Das ist auch in deinem Log-Auszug zu sehen, wo das Modul versucht den Sender "WDR2presence:" zu laden. Den dürfte es so nicht geben :-)

    Das mit dem sleep sollte nicht notwendig sein, ist aber trotzdem einen Versuch wert, da Fhem bei einem Sleep die Ausführung real unterbricht. Da kann also zwischendurch was anderes verarbeitet werden...

    Zu dem Absturzproblem: OK, ich werde das versuchen nachzustellen...
    Das mit dem Out of memory wurde hier schon des öfteren gemeldet. Eine Lösung dazu wurde, meines Wissens nach, leider noch nicht entdeckt... ich selber hatte das Phänomen noch nicht...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 10 Februar 2014, 13:58:21
    Hi,
    jep! Das war es! Meine Güte!
    Noch einmal zum Verstehen! Warum wird es hier weggeschmissen und wenn ich es direkt als BEfehl eingeben nicht?

    Danke,
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 10 Februar 2014, 14:44:36
    Anbei mein Versuch der Erklärung ;-)

    In der Kommandozeile wird der befehl nicht von perl interpretiert und muss daher nicht escaped werden.
    Im Notify steht der Befehl in " und wird von Perl daher interpretiert. mit % kann ich eine Variable oder einen Hash im text einbinden.
    Damit dies jedoch nicht als Programmiersprachenelement, sondern als Zeichen erkannt wird, muss innerhalb von "" das zeichen doppelt geschrieben werden.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Februar 2014, 15:06:50
    Hi JoeALLb,

    es ist viel einfacher: Der Befehl "notify" ersetzt einfach einige Platzhalter, bevor der Code ausgeführt wird.
    Z.B. wird das %-Zeichen durch das Event ersetzt.

    Siehe dazu auch http://fhem.de/commandref.html#notify (http://fhem.de/commandref.html#notify)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 10 Februar 2014, 18:58:10
    Hallo,
    Besten Dank, dann ist das in Verbindung mit dem notify so. Wenn ich ein normales at *15:00:00 mache, braucht man das doppelte % nicht....

    Aber mal eine andere Frage:
    Hat jemand eine Idee, wie man im Schlafzimmer einen SleepTimer programmieren kann, den man über die Tasten am Sonos einstellt (z.B. je Tastendruck +10min)? Seit der Play-Funktion über den "Mute" Button ist das sicherlich in der Form nicht mehr möglich! VolUp und VolDown würde sich auch auf die Lautstärke auswirken.

    Ich würde das ja auch mit einem Lichtschalter machen und dafür zwei Wippen reservieren. Habe aber noch keine geeigneten Schalter gefunden, die in einem Std.-55-Rahmen 3 oder 4 Doppelwippen unterbringen können, so wie es bei den KNX-Schaltern von Gira der Fall ist...

    Gruß
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Februar 2014, 20:19:16
    Hi Christian,

    du könntest die Up/Down-Buttons in gleicher Zahl aber verschiedener Reihenfolge verwenden, oder mit einer kleinen Lautstärkeänderung leben...

    z.B.:
    - 2:DU
    Timer anschalten
    - 2:UD
    Timer zzgl. 10 Minuten

    Wenn du dann DUD drückst, kommst du nicht nur durcheinander, sondern hast auch einen um 10 Minuten verlängerten Timer :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 10 Februar 2014, 23:17:18
    Hallo Reiner,

    ich habe den Loglevel des Sonosthread auf 5 gesetzt. Das System lief jetzt seit 24h. Vor einigen Minuten habe ich gemerkt, dass das FHEM hängt. Der Sonos-Thread gibt weiter Nachrichten auf der Konsole aus, wenn sich am Sonos was ändert.

    ps -aux liefert folgende Prozessinfos

    fhem     28995  3.4  8.5  44028 38464 ?        S    Feb09  50:22 perl fhem.pl fhem.cfg
    fhem     28996  1.0  6.6  52288 29936 ?        Sl   Feb09  15:31 perl FHEM/00_SONOS.pm 4711 3

    wobei die CPU-Auslastung konstant ist. Auf Telnet oder Web-Anfragen reagiert FHEM nicht.
    Ohne Neustart hörte das Hängen auf.  An folgendem Log-Ausschnitt kann man das hängen sehen:


    2014.02.10 22:47:26 4: SONOS0: Transport-Event: Bilder-Download: SONOS_DownloadReplaceIfChanged('http://192.168.3.19:1400/getaa?u=x-rincon-mp3radio%3a%2f%2fwww.laut.fm%2ftangomatrix&v=1', './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt.ERROR');
    2014.02.10 22:47:26 4: SONOS0: Couldn't retrieve file "http://192.168.3.19:1400/getaa?u=x-rincon-mp3radio%3a%2f%2fwww.laut.fm%2ftangomatrix&v=1" via web. Trying to copy directly...
    2014.02.10 22:47:26 4: SONOS0: Couldn't even copy file "http://192.168.3.19:1400/getaa?u=x-rincon-mp3radio%3a%2f%2fwww.laut.fm%2ftangomatrix&v=1" directly... exiting...
    2014.02.10 22:47:26 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextTitle:tangomatrix'
    2014.02.10 22:47:26 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_000E58A9DED201400_MR'
    2014.02.10 23:04:39 1: 192.168.3.11:1000 disconnected, waiting to reappear
    2014.02.10 23:04:39 1: HMLAN_Parse: HMLAN1 new condition disconnected
    2014.02.10 23:04:39 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_000E58A9DED201400_MR:1'
    2014.02.10 23:04:40 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TransportState:PLAYING'
    2014.02.10 23:04:40 5: SONOS0: Received from UPnP-Server: 'SetCurrent:CrossfadeMode:0'
    2014.02.10 23:04:40 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NumberOfTracks:2'
    2014.02.10 23:04:40 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Track:1'
    2014.02.10 23:04:40 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackURI:http://stream.laut.fm:80/tangomatrix'
    2014.02.10 23:04:40 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackDuration:0:00:00'
    2014.02.10 23:04:40 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_000E58A9DED201


    Vielleicht liegt es gar nicht am Sonos sondern an meinem HM-LAN Adapter. zwischen 22:47 und 23:04 war das System nicht erreichbar.
    Die Ausgabe der Konsole habe ich mal angehängt.

    Erkennst Du etwas am Sonos-Modul oder soll ich in Richtung HM weiter suchen.
    Vielen, vielen Dank!

    Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Februar 2014, 00:45:31
    Hi Merhan,

    hmmm... an dieser Stelle wird dem Fhem-Part des Moduls mitgeteilt, dass es einige Readings zu aktualisieren gibt. Dabei sind alle Informationen bereits "drüben" angekommen, und sollen jetzt nur noch auf die Fhem-Devices übertragen werden (mittels Bulkupdate-Mechanismus).

    Das sollte eigentlich nicht so lange dauern (blockiert aber natürlich Fhem währenddessen). Andererseits sollte dein HMLAN da auch keine solche Verzögerung verursachen. Das erscheint mir eher so, als würde Fhem irgendwas tun, dabei blockieren und den für HMLAN notwendigen Refresh-Zyklus verpassen (irgendwas um die 30 Sekunden), und deswegen die Verbindung verlieren... Diese wird dann sofort wieder aufgebaut, sobald Fhem wieder "frei" ist.

    Kannst du das System mal kleinschrauben, also auf Sonos beschränken? Vielleicht bei einer Kopie an einer anderen Stelle.
    Du kannst auch im ersten Schritt versuchen alle Notify-Befehle, die irgendwie an der Aktualisierung der Sonos-Readings dranhängen, zu überprüfen (bzw. testweise zu deaktivieren). Das Aktualisieren von Readings geht grundsätzlich (mindestens) an alle definierten Notify-Anweisungen, die dann entscheiden, ob sie zuständig sind, oder nicht. Je mehr Notifies, desto mehr Arbeit für Fhem beim Aktualisieren eines Reading (bzw. u.U. Folgearbeiten durch die Erledigung der entsprechenden Notify-Anweisungen, das erfolgt sofort, und nicht später).

    Wenn das dann funktionieren sollte, dann nach und nach deine anderen Komponenten wieder einbauen, bis es nicht mehr sicher funktioniert. Ich vermute da eine Querbeeinflussung, sodass nicht ein Modul alleine die Schuld trägt, sondern mehrere Dinge zusammen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 11 Februar 2014, 07:27:22
    Guten Morgen Reinerlein,
    Ich verstehe seit ich mir einen SonosAmp zugelegt habe fürs Büro die Sonos Welt nicht mehr...
    Ich habe eine mindmap erstellt die meinen netzwerkaufbau zeigen soll.
    WLAN an der fritzbox ist nicht aktiv - alle Geräte beziehen aber über die fritzbox über ihre Mac Adresse immer die gleiche IP.
    Wenn ich nun den play3 vom Strom trenne und wieder anschalte sucht er sich wahrscheinlich den für ihn stärksten Knoten, mal ist das der Amp ein anderes mal ist es der ZP ob er auch versucht sich am Dock anzumelden ist nicht klar - der Dock hängt ja auch nur im WLAN...

    Wenn der play3 sich mit dem Amp Verbindet taucht er nicht im iPad auf - lässt sich auch dann nicht manuell hinzufügen. Der Dialog arbeitet und reagiert auf das Mute und lauter drücken am play3 es kommt aber kein grüner haken.
    Wenn ich den Amp ausschalte verbindet er sich brav mit dem ZP.

    Hast du eine Idee was ich tun kann? Für ne Stunde Musik am Tag möchte ich den play3 nicht ständig am Netz lassen.

    Ps: FHEM ist auskommentiert...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Februar 2014, 08:04:41
    Hallo der-Lolo,

    ich persönlich würde in einem ersten Schritt dafür sorgen, dass nur ein Zoneplayer am verkabelten Netz hängt.
    Du hast jetzt eine Schleife gebaut, da es jetzt mehrere Routen zum Ziel gibt. Das Problem ist dabei, dass ein Datenpaket jetzt eine Kreisfahrt machen kann, und nie am Ziel abgeliefert wird.
    Eine TCP/IP Datenlieferung erfolgt immer auf die Art und Weise, dass versucht wird, den kürzesten Weg zu finden. Den gibt es bei dir aber nicht mehr (für Interessierte: Das ist das Problem des Handlungsreisenden). Nun gibt es eine Technologie, die genau das ermöglichen soll (ich meine der Name dafür ist Spanning-Tree-Detection, das ganze sorgt auf jeden Fall dafür, dass ein Paket weiß, wo es schon überall langgekommen ist, und den Weg nicht nochmal geht).
    Das scheint bei dir vielleicht nicht jeder Switch zu beherrschen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 11 Februar 2014, 11:55:15
    Hallo der-Lolo,
    ich habe zusätzlich zur Bridge auch 2 weitere Sonos Komponenten am LAN und das funzt bei mir ganz gut. Einmal der ConnectAMP im Wohnzimmer und auf der 1.Etage der Schlafzimmer-Sonos (2 x Play 1 als Stereopaar, der linke Kanal hängt am LAN)....

    Was mir auffällt ist, dass Du am 2. LAN Port des ConnectAMP einen Drucker hast. Das hatte ich mit meiner Dreambox auch so gemacht und nur Probleme gehabt. Der ConnectAMP hat teilweise nicht reagiert und einen Neustart hingelegt. Vielleicht einfach mal den Drucker abklemmen....

    @all:
    Zu meinem Sleeptimer Button-Problem:
    Ich habe das mit dem SleepTimer jetzt anders gelöst, ob es praxistauglich ist, weiss ich noch nicht.
    Generell stelle ich sicher, dass immer mein Radiosender geladen ist. Das mache ich mit "presence:.appeared " und wird sowohl beim Start von fhem, als auch beim Einstöpseln der Player vorgenommen.
    Der Sleeptimer wird immer um 22:00 Uhr gestartet, egal ob der Sonos läuft, oder nicht. Wenn ich nun zu Bett gehe, drücke ich einfach den Play Button am Sonos und durch das Event "Playing" wird die Lautstärke auf angenehme 3% heruntergefahren (nur zwischen 21:00 und 23:00 Uhr).
    Wenn ich halt vor 22Uhr schlafen gehe, spielt der Sonos den Sender direkt ab und um 22 Uhr startet dann nahtlos der Sleeptimer für 90min. Wenn ich halt kein Bock mehr auf Mucke habe, dann schalte ich Gerät einfach mit dem Button weder ab, ansonsten erledigt das der Sleeeptimer um 23:30 bzw. 0:30 an samstagen...

    Später kann man das ja mal mit Lichtschaltern machen. Aber ich weiß halt absolut noch nicht, ob ich das teuere enocean oder die HM-Sachen nutzen soll. Wenn jemand weiß, wo Vor- und Nachteile zu den System diskutiert werden oder Erfahrungen mit den Komponenten hat, dem wäre ich dankbar für Tipps.

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 11 Februar 2014, 18:09:30
    Hi Reiner,
    kann man die AlarmID des aktuell laufenden Alarms bestimmen?

    mit
    {ReadingsVal("Sonos_Schlafzimmer", "AlarmListIDs", 0)}
    bekomme ich alle IDs genannt, möchte aber auf einen bestimmten Alarm reagieren.

    Anwendungsfall:
    wenn der Schlafzimmer_Sonos mit ID 67 morgens weckt, dann schalte den Wohnzimmer Sonos nach 30min in einer Gruppe hinzu.

    Gruß,
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Februar 2014, 20:32:22
    Hi Christian,

    soweit ich das weiß, liefert das Sonos-System diese Info nicht.
    Man bekommt nur eine Alarm-Änderung mit, wenn der Alarm nur einmal laufen sollte, und deshalb nach einmal ausführen disabled wird...

    Du bekommst nur die Info, dass es ein Alarm ist, der da gerade auf "Play" gedrückt hat, nicht welcher es war...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 11 Februar 2014, 21:14:01
    Hi,
    das ist schade!

    Keine Ahnung ob das hier etwas hilft (https://code.google.com/p/openhab/wiki/SonosBinding (https://code.google.com/p/openhab/wiki/SonosBinding)), aber hier steht etwas zu "alarmproperties (Properties of the alarm currently running)". Kennst Du aber bestimmt schon!

    djhans

    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 11 Februar 2014, 22:13:02
    Danke für eure Tipps - ohne weiteres kann ich den Amp nicht von Kabel trennen, die Komponenten sind zwar in der gleichen Etage - aber diagonal in jeweils der gegenüber liegenden Ecke der Wohnung... Das Wireless Netz das Sonos erstellt schafft es nicht, obwohl der Dock dazwischen - zwar nicht ganz in der Mitte - aber dazwischen steht...
    Wie ich es auch drehte und wendete - ich bekam keine Verbindung mehr zum play3 es half nur ein reset auf werkseinstellungen... Es gab wohl schon ein paar Menschen mit einem ähnlichem Problem - deswegen wurde ich im Netz schnell fündig...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Februar 2014, 23:26:15
    Hi Christian,

    das mit dem openhab schaue ich mir mal an.
    Leider gab es dort keine Quelltexte dieses Bindings zum Runterladen, sodass ich die Klassendateien erst dekompilieren muss. Das kann ich aber leider nicht an meinem iPad, sodass ich da Morgen am normalen Rechner was versuche...

    Ich vermute aber, dass es einfach die Daten des "nächsten" Alarms sind. Wahrscheinlich holen die sich die Liste aller Alarme, und ermitteln einfach den nächsten, der zeitlich dran wäre (und aktiv ist)... Das wäre in meinen Augen nur halb interessant, da man dann nie sicher sein kann, auch wirklich den richtigen Alarm in der Hand zu haben. Es könnte ja noch kurzfristig einer dazwischengekommen sein, oder was auch immer...

    Ich habe nochmal die Datenangebote der UPnP-Schnittstelle überprüft, und so auf Anhieb nichts gefunden, was mir die Information des aktuell laufenden Alarms bieten würde...
    Das war den Entwicklern von Sonos wohl nicht wichtig. Wichtig war vermutlich nur, dass es überhaupt ein Alarm ist, der gerade aktiv ist. Dann kann man den auch Pausieren und ähnliches...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 12 Februar 2014, 06:35:23
    @der-Lolo
    Gehts jetzt seit dem Reset?
    Ich habe auch 3 Geräte am LAN angestöpselt und andere nicht und alles funktioniert wunderbar,  auch wenn eines mal nicht da sein sollte.

    Allgemeine INFO:
    Seit vorgestern lief auch mein fhem rund, ohne abstürze, jedoch klappt mein morgendlichen Google-Wecker nicht mehr.  Hab die Ursache aber noch nicht geprüft. Vielleicht hängt es das sachlich mit dem verschwinden eines Sonos - Players zusammen,  ich habe nämlich kürzlich an einem Player vor dem fhem Absturz das Netzwerkkabel getauscht.

    Das Ermitteln der AlarmID wurde mich auch interessieren,  aus dem selben Grund.

    LG Joe

    Gesendet von meinem Xperia Pro mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 12 Februar 2014, 09:23:24
    Hi Reiner,
    super! Vielen Dank!. Vielleicht geht das ja doch irgendwie mit dem Alarm, sonst baue ich halt einen Workaround...

    Ich habe aber immer wieder diese fetten Abstürze und ich weiss nicht, wo ich ansetzten soll! Habe schon das Netzteil ausgetauscht, aber das bringt offenbar nichts. Ich vermute, es hängt mit dem upnp-Server  zusammen. Das Problem tritt hauptsächlich auf, wenn Player versetzt werden.

    Heute morgen habe ich den Player um halb acht versetzt und danach war das System tot. Gemerkt habe ich es erst um kurz nach acht...

    Die Abstürze passieren allerdings auch, wenn ich keine Player versetzte. Gestern Abend habe ich ein paar Funktionalitäten für den Sonos implementiert und plötzlich reagierte das Webinterface von fhem nicht mehr. Ich habe sowieso den Eindruck, dass das System manchmal sehr lange überlegt, bis es auf die Klicks im Webinterface reagiert. Im Hintergrund läuft auch eine ganze Menge ab. Kann es sein, das fhem einfach überlastet ist? Immerhin habe ich 8 Sonos Komponenten im Netz.

    djhans

    Im Anhang mal das Logfile der letzten 15min vor dem Absturz..vielleicht entdeckst Du ja etwas.
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 12 Februar 2014, 10:32:49
    @ all,
    kann hier mit meinem derzeit immer noch einzigen ZP90 nicht viel beitragen, außer die Erfahrung, dass seit dem Umzug des Produktiv FHEM mit SONOS auf ein Cubie2 Board alles viel flüssiger läuft und Reiners SONOS Modul diese Konfiguration kein einziges Mal zum Absturz überreden konnten. Vorher hatte ich für SONOS einen extra RPI über FHEM2FHEM an den Produktiv RPI gekoppelt. Der SONOS RPI ist da öfter abgestürzt.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Februar 2014, 10:50:10
    Hi Christian,

    sooo, wer lesen kann ist klar im Vorteil. Ich habe die Stelle gefunden, wie ich die 'AlarmRunningID' abfragen kann, und tue das in der aktuellen Developer Version jetzt auch :-)

    Desweiteren habe ich mir das Log mal angeschaut:
    Das bricht ja ziemlich ruckartig ab. Ich könnte mir vorstellen, dass Fhem in dem Augenblick kurzzeitig so beschäftigt war, dass er nicht auf die Nachricht auf dem Socket vom SubProzess reagieren konnte. Das wiederrum mochte der SubProzess nicht wirklich, und hat die zu Übertragenden Befehle und Informationen direkt mal verworfen :-(
    Das habe ich nun versucht zu korrigieren... Vielleicht geht das ja jetzt besser...

    Zu der Anzahl kann ich leider auch nicht viel beitragen, da ich nur drei Sonos-Komponenten habe...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 12 Februar 2014, 14:33:39
    Reiner,
    das ist perfekt! Vielen Dank für Deinen Support. Ich teste es umgehend aus und geben Feedback.

    Frage: wie kann ich die ID Abfragen?
    Nachtrag:
    hat sich erledigt:
    {ReadingsVal  ("Sonos_Schlafzimmer","AlarmRunningID",0)}

    Danke,
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 12 Februar 2014, 14:42:48
    Hm,
    Irgendwas hat hier nach dem Update nicht fuunktioniert,
    habe extra davor mit killall versucht, alle perl-prozesse zu beenden.

    Kann da noch etwas anderes den Port blockieren, als perl?
    Das UPNP-Modul startet keine C++ - Applikation?!?

    lG
    Joe


    killall -9 perl
    perl: Kein Prozess gefunden

    /etc/init.d/fhem start
    Starting fhem...
    root@raspberrypi:~# Subroutine myUtils_Initialize redefined at ./FHEM/99_myUtils.pm line 118, <$fh> line 5.
    Current: "fhem.pl", gPath: "./FHEM"
    Current: "FHEM/00_SONOS.pm", gPath: ""
    2014.02.12 14:39:22 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    Bind failed: Die Adresse wird bereits verwendet at FHEM/00_SONOS.pm line 4888.



    Edit: Schreibfehler
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Februar 2014, 15:27:11
    Hi Joe,

    nee, das UPnP-Modul ist pures Perl. Aber natürlich kann prinzipiell jeder den Port belegen, der ist ja nicht reserviert (auch wenn er manchmal verduftet :-)

    Ich würde im ersten Schritt versuchen, den Fehler in der myUtils zu beheben. Das kann alles Seiteneffekte haben.
    Dann könntest du noch mittels "netstat" prüfen, welche Ports belegt sind, und, soweit ich weiß, auch von wem.
    Damit solltest du dem ganzen auf die Spur kommen.

    Manchmal dauert die Freigabe eines Port aber auch nur einen Augenblick, und man muss etwas warten...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 13 Februar 2014, 10:43:30
    Hi Reiner,
    so! Seit gestern keinen Absturz mehr! Manchmal dauert es zwar eine ganze Zeit, bis fhem wieder reagiert (teilweise mehr als 30sec.), aber es scheint nicht mehr abzustürzen...

    Eine Frage zur SleeptimerVersion:
    Wird diese gesetzt, wenn der Sleeptimer eines bestimmten Players startet? Dann könnte ich, ähnlich wie bei der RunningAlarmID, auch auf bestimmte Sleeptimer reagieren, richtig?
    Man müsste dann nur nach dem Start eines Sleeptimers, den Wert in einer Variablen ablegen um dann später gezielt auf diesen Timerablauf reagieren zu können.

    Hintergrund:
    Der Wecker im Schlafzimmer geht morgens um 6 Uhr an
    nach 30min schaltet er den WohnzimmerPlayer hinzu und setzt einen Sleeptimer auf 1h
    wenn dieser Sleeptimer abgelaufen ist, soll er das Wohnzimmer wieder aus der Gruppe entfernen, aber nur, wenn genau dieser Sleeptimer abgelaufen ist.

    Dann muss man doch den Wert von  {ReadingsVal  ("Sonos_Schlafzimmer","SleepTimerVersion",0)} in einer globalen Variablen speichern um es in dem notify " Sonos_Schlafzimmer:SleepTimer.*off " verwenden zu können, oder kann man das geschickter lösen?

    Danke und Gruß,
    Christian.

    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 13 Februar 2014, 11:04:09
    Grüß euch,

    nach einem Reboot des OS hat auch mein fhem wieder sauber gestartet und ich hatte seit gestern auch keine aussetzer mehr.
    Auch mein Wecker mit der Kalenderintegration hat wieder funktioniert ohne Änderung an der Config.

    Sehr schön   :D
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Februar 2014, 11:47:31
    Hi Christian,

    ich würde einfach direkt auf das 'off' des Readings 'Sleeptimer' reagieren. An einem Player kann es ja nur einen Sleeptimer geben, der auch nirgendwo gespeichert wird. Deswegen ist mit dem Ablauf des Timers die Version auch immer wieder 0 (also genau in dem Augenblick, wenn das 'off' Event ausgelöst wirfd)

    Du kannst aber auch auf "nicht off" reagieren, und dir ausrechnen, wann der Timer fertig sein wird (die Zeitangabe mit dem Readingstimestamp verrechnen).

    Das Reading mit der Versionsnummer ist eher intern wichtig, da ich es zum Vergleich heranziehe, wenn ein SleepTimer-Event von Sonos kommt... Die Zahl ändert sich zum Beispiel, wenn du während des Timerlaufs diesen wieder veränderst (also eine Zeit setzt)...

    Zu den Reaktionszeiten: Bei mir dauert der Aufruf der Weboberfläche oft sehr lange. Wenn ich dann einmal drauf bin, geht es eine Zeitlang völlig normal. Alles andere wird aber trotzdem normalschnell ausgeführt (bei mir wird beim Start des Connect der zugehörige Verstärker eingeschaltet, das passiert trotzdem normal, was bedeutet, das sowohl der Fhem-Kern, als auch das Sonos-Modul und der FS20-Infrarotsender normal laufen).

    @Joe: Super, dann hoffen wir mal, das meine Anpassungen dauerhaften Erfolg bringen :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 13 Februar 2014, 13:07:03
    Hi Reiner,
    danke für die Info.
    Vielleicht ist mein Ansatz falsch. Ich nutze die Alarm-Funktion von Sonos immer in Kombination mit dem Sleeptimer, da die Sleeptimer Funktion die Mucke sanft ausblendet und nicht einfach abschaltet. Deshalb steht der Sonos-Weck-Alarm auch immer auf "unbegrenzt" und wird nach dem Aktivieren von fhem durch einen Sleeptimer abgelöst.

    Wenn ich nun auf "Sonos_Schlafzimmer:SleepTimer.*off" reagiere, um damit z.B. das Wohnzimmer-Gerät von einer Gruppe zu trennen, dann passiert das natürlich mit jedem Alarm, der vom Schlafzimmer ausgelöst wird. Um das gezielt steuern zu können, dachte ich an die SleepTimerVersion.

    Da fällt mir gerade ein:
    Man könnte sich ja auch die AlarmID in einer Variablen merken, bevor der Sleeptimer gesetzt wird. So könnte man dann auf den richtigen "SleepTimer.*off"  reagieren. Oder besteht die Möglichkeit, den "Alarm" langsam auszublenden, wenn er abläuft. Dann hätte man den gleichen Effekt erzielt. Der SleepTimer hat allerdings den Vorteil, dass die Restlaufzeit am Controller angezeigt wird. Beim Alarm geht das nicht...

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 13 Februar 2014, 16:45:07
    Hallo,
    da ist gerade wieder ein Absturz passiert: Das wurde auf der debian Konsole ausgegeben.

    2014.02.13 16:38:34 3: SONOS1: ProxyObject does not exists
    2014.02.13 16:38:34 2: SONOS1: Error during UPnP-Handling, restarting handling:                                                            junk 'Type>
        ' after XML element


    CPU Last liegt bei 99%
    ..und das steht als letztes im fhem log.
    2014.02.13 16:35:19 3: [STV] defined with host: 192.168.1.5 port: 52235 MAC:
    2014.02.13 16:35:19 1: Including ./log/fhem.save
    2014.02.13 16:35:20 1: statefile: Reading Sonos_Bad->LastActionResult must not be used out of statefile.

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 13 Februar 2014, 16:53:53
    Kurze Rückfrage dazu:
    Welchen Logdevice hast Du?
    Mir ist gerade bei einem test aufgefallen, dass das Sonos-Modul mit  DBlog und Mysql als DB-backend auf kleiner Hardware nicht möglich ist.
    Wenn ich hier Sonos exclude, funktioniert es wieder.
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 13 Februar 2014, 17:07:47
    Hallo,

    ich gehöre ja auch zu den Sonos-Modul Anwendern, die die Sonos-Geräte hinter Funksteckdosen verwenden. Mein System (aktuelles FHEM, aktuelle DEV-Version vom Sonos-Modul) stürzt ca. 1 bis 2x am Tag.

    Ich habe mein mit dem attribut event-on-change-reading .* die Performance deutlich optimiert. Ich hatte das Problem, dass die Verbindung zum HMLAN verloren ging.

    Mit APPTIME messe ich nun die Aktivitäten auf FHEM. Hier ein Beispiel mit einmaligem Einschalten von 2 Sonos-Geräten und dem Starten von einem Sonos-Favoriten und anschließendem Stopp nach einer Minute und Ausschalten des Systems, wobei das Sonos-Log auf Stufe 5 steht:


                                    name             function    max  count    total  average maxDly
                                  HMLAN1           HMLAN_Read   9429   2914   134866    46.28      0 HASH(0x141bd10)
                                   Sonos           SONOS_Read   7591     39    63212  1620.82      0 HASH(0x1acdf38)
                       batteryUebersicht readingsGroup_Notify    356   2349    36034    15.34      0 HASH(0x1adf8d0); HASH(0x22d6010)
                       HeizungUebersicht readingsGroup_Notify    226   2349    15949     6.79      0 HASH(0x1a80d40); HASH(0x18d2858)
                           EZ_Licht_Tuer          notify_Exec   9278      3    12046  4015.33      0 HASH(0x19e8a30); HASH(0x1a4c570)
                tmr-YAMAHA_AVR_GetStatus      HASH(0x19e9330)   6003    463     9036    19.52   8094 HASH(0x19e9330)
                             tmr-at_Exec      HASH(0x24021d8)   5381      1     5381  5381.00      5 HASH(0x24021d8)
                                     WEB               FW_Set    587     14     3990   285.00      0 HASH(0x11ac870); WEB; rereadicons
                                WEBphone               FW_Set    617     14     3832   273.71      0 HASH(0x12e1fe8); WEBphone; rereadicons
                               WEBtablet               FW_Set    583     14     3718   265.57      0 HASH(0x12e2180); WEBtablet; rereadicons
                                   Media            dummy_Set   1669     59     3674    62.27      0 HASH(0x19d6a10); Media; off
                            Media_Change          notify_Exec   1646      3     3596  1198.67      0 HASH(0x19d6c20); HASH(0x19d6a10)
                               SonosPlay            dummy_Set   1432     60     2197    36.62      0 HASH(0x19d7558); SonosPlay; on
                             SonosPlayOn          notify_Exec   1381      3     2014   671.33      0 HASH(0x19d7660); HASH(0x19d7558)
                  tmr-FW_closeOldClients                          15    232     1254     5.41   2330
                     tmr-HMLAN_KeepAlive     keepAlive:HMLAN1     12    555     1130     2.04   5308 keepAlive:HMLAN1
                                  WZ_AVR       YAMAHA_AVR_Set    170     65      959    14.75      0 HASH(0x19e9330); WZ_AVR; off
                      FileLog_WZ_Heizung          FileLog_Get    776      2      955   477.50      0 HASH(0x19e7900); FileLog_WZ_Heizung; CURRENT; INT; 2014-02-13_00:00:00; 2014-02-14_00:00:01; 4:T\x3a:0:; 6:H\x3a:0:
                                    CUL1             CUL_Read    578      4      932   233.00      0 HASH(0x1398eb0)
                                   WZ_TV               IT_Set    347     57      692    12.14      0 HASH(0x19e3928); WZ_TV; on
                                    CUL1              CUL_Get    342      2      683   341.50      0 HASH(0x1398eb0);  ; raw; is000000000F11


    Vorhin hatte ich einen Absturz, da Stand das Log noch nicht auf 5, weshalb ich keine Infos habe, jedoch war die CPU-Auslastung seitens FHEM sehr hoch und der Sonos-Thread nicht mehr unter den Prozessen aufgeführt.

    Deshalb habe ich das Log auf 5 gesetzt und beobachte weiter.

    Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Februar 2014, 18:27:56
    Hallo zusammen,

    das ist ja alles etwas ärgerlich...
    Ich habe in der aktuellen Dev-Version noch ein bißchen an der Bilder Aktualisierung für FhemWeb gedreht. Das geht jetzt mit viel weniger Aufwand und Belastung für Fhem...

    Vielleicht hilft das ja wieder ein bißchen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 13 Februar 2014, 20:35:34
    Hi Reiner,
    Besten Dank! Ich werde berichten.....

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 14 Februar 2014, 09:55:14
    Hallo Reiner,

    vielen Dank für Deine Mühen. Ich denke wir wissen das alle zu schätzen!

    Leider war heute früh der Loglevel nicht auf 5 gestellt. Ich hatte wieder folgende Situation auf der Version von gestern Abend:


    2014.02.14 09:06:53 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2014.02.14 09:06:53 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2014.02.14 09:07:09 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2014.02.14 09:07:09 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2014.02.14 09:07:17 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2014.02.14 09:07:17 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2014.02.14 09:07:45 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2014.02.14 09:08:49 2: SONOS1: Error during UPnP-Handling: 500 Can't connect to 192.168.3.18:1400 (Die Wartezeit für die Verbindung ist abgelaufen) at FHEM/lib/UPnP/ControlPoint.pm line 799 thread 1

    2014.02.14 09:12:08 3: SONOS1: UPnP-Thread wurde beendet.



    FHEM hängt und der Sonos-Thread ist nicht mehr da.

    Ich schraube noch Mal das Log hoch. Vielleicht erkennst Du aber auch schon was dran. Gestern Abend und heute früh lief alles ohne Probleme. Steckdosen einschalten, 3 Min warten, gruppieren, abspielen etc. Kurz nach 09:00 wurde das System ausgeschaltet. Seit wann FHEM hängt, weiß ich nicht.

    Viele Grüße,
    Merhan

    Titel: Antw:Sonos steuern
    Beitrag von: herman am 14 Februar 2014, 12:01:13
    So mit Log-Level 5 verabschiedet sich irgendwann mein HM-LAN


    2014.02.14 10:35:30 4: SONOS0: DoWorkAnswer arrived for Sonos_Schlafzimmer->LastActionResult: 'DoWork-Exception ERROR: 500 Can't connect to 192.168.3.18:1400 (Keine Route zum Zielrechner) at FHEM/lib/UPnP/ControlPoint.pm line 799 thread$
    2014.02.14 11:32:04 1: 192.168.3.11:1000 disconnected, waiting to reappear
    2014.02.14 11:32:04 1: HMLAN_Parse: HMLAN1 new condition disconnected
    2014.02.14 11:32:04 1: 192.168.3.11:1000 reappeared (HMLAN1)
    2014.02.14 11:32:04 1: HMLAN_Parse: HMLAN1 new condition init


    Bei diesem Scenario hängt FHEM aber der Sonos-Thread läuft noch.
    Ich habe mein System stark aufgeräumt und deutlich weniger events auf die reagiert wird. Kann es sein, dass das Sonos-Modul aufgrund von Timeouts das FHEM etwas lahmt, wenn die Funksteckdosen aus sind -sprich die Lautsprecher nicht über das Netzwerk erreichbar?

    Könnte ich testweise an eine zentrale Stelle im Sonos-Modul eine Zeile Code einbauen, die dafür sorgt, dass das Sonos-Modul nichts macht, wenn eine bestimmte Steckdose aus ist.

    Vielen Dank & Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Februar 2014, 13:04:24
    Hallo Merhan,

    ich habe die "can't connect to"-Meldung nun auch so aufgenommen, dass das UPnP-Handling automatisch wieder angestartet wird. Das sorgt also in Zukunft nicht mehr für ein Ende des SubProzesses.

    Bezogen auf das Eingreifen an eine zentralen Stelle: Im Normalfall macht das Modul nichts mehr mit den als abwesend erkannten Playern. Das ganze ist ja ein Event-System, sodass zunächst mal nur reagiert wird. Zusätzlich gibt es einen Thread, der die Player in regelmäßigen Abständen anpingt, um festzustellen, ob diese noch anwesend sind. Wird dort festgestellt, dass der Player endgültig weg ist, so wird dieser als "disappeared" markiert, und wird auch zukünftig nicht mehr überprüft werden...
    Von dort aus sollte also nix mehr passieren...

    Das einzige Problem können dann noch Zugriffe aus Fhem heraus auf den Player sein. Das sollte zwar eigentlich auch abgesichert sein, kann aber natürlich auch mal schiefgehen bzw. bei der Programmierung übersehen worden sein...

    Zum HMLAN: Der wird bereits nach 30 Sekunden als disconnected geführt. Das kann da also noch nicht so lange her sein. Nun ist zwischen dem letzten Sonos-Log und dieser disconnected Nachricht ja fast eine Stunde vergangen, sodass ich da nicht unbedingt einen ursächlichen Zusammenhang sehen würde.
    Was mich aber ein bißchen wundert, ist das Dollar-Zeichen am Ende der DoWorkAnswer-Zeile. Dort sollte vermutlich noch etwas kommen, da ich die zu schreibende Meldung in einfachen Anführungsstrichen (') ausgebe. Wie man ja vor dem Wort "DoWork-Exception ERROR" sehen kann, geht es damit auch los, nur hinten fehlt das...
    Vielleicht ist aber auch genau das das Problem: Er kann die Meldung nicht in das Reading "LastActionResult" eintragen, weil ihn irgendein Sonderzeichen oder die Länge o.ä. stört...
    Oder ist das beim pasten hier im Forum einfach nicht mitgekommen?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 14 Februar 2014, 13:18:25
    Grüß Euch,

    @Reiner: Wäre es möglich, für Sonos ebenfalls ein Disabled-Attribut wie aus anderen Modulen bekannt, zu haben?
    Manchmal wäre das schöner als das ganze Sonos aus der Config zu löschen....

    Anmerken wollte ich noch, dass ich auch einen HMLAN verwende. Mir ist bisher nie ein Zusammenhang aufgefallen, jedoch stelle ich soeben fest,
    dass zu den ketzten 2 Zeitpunkten, als ich hänger hatte, über hmlan nichts mehr geloggt wurde. Über ein anderes System (LaCrosse) wurde
    weitergeloggt... seltsam.
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 14 Februar 2014, 13:25:41
    Hallo Zusammen,

    mal ein ganz anderes Thema:
    Auf den SONOS-Geräten läuft doch auch ein Linux. Kommt man da irgendwie drauf? Wenn ja, wäre es doch interessant darauf die FHEM-Installation laufen zu lassen, wenn möglich.

    Gut, ist vielleicht jetzt eine andere Baustelle...


    Viele Grüße

    Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 14 Februar 2014, 13:58:45
    Ich habe eben mal nachgesehen:
    Ich habe vor jedem der letzten 4 Abstürtze ca. eine Minute vor dem Einfrieren von FHEM einein Eintrag

    HMLAN state absent
    HMLAN Xmit-Events init:1
    HMLAN prot_init


    in den Logfiles.
    Wenn da kein Zusammenhang besteht....

    Hatte gerade wieder einen ;-)


    Edit: Reihenfolge des Logs korrigiert, da DBLOG die sortierung umdreht.
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 14 Februar 2014, 14:15:40
    Mein HmLan macht auch gewaltige Zicken, und das ohne das ich das Sonos Modul nutze...
    Ein USB Konfigurator liegt hier schon zur Installation bereit - fehlt nur etwas zeit...

    Mir ist damals als ich das Sonos Modul aktiv hatte auch der avahi daemon ins Auge gestochen - irgendwas sorgt in jedem fall für netzwerkinstabilität unter der das Sonos Modul leidet...
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 14 Februar 2014, 14:30:17
    Hallo Reiner,

    das mit dem $ war ein Copy&Paste Thema.
    Ich habe mal mit apptime die Belastung des Sonos gemessen wenn die Steckdosen aus sind. Du hast recht, dass sieht gut aus.


                                    name             function    max  count    total  average maxDly
                                  HMLAN1           HMLAN_Read    397   1355    46853    34.58      0 HASH(0x2324ce0)
                       batteryUebersicht readingsGroup_Notify    331   1087    12770    11.75      0 HASH(0x29e8888); HASH(0x27f69e0)
               FHEMWEB:x.x.x.x:54589              FW_Read   7370      4     7382  1845.50      0 HASH(0x33dae10)
                       HeizungUebersicht readingsGroup_Notify    123   1087     2585     2.38      0 HASH(0x298a1f8); HASH(0x27db850)
               FHEMWEB:x.x.x.x:63770              FW_Read    905      9      930   103.33      0 HASH(0x339e560)
                                   Sonos          SONOS_Ready      7   3477      676     0.19      0 HASH(0x29d6ee8)
                  tmr-FW_closeOldClients                          10    112      644     5.75     78
                                    CUL1             CUL_Read    119      5      595   119.00      0 HASH(0x22a1e98)
                     tmr-HMLAN_KeepAlive     keepAlive:HMLAN1      3    268      538     2.01   7937 keepAlive:HMLAN1
                tmr-YAMAHA_AVR_GetStatus      HASH(0x28f2368)      3    223      453     2.03   7495 HASH(0x28f2368)
                      FileLog_WZ_Heizung          FileLog_Get    145      2      271   135.50      0 HASH(0x28f0938); FileLog_WZ_Heizung; CURRENT; INT; 2014-02-14_00:00:00; 2014-02-15_00:00:01; 4:T\x3a:0:; 6:H\x3a:0:
                            WZ_LichtAlle        structure_Set     27      8      214    26.75      0 HASH(0x28ec1c0); WZ_LichtAlle; ?
                              EZ_Kommode           CUL_HM_Set      6     37      188     5.08      0 HASH(0x295ba58); EZ_Kommode; ?
                     tmr-CUL_HM_ActCheck       ActionDetector     18     11      188    17.09      7 ActionDetector
                            WZ_Stehlampe           CUL_HM_Set      5     37      182     4.92      0 HASH(0x28ec1f0); WZ_Stehlampe; ?
                                EZ_Licht           CUL_HM_Set      5     37      181     4.89      0 HASH(0x28e1400); EZ_Licht; ?
                              WZ_Heizung           CUL_HM_Set      7     29      176     6.07      0 HASH(0x28ef120); WZ_Heizung; ?
                              SZ_Heizung           CUL_HM_Set      7     26      158     6.08      0 HASH(0x2887e60); SZ_Heizung; ?
                   FileLog_DG_SZ_Heizung          FileLog_Log    107     25      131     5.24      0 HASH(0x297a848); HASH(0x2979368)
                                     WEB              FW_Read      2     60      120     2.00      0 HASH(0x209ea98)
                  FileLog_ActionDetector          FileLog_Set     24      4       90    22.50      0 HASH(0x29816d8); FileLog_ActionDetector; ?


    Es ist deutlich höher, wenn der Log-Modus und die Steckdosen an sind.

    Interessanterweise hat die Konsole mehr protokolliert als das FHEM-Log:

    FHEM:

    2014.02.14 10:35:30 4: SONOS0: DoWorkAnswer arrived for Sonos_Schlafzimmer->LastActionResult: 'DoWork-Exception ERROR: 500 Can't connect to 192.168.3.18:1400 (Keine Route zum Zielrechner) at FHEM/lib/UPnP/ControlPoint.pm line 799 thread 1'
    2014.02.14 11:32:04 1: 192.168.3.11:1000 disconnected, waiting to reappear
    2014.02.14 11:32:04 1: HMLAN_Parse: HMLAN1 new condition disconnected
    2014.02.14 11:32:04 1: 192.168.3.11:1000 reappeared (HMLAN1)
    2014.02.14 11:32:04 1: HMLAN_Parse: HMLAN1 new condition init


    Konsole:

    2014.02.14 10:35:24 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x1b1dce8)
    2014.02.14 10:35:27 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x1b1dce8)
    2014.02.14 11:26:43 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_000E58CC166801400_MR" has expired and is now renewed.
    2014.02.14 11:26:46 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_000E58CC166801400_MR" has expired and is now renewed.
    2014.02.14 11:26:49 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_000E58CC166801400_MR" has expired and is now renewed.
    2014.02.14 11:26:52 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E58CC166801400_MR" has expired and is now renewed.
    2014.02.14 11:26:55 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_000E58CC166801400_MR" has expired and is now renewed.
    2014.02.14 11:26:58 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_000E58CA720801400_MR" has expired and is now renewed.
    2014.02.14 11:27:01 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_000E58CA720801400_MR" has expired and is now renewed.
    2014.02.14 11:27:04 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_000E58CA720801400_MR" has expired and is now renewed.
    2014.02.14 11:27:07 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E58CA720801400_MR" has expired and is now renewed.
    2014.02.14 11:27:10 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_000E58CA720801400_MR" has expired and is now renewed.
    2014.02.14 11:27:13 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_000E58D814F201400_MR" has expired and is now renewed.
    2014.02.14 11:27:16 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_000E58D814F201400_MR" has expired and is now renewed.
    2014.02.14 11:27:19 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_000E58D814F201400_MR" has expired and is now renewed.
    2014.02.14 11:27:22 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E58D814F201400_MR" has expired and is now renewed.
    2014.02.14 11:27:25 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_000E58D814F201400_MR" has expired and is now renewed.
    2014.02.14 11:27:28 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_000E58A9DED201400_MR" has expired and is now renewed.
    2014.02.14 11:27:31 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_000E58A9DED201400_MR" has expired and is now renewed.
    2014.02.14 11:27:34 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_000E58A9DED201400_MR" has expired and is now renewed.
    2014.02.14 11:27:37 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E58A9DED201400_MR" has expired and is now renewed.
    2014.02.14 11:27:40 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_000E58A9DED201400_MR" has expired and is now renewed.


    Ich beobachte weiter und gehe sobald die neue Dev da ist auf den neuen Stand und teste weiter.

    Viele Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 14 Februar 2014, 15:44:42
    Nochmal die Frage an alle: Verwendet einer von euch DBLog?
    Ich kann zZ feststellen, dass mein FHEM komplett geblockt wird, wenn DBlog gerade nicht schnell genug schreiben kann. Und das passiert immer,
    wenn das System ausgelastet ist.
    Danach schießt sich auch nach ca. 30 Sekunden der hmlan ab und es geht erstmal gar nichts mehr.
    Ich erhielt in dieser Zeit keinerlei Loginfo von FHEM!!
    Als DBlog dann wieder geschrieben hat, erschien die Fehlermeldung, dass der HMLAN disconnected ist.
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 14 Februar 2014, 16:26:37
    Zitat von: JoeALLb am 14 Februar 2014, 15:44:42
    Nochmal die Frage an alle: Verwendet einer von euch DBLog?
    Ich kann zZ feststellen, dass mein FHEM komplett geblockt wird, wenn DBlog gerade nicht schnell genug schreiben kann. Und das passiert immer,
    wenn das System ausgelastet ist.
    Danach schießt sich auch nach ca. 30 Sekunden der hmlan ab und es geht erstmal gar nichts mehr.
    Ich erhielt in dieser Zeit keinerlei Loginfo von FHEM!!
    Als DBlog dann wieder geschrieben hat, erschien die Fehlermeldung, dass der HMLAN disconnected ist.

    Ich verwende das normale log in die Textdatei. Zur Optimierung des Systems habe ich bei fast allen Geräten attr event-on-change-reading .* gesetzt. Somit reduziert sich die Anzahl unnötig verarbeiteter Events. Seitdem ist der Eventmonitor deutlich ruhiger geworden.

    Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: ArminK am 15 Februar 2014, 18:35:25
    Hallo Reiner,

    ich hätte mal noch eine Frage zum Gruppieren, bzw Entgruppieren von Sonos-Playern:

    Szenario: Sonos_Kueche, Sonos_Wohnzimmer und Sonos_Bad spielen in der Gruppe einen Internetradio-Sender (Sonos_Kueche ist der Chef der Gruppe)...
    Am Bad habe ich einen Schalter, an dem der Junior beim Duschen seine Lieblings-Playlist aktivieren kann. Wenn die Player nicht gruppiert sind funktioniert das auch.
    wenn der Schalter toggelt greift folgendes Notify:
    define act_on_ba_sonos_t6 notify ba_sonos_t6:to.* {\
       {fhem("set Sonos_Kueche RemoveMember Sonos_Bad")}\
       {fhem("sleep 2")}\
       {fhem("set Sonos_Bad Volume 20 1")}\
    {fhem("set Sonos_Bad LoadPlaylist Henry")}\
    {fhem("set Sonos_Bad Play")}\
    }


    Was beim Betätigen des Schalters passiert:
    Sonos_Bad wird aus der Gruppe genommen und bleibt stumm...
    Sonos_Küche und Sonos_Wohnzimmer spielen die angegebene Playlist ab......
    Kannst Du Dir das irgendwie erklären?
    Oder bekomme ich das nur mit dem set Groups Befehl hin?

    Grüße und ein schönes Wochenende
    Armin
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Februar 2014, 20:37:01
    Hi Armin,

    ich vermute mal, dass die Information über die neue Konstellation noch nicht geliefert und/oder fertig verarbeitet wurde. Das bedeutet, dass er immer noch denkt, dass die Küche der zuständige Master ist.
    Das ist natürlich in solchen Verarbeitungsketten blöd.

    Du könntest natürlich auf das entsprechende Topology-Event reagieren, und dir vorher merken, dass der Junior eine Playlist abgespielt haben wollte...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 16 Februar 2014, 19:31:00
    Hallo Reiner,

    ich habe auf meinem RPI eine separate FHEM Instanz laufen und dort Sonos konfiguriert.
    Das läuft bis jetzt ohne Probleme.

    Die andere Instanz ist auch Sonos hängen geblieben, wobei ich zu vorschnell war und Befehle von der großen FHEM-Instanz über die Kommandozeile (qx Befehl) an die Sonos-Instanz sende.

    Die Erkenntnisse bzgl. dem Hängen in Verbindung mit dem HM-LAN-Adapter sind in diesem Thread im Homenatic-Bereich.

    http://forum.fhem.de/index.php/topic,20071.0.html (http://forum.fhem.de/index.php/topic,20071.0.html)

    Viele Grüße,
    Merhan
    Titel: Antw:Sonos steuern
    Beitrag von: herman am 18 Februar 2014, 09:56:11
    So ich bin soweit mit der Fehlersuche fertig.

    Das Problem war wie folgt:

    Mein FHEM ist zusammen mit den Sonoskomponenten recht umfangreich, somit legt ein XMLLIST mein FHEM von extern aufgerufen ca. Sekunden lahm. Da ich die App FHEMobile seit kurzem nutze, die auch im Hintergrund zyklisch die XMLLIST abruft hing mein FHEM zyklisch um 10 Sekunden. Somit stieg mein HMLAN aus und das System hing.

    Zur Fehlersuche für solche Fälle kann ich http://forum.fhem.de/index.php/topic,16347.0.html (http://forum.fhem.de/index.php/topic,16347.0.html) empfehlen.

    Grundsätzlich müssten hier XMLLIST und FEHMobile überarbeitet werden.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 19 Februar 2014, 20:24:24
    Hallo,
    mal ein kurzes Feedback von mir!!
    Seit dem letzten Update des Sonos-Moduls habe ich keinen Absturz mehr gehabt.... Läuft alles stabil!

    Besten Dank für die tolle Arbeit,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 21 Februar 2014, 14:09:38
    Hallo Reinerlein,

    mein FHEM wird gerade etwas debugged. Beim Sonos pm Modul bekomme ich ab und an folgende Fehler:
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4294.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4313.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4309.


    Meine definitionen in der FHEM sehen folgendermaßen aus:
    define Sonos_Wohnzimmer SONOSPLAYER RINCON_XXXXXXXXXXXXXXXXX_MR
    attr Sonos_Wohnzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Wohnzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Wohnzimmer generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Wohnzimmer getAlarms 1
    attr Sonos_Wohnzimmer group Sonos
    attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-ZP90.png
    attr Sonos_Wohnzimmer minVolume 0
    attr Sonos_Wohnzimmer model Sonos_ZP90
    attr Sonos_Wohnzimmer room Wohnzimmer
    attr Sonos_Wohnzimmer stateVariable InfoSummarize2
    attr Sonos_Wohnzimmer webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT

    define AlbumArt_Wohnzimmer weblink image /fhem/icons/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt
    attr AlbumArt_Wohnzimmer group Sonos
    attr AlbumArt_Wohnzimmer htmlattr width='200'
    attr AlbumArt_Wohnzimmer room Wohnzimmer

    define Sonos SONOS localhost:4711 30
    attr Sonos room _Devices


    Hast du eine Idee was das sein könnte? Wenn ich bei mir die fhem.cfg editiere und speichere stürtzt fhem ab, schau ich mir mit htop die Prozesse an, bleiben zwei Sonos Prozesse übrig:

    PID USER      PRI  NI  VIRT   RES   SHR S CPU% MEM%   TIME+  Command   
    3148 pi         20   0 42832 36872  3944 S  0.0  8.2  1:21.64 /usr/bin/perl ./f
    3166 fhem     20   0 55608 35412  2504 S  0.0  7.9  0:04.92 perl FHEM/00_SONO
    31644 fhem   20   0 55608 35412  2504 S  0.0  7.9  3:49.39 perl FHEM/00_SONO


    Danke

    P.S. Laut update thirdparty http://fhem.lmsoft.de/sonos sonos check hab ich die aktuelle Version (vom 8.1.2014 ist meine Datei, könnte der Tag des installierens gewesen sein)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Februar 2014, 22:24:58
    Hallo strauch,

    bitte aktualisier mal auf die Developer-Version. Dann können wir auch besser unterscheiden, ob eines der Probleme überhaupt noch akut ist (und wenn nicht, kann ich wenigstens die Zeilennummern zuordnen :-)

    Die aktuelle Dev-Version läuft mittlerweile allgemein wohl ziemlich stabil, sodass zum Einen die Hoffnung besteht, daß dein Problem bereits beseitigt ist, und zum Anderen wird die Version dann wohl auch demnächst wieder mal offiziell "released" werden...


    update thirdparty http://fhem.lmsoft.de/sonos_dev sonos


    Aber was mir auf jeden Fall in dem geschriebenen Config-Auszug auffällt: Du solltest auf jeden Fall erst das Sonos-Device definieren, und dann die Sonosplayer dazu...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 23 Februar 2014, 11:39:12
    Hallo zusammen,

    bevor ich mit dem Experimentieren mit FHEM im Allgemeinen und Sonos im Speziellen beginne und mir einen Raspberry Pi und ein Cul anschaffe, wäre es schön, wenn ich von Euch die Bestätigung bekäme, dass ich damit die gewünschte Lösung erzielen könnte.
    Ich möchte über einen Funktaster (besitze schon den FS20 S8 für die Steuerung von Funksteckdosen) auf beispielsweise einem Sonos Play:1 einen vorher festgelegten Radiosender starten (oder vielleicht sogar Sender 1 bei Taste 1 und Sender 2 bei Taste 2 etc.)
    Ist das so umsetzbar?
    Danke im voraus.
    Gruß
    Capeghost
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 23 Februar 2014, 11:49:20
    Hallo Capeghost,
    Dein Vorhaben ist gut umsetzbar. Du findest hier im Beitrag auch schon Codebeispiele. Wenn Du aber noch nichts bestellt hast, rate ich Dir zu einer etwas performanteren Serverhardware - nimm einen BBB oder Cubieboard2. Da hast Du auf Dauer mehr Freunde mit, besonders bei SONOS + vielen weiteren FHEM Komponenten.
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 23 Februar 2014, 12:22:24
    Danke für die schnelle Antwort.
    Habe mir gerade noch mal die C't zu dem Thema rausgesucht.
    D.h. wenn ich das Board nur als Steuerzentrale nutzen möchte, würde wohl dann alternativ das BBB reichen. Für NAS, Router, Media Center, die BBB ja scheinbar nicht so gut unterstützt, habe ich schon andere Lösungen im Einsatz. Und die von Reinerlein angeboten Skripte laufen darauf dann genauso gut, wie auf einem Pi?
    Und wird auf dem BBB dann am Anfang das gleiche Image wie auf einem Pi installiert?
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 23 Februar 2014, 12:36:12
    Der BBB ist im server Einsatz einfach etwas performanter - er hat auch Vorteile bzgl. USB und Netzwerk Handling. Vom Prinzip her wird das gleiche whezzy verwendet, nur mit einem emc - flasher.
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 23 Februar 2014, 16:50:51
    Hallo Reinerlein,

    auch meine Tests sind sehr erfreulich, hatte seither keinen einzigen Absturz mehr und nie mehr 100% CPU auslastung!!!

    Das einzige, was ich immer wieder vorfinde ist das hier:
    2014.02.19 09:49:41 3: SONOS1: Temporary playing of "\\192.168.178.69\SonosSpeak/RINCON_000E5836AAAC01400_MR_Speak_5355964793135989a3a85262706341f5516a1f4d.mp3" must wait, because another playing is in work...

    Das dauert manchmal nur ein paar Minuten bis es dann doch gespielt wird, manchmal wird es dann NIE gespielt?
    Hängt hier irgendeine Info fest? Der Sonos-Controller zeigt nicht an, dass irgendetwas abgespielt werden soll, man hört während dieser Zeit auch nie!!
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 23 Februar 2014, 17:39:25
    Hallo,
    ich habe noch mal eine Frage zur Config:

    # Play 1, Bad
    define Sonos_Bad SONOSPLAYER RINCON_000E58C4F42E01400_MR
    attr Sonos_Bad generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Bad generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Bad generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Bad getAlarms 1
    attr Sonos_Bad group Bad
    attr Sonos_Bad icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Bad minVolume 0
    attr Sonos_Bad model Sonos_S1
    attr Sonos_Bad room Multimedia
    attr Sonos_Bad stateVariable InfoSummarize2
    attr Sonos_Bad webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_Bad weblink image /fhem/icons/SONOSPLAYER/Sonos_Bad_AlbumArt
    attr AlbumArt_Bad group Bad
    attr AlbumArt_Bad htmlattr width='200'
    attr AlbumArt_Bad room Multimedia
    #


    Was ist hier unbedingt erforderlich, damit die Sonos-Device mit fhem vernünftig laufen. Die Logos und die Button kann man sich sicherlich klemmen.

    Hintergrund.
    ich möchte alle Player in einer Gruppe untereinander gelistet haben. Was wäre die Minimalkonfiguration in der fhem.cfg? Oder baut das Modul das mit dem autodetect immer wieder komplett auf?

    Danke und Gruß,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 23 Februar 2014, 18:25:20
    Ich habe die config so zusammengestrichen wie Du es möchtest, um anstatt der Bedientasten die Fernbedienung dort anzuzeigen. Das änderst Du ein mal und dann bleibt es so. Das Logo habe ich in der Größe angepasst, alles für die Anzeige auf dem iPad optimiert. Kannst ja zum Probieren die Zeilen mit # auskommentieren vor dem endgültigen Löschen.
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 23 Februar 2014, 19:36:31
    @det.
    Ich habe mal mitbekommen das Du Songs auf einem separatem Raspi betreibst...
    Kannst DU mal kurz erklären wie die Konfiguration funktioniert?
    Hast Du dazu FHEM2FHEM eingerichtet? Oder sprichst Du den Uten Raspi anders an?
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 23 Februar 2014, 21:09:43
    Zitat von: Reinerlein am 22 Februar 2014, 22:24:58


    update thirdparty http://fhem.lmsoft.de/sonos_dev sonos


    Aber was mir auf jeden Fall in dem geschriebenen Config-Auszug auffällt: Du solltest auf jeden Fall erst das Sonos-Device definieren, und dann die Sonosplayer dazu...

    Grüße
    Reiner

    Hi Reiner,

    danke das habe ich gemacht, schaut bisher gut aus, kein Fehler aufgelaufen. Jetzt werde ich mal beobachten.

    Grüße

    strauch
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 23 Februar 2014, 22:26:50
    Hallo der-Lolo,
    nicht mehr ganz richtig - ich hatte am Anfang SONOS auf einem extra RPI, da das Gespann recht oft abgeschmiert ist. Dank Reinerleins fantastischer Arbeit läuft es inzwischen perfekt. Habe als es dann zu keinerlei Abstürzen mehr kam, meine FHEM Weboberfläche aber bis zu 30s brauchte um Neue Räume anzuzeigen mit Plots und Schaltern auf schnellere Hardware umgestellt. Damit ist SONOS mit auf das Produktivsystem umgezogen auf ein Cubieboard2 mit 60gb SSD. Was soll ich sagen, das löst alle Probleme auf einmal! Steuern kann ich das Modul über ein Fritzfone, das auf einer FB7390 über FHEM2FHEM an das Cubieboard2 gekoppelt ist. Wenn Du paar Zeilen Code brauchst - bitte per pm
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 23 Februar 2014, 22:49:15
    Diese Variante überlege ich auch schon seit einer Weile...
    Hast du mal den Stromverbrauch des Cubieboards gemessen? Hast du dazu ein Gehäuse das auch die Hd aufnimmt?

    Gesendet von meinem Xperia Pro mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: det. am 23 Februar 2014, 23:10:55
    Hallo JoeALLb,
    Nein hab ich nicht gemacht, habe meine komplette 5V Stromversorgung an einem Hutschienentrafo von Pollin mit 10A Max regelbar und eine USB Selbstbauverteilung - Google mal hier im Forum danach. Da kommt es nicht auf paar mA an.
    Als Gehäuse habe ich die Schaumstoff Umverpackung genutzt und an den Anschlüssen ausgeschnitten. Die SSD liegt da oben drauf. Das Zeugs steht bei mir im hausanschlussraum - da stört keinen die Optik.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 24 Februar 2014, 09:08:29
    Hallo,
    brauche noch einmal Hilfe zu den ButtonEvents.
    Ich möchte beim Drücken der Mute Taste an einem Player, dass die Lautstärke auf 10 eingestellt wird. Das klappt aber nicht. Entweder funzt das nicht mehr, oder ich mache einen Gedankenfehler.....

    attr Sonos_Schlafzimmer buttonEvents 1:M # einmal die Mute Taste drücken
    define BE_Schlafzimmer notify Sonos_Schlafzimmer:ButtonEvent:.M\
    set Sonos_Schlafzimmer Volume 10


    Danke,
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 24 Februar 2014, 10:15:22
    Zitat von: det. am 23 Februar 2014, 23:10:55
    Da kommt es nicht auf paar mA an.
    @Det. Danke, mir schon. Ich würde diese Info für die Entscheidung verwenden, ob meine entgültiges System auf einem BBB oder dem Cubieboard integriert wird.
    Das Cubieboard hat halt mehr speicher unf den SATA-Anschluss, den ich zwar nett finde, aber kein Must-have für mich ist.
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 24 Februar 2014, 17:53:27
    Ah, gut das es Signaturen gibt - @JoeALLb kannst du mir mal erklären wie Sonos auf einem 2tem Raspi eingerichtet wird? Kann ich dann über meine eigentlich Installation steuern?
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 24 Februar 2014, 18:23:55
    Hallo JoeALLb,
    kann mich nicht wirklich entscheiden, den Produktiv FHEM Server wegen einer Strommessung runter zu fahren - sorry -. Die wäre auch kaum allgemein aussagekräftig, kommt immer drauf an, was noch so dran hängt und mit versorgt wird. Bei mir 2x OWX Adapter über USB, CUL, RFXTRX, SSD, Bluetooth Stick.
    Das Ding ist mit 2A maximal Stromverbrauch angegeben.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Februar 2014, 21:15:09
    Hallo djhans,

    das Mute-Event wird leider seit der Sonos Firmware V4.2 nicht mehr ausgelöst, da der Button seitdem mit Play/Pause/Next belegt wurde.
    Meine Eingabe bei Sonos dahingehend, dass ich es unmöglich und absolut Benutzerunfreundlich finde, wenn ein Icon (das Mute-Symbol auf dem Button) mit einer völlig anderen Funktion belegt wird, wurde leider im Großen und Ganzen ignoriert...

    Also: Dieser Button ist für eigene Steuerungen mittlerweile unbrauchbar geworden. Ich habe das nur noch als "alte" Lösung drinbehalten, aber schon den Wiki-Eintrag dahingehend vorbereitet/angepasst. Das kommt dann mit dem nächsten Release dort rein...
    Natürlich kann man immer noch was mit den Lautstärke-Buttons und dem Kopfhöhreranschluss werden.

    Zu deiner Frage bzgl. der Config:
    Du kannst fast alles entfernen. Du solltest nur berücksichtigen, dass aus Perfomancegründen diverse Events nur empfangen werden, wenn folgende dieser Standard-Attribute gesetzt wurden:
    - getAlarms: Nur bei gesetzter "1" werden Alarme und Änderungen daran an das Modul gemeldet und die entsprechenden Readings aktualisiert
    - minVolume (oder maxVolume, minHeadphoneVolume, maxHeadphoneVolume): Wenn eines dieser Attribute gesetzt wurde, werden Lautstärkeaktualsierungen (sowie Mute u.ä.) an das Modul gemeldet und die entsprechenden Readings aktualisiert

    Der Autodetect baut nur Player, die noch gar nicht als Device definiert worden sind, auf. Das bedeutet, dass bestehende niemals verändert werden...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 24 Februar 2014, 21:28:49
    Hallo Reiner,
    danke. Ich hatte allerdings gehofft, dass das Event trotzdem ausgelöst wird. Muss ich mir etwas anderes Überlegen....das über VolUp/VolDown zu steuern, macht m.E. keinen Sinn....Schade!

    Beim Play 1 hat Sonos das Symbol der Mute-Taste geändert. Ich vermute mal, man kann seinen Play 3/5 nachrüsten  ;D !! Ich frage mal bei Sonos nach!
    Christian
    Titel: Sonos steuern
    Beitrag von: snoop am 25 Februar 2014, 18:18:34
    Hallo Reiner,

    zunächst vielen Dank für die neue Version, bisher läuft es bei mir sehr stabil.

    Ich hätte eine kleine Anregung: Magst du für die "Speak" (Basierend auf Google Translate) Funktion noch die Prüfung auf 100 Zeichen einbauen (das hat mich fast wahnsinnig gemacht bis ich das herausgefunden habe das es auf 100 Zeichen begrenzt ist -> ja, trotz des Eintrags in WIKI ;o) )?

    Das hat für mich pers. keine Prio und ist einen reine kosmetische Anmerkung.

    Ferner habe ich noch eine Frage, kann ich irgendwie Speak mit PlayURITemp kombinieren? Es wäre schön wenn Speak auch die Abspielparameter (Lautstärke, Titel, Position usw.) wiederherstellen würde. Die Routinen scheinen für die Funktion PlayURITemp zu existieren.

    Danke und Viele Grüße
    Arthur
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Februar 2014, 19:36:08
    Hi Arthur,

    wenn die Grenze wirklich bei 100 Zeichen liegt, kann ich das gerne einbauen. Mir erschien die Grenze in meinen Tests eher in einer Dauer der Aussprache anstatt in der Anzahl der Zeichen begründet (besonders bei meinen Tests in verschiedenen Sprachen).
    Und ich wollte das eigentlich nicht künstlich einschränken (auch falls Google das mal erweitern sollte)... Vielleicht kann ich aber auch einfach eine Warnung ausgeben, dass man da mal drüber nachdenken soll, wenn etwas nicht funktioniert :-)

    Zu dem PlayURITemp: Das ist intern genau das, was verwendet wird. Zunächst wird in irgendeiner Form die Sprachdatei erzeugt (auf die diversen möglichen Arten) und im Dateisystem abgelegt (oder halt wiederverwendet), und dann an die Routine PlayURITemp übergeben, die zunächst die aktuellen Zustände sichert, und dann die Wiedergabe der Sprachdatei anstößt...

    Klappt bei dir das Wiederherstellen nicht?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: snoop am 25 Februar 2014, 20:18:34
    Hallo Reiner,

    zum Thema 100 Zeichen, ein möglicher Check "Fehler 404 Not found (meine ich)" && $zeichen > 100 = Speak: "Fehler: Mögliche Ursache Anzahl der Zeichen > 100" od so?
    Wäre jedenfalls hilfreich - ich habe es auch erst in den Logs gesehen, dass ein http Fehler aufgetreten ist.

    Zum Thema Restor -> ok, mein Fehler.
    Was tue ich:
    MyUtils:
    # Do it
    fhem "set Sonos Groups [Sonos_Wohnzimmer, Sonos_Kueche]";
    fhem "set Sonos_Wohnzimmer VolumeSave";
    fhem "set Sonos_Wohnzimmer Speak 55 de $ansage";
    fhem "set Sonos_Wohnzimmer Speak 55 de $ansage2";
    fhem "set Sonos_Wohnzimmer VolumeRestore";

    Ich dachte die Werte werden nicht restored - doch sie werden jeodch die Volume Werte entsprechen nicht mehr den urspünglichen Werten. Spricht, die Lautstärke ist weit drunter - hat natürlich den Effekt, dass man nichts mehr hört -> das war auch mein Fehler (sich auf das Gehör zu verlassen.)

    Lösungsansatz: Ich muss nur noch den Differenzwert Volume vorher - nacher ermitteln, dann fhem "set Sonos_Wohnzimmer VolumeRestore +x" x= Differenz.

    Sorry, über die sperrigen Informationen - ich Teste mal und melde mich mit ein paar Zahlen wieder.

    Gruß
    Arthur


    Titel: Antw:Sonos steuern
    Beitrag von: Will am 25 Februar 2014, 20:45:56
    Seit update vorgestern (fhem und sonos) lasst sich sonos nicht mehr über fhem ansprechen.....ich habe keine Logs. Hat jemand aehnliche Probleme?

    Sent from my Nexus 7 using Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: snoop am 25 Februar 2014, 21:25:50
    Hallo Reiner,

    so ein paar sekunden frei geschaufelt, sorry - ich protokolliere einfach mal (Ich hoffe man kann es nachvollziehen).
    So hier der Test(s):

    - SONOS P5 und P3
    - Group P3 und P3 (P5:Master)
    - Volume: 20 (sowohl P5 als auch P3)
    - Ausgabe: Line-In.

    Idee: Sonos-speak in der Lautstärke 55 und erneute Wiedergabe bei 20
    # Do it
    fhem "set Sonos Groups [Sonos_Wohnzimmer, Sonos_Kueche]";
    fhem "set Sonos_Wohnzimmer VolumeSave";
    fhem "set Sonos_Wohnzimmer Speak 55 de $ansage";
    fhem "set Sonos_Wohnzimmer Speak 55 de $ansage2";
    fhem "set Sonos_Wohnzimmer VolumeRestore";

    Result:
    - SONOS P5 und P3
    - Group P5 und P3 (P5:Master)
    - P3 Volume: 35 (Diff: +15)
    - P3 VolumeStore: 11 (Diff: -9)
    - P5 Volume: 15 (Diff: -5)
    - P5 VolumeStore: 22 (Diff: +2)
    - Ausgabe: Line-In.

    Es kommt mir vor als hätten wir das Thema schon mal ;o).

    Ok, zurück zum Thema.

    Also schauen wir uns mal die Volume Werte an:


    - P3 Volume P3: 35 (Diff: +15)
    - P3 VolumeStore P3: 11 (Diff: -9)
    - P5 Volume P5: 15 (Diff: -5)
    - P5 VolumeStore: 22 (Diff: +2)


    Fragen:
    - Die V-Differenz zwischen P3 und P5 sind seltsam - ich hätte sie gleiche Werte erwartet. Warum einmal -15 und einmal -5?
    - Die V-Differenz bei Restore ist auch unterschiedlich.

    Also bisher, für mich, kein Muster erkennbar.

    Ok, zweiter Test (ohne VolumeSave und VolumeRestore):

    - SONOS P5 und P3
    - Group P5 und P3 (P5:Master)
    - Volume: 20 (sowohl P5 als auch P3)
    - Ausgabe: Line-In.

    Idee: Sonos-speak in der Lautstärke 55 und erneute Wiedergabe bei 20
    # Do it
    fhem "set Sonos Groups [Sonos_Wohnzimmer, Sonos_Kueche]";
    fhem "set Sonos_Wohnzimmer Speak 55 de $ansage";

    Result:
    - SONOS P5 und P3
    - Group P5 und P3 (P5:Master)
    - P3 Volume: 18 (Diff: -2)
    - P3 VolumeStore: 11 (Diff: -9)
    - P5 Volume: 22 (Diff: +2)
    - P5 VolumeStore: 22 (Diff: +2)


    Fragen:
    - Die V-Differenz zwischen P3 und P5 sind seltsam - ich hätte sie gleiche Werte erwartet. Warum einmal -2 und einmal +2?
    - Die V-Differenz bei Restore ist auch unterschiedlich.


    So, ich erkenne eine seltsamme Dynamik die ich mir nicht erklären kann.

    Ok, mit einem Diff + bei Restore wird das wohl nicht funktionieren - vielleicht ist es ein timing Problem?
    Reiner, dafür geht die Welt bei mir nicht unter, das möchte ich noch betonen, falls du jedoch mal eine Herausforderung suchst, dann kannst du das ja mal entziffern.

    Nur so am Rande, hab eigentlich nur ich das Problem, oder nutzt niemand die praktische speak Funktion?
    Viele Grüße
    Arthur
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Februar 2014, 21:51:44
    Hallo,

    @Will: So ohne Logs ist das jetzt etwas schwierig. Wenigstens einen Ansatz bräuchte man...

    @Arthur: Ja, das Thema mit Lautstärken bei Durchsagen bei Gruppen hatten wir schon mal... Ich werde da nochmal etwas in Forschung gehen. Mit zwei Teilnehmern kann ich das auch selber nachstellen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: snoop am 25 Februar 2014, 22:44:34
    Hallo Reiner,
    danke, wie bereits geschrieben, das hat "keine" Prio und nur wenn es die Zeit zulässt -> kein Stress.
    Vielen Dank.
    Grüße
    Arthur
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 26 Februar 2014, 09:48:16
    Zitat von: Reinerlein am 22 Februar 2014, 22:24:58

    update thirdparty http://fhem.lmsoft.de/sonos_dev sonos


    Also Sonos ist ja mit der DEV Version sehr gesprächig, was mir noch an Meldungen auffällt:

    Use of uninitialized value in concatenation (.) or string at FHEM/00_SONOS.pm line 1318, <$client> line 4.


    Und wenn mein Sonos aus ist, kommt in 30min Rythmus:
    Renewal of subscription failed with error: 500 Can't connect to 192.168.200.60:1400 (No route to host) at FHEM/00_SONOS.pm line 1948 thread 1
    2014.02.25 23:59:17 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_000E5823915201400_MR" has expired and is now renewed.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.200.60:1400 (No route to host) at FHEM/00_SONOS.pm line 1953 thread 1
    2014.02.25 23:59:20 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_000E5823915201400_MR" has expired and is now renewed.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.200.60:1400 (No route to host) at FHEM/00_SONOS.pm line 1958 thread 1
    2014.02.25 23:59:23 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_000E5823915201400_MR" has expired and is now renewed.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.200.60:1400 (No route to host) at FHEM/00_SONOS.pm line 1963 thread 1
    2014.02.25 23:59:26 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_000E5823915201400_MR" has expired and is now renewed.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.200.60:1400 (No route to host) at FHEM/00_SONOS.pm line 1968 thread 1
    2014.02.25 23:59:29 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_000E5823915201400_MR" has expired and is now renewed.


    Ist jetzt nicht unbedingt ein Fehler.
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 26 Februar 2014, 10:04:21
    Wie hoch ist bei Dir die CPU-Last?
    Schaltest Du SONOS-Geräte manchmal ab?

    Zur Info an Reiner: Ich habe diesen Fehler schon länger nicht mehr, aber ich "bastle" derzeit auch nichts
    herum an meinem System.
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 26 Februar 2014, 10:13:23
    Zitat von: JoeALLb am 26 Februar 2014, 10:04:21
    Wie hoch ist bei Dir die CPU-Last?

    Auf meinem Rasbpi 0.0 wenn ich mit htop schaue. Springt mal kurz auf 1.0 oder 3.0% rauf (also 00_SONOS.PM)

    Zitat von: JoeALLb am 26 Februar 2014, 10:04:21Schaltest Du SONOS-Geräte manchmal ab?

    Ja hab ein Watchdog laufen, der die Steckdosenleisten abschaltet wenn Sonos 30min nichts abgespielt hat.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Februar 2014, 12:10:07
    Hi strauch,

    da scheint die Abwesenheitserkennung nicht sauber zu greifen. Ab Loglevel 3 sieht man im Log des SubProzesses, wenn der Thread einen abwesenden Player erkennt.
    Steht beim Abschalten deiner Steckdosen dazu etwas im Log? Dauert insgesamt 3*Pingintervall, da die ersten beiden ungültigen Pings als Toleranz ignoriert werden (da steht dann was von mercilevel :-)
    Ansonsten kannst du mal am PingType rumdrehen, damit die Erkennung sauber läuft.

    Wenn die Abwesenheit sauber erkannt wird (beim Player wird danach das Reading "presence" als "disappeared" geführt), sollte ein Auffrischen der Subscriptions für diesen Player auch nicht mehr erfolgen, und somit auch keinen Fehler mehr verursachen (höchstens im Überschneidungsfall bis zur Endgültigen Feststellung auf "disappeared" einmal noch, da es nebenläufige Prozesse sind)...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 26 Februar 2014, 12:20:08
    Also in meinem Logfile steht dann z.B.:
    2014.02.25 09:35:12 3: Watchdog watchdog_wz_Sonos_ausschalten triggered
    2014.02.25 09:35:12 3: FS20 set wz_Sonos off


    mehr nicht. Was mir aber auffällt. Mein Sonos wird morgens um 7 Uhr gestartet und läuft dann 2h (FS20 Steckdose mit on-for-timer). In den Readings vom Sonos Wohnzimmer steht:
    presence

    appeared

    2014-02-26 07:00:36


    Sonos ist gerade definitiv aus, wird aber nicht erkannt. Und in meiner Logdateien landen wieder diese 5 Zeilen alle 30min. Also er wird nicht auf disapeared "gestellt".

    Den Rest deiner Infos muss ich gedanklich erst noch verarbeiten :-)
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 26 Februar 2014, 12:27:05
    Ich hab Pingtype auf ICMP gesetzt, wobei ich vermute, dass das die Standardeinstellung ist oder?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Februar 2014, 12:53:07
    Hi strauch,

    also, die Standardeinstellung für den PingType ist "syn", da man das ohne Root-Rechte machen darf/kann. Leider funktioniert es nicht immer zuverlässig (bei mir z.B. speichert mein Switch die MAC-Adressen an seinen Ports sehr lange, sodass auch sehr lange noch Syn einen Erfolg liefert)...

    Wenn du Fhem nicht als root laufen lässt, haben wir den Übeltäter. "ICMP" geht nur mit Root-Rechten. dazu müsste dann aber auch alle PingIntervall-Sekunden im Log etwas stehen...

    Meine persönliche Empfehlung ist, Fhem als root laufen zu lassen. Manche haben damit ein Problem, da muss man dann mit dem PingType für sich eine gangbare Lösung finden...

    Das "appeared" wird durch den UPnP-Erkennungsmechanismus gesetzt, und hat nichts mit dem PingType zu tun. Leider melden sich die Geräte nicht mehr über diesen Mechanismus ab (was prinzipiell im UPnP-Standard vorgesehen wäre, von Sonos aber nicht durchgeführt wird), wenn man sie ausschaltet:-) Daher diese Verrenkungen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 26 Februar 2014, 15:23:25
    Hallo zusammen,
    ich habe noch einmal eine Frage zur Visualisierung der Sonos-Devices
    Ich habe Player als Stereopaar und Player in Gruppen zusammengefasst. Die Stereopaare sind fix und ändern sich nicht. Die Gruppen sind dynamisch.  Nun möchte ich das in fhem -ähnlich wie beim Sonos Controller unter "Räume"- visualisieren.  Das heisst, ich muss irgendwie den "RF" eines Stereopaares "unsichtbar" machen. Über die Gruppenfunktion von fhem könnte man dann die Sonos-Gruppen visualisieren.

    Hat jemand eine Idee, wie man das am Besten machen könnte, oder ist das alles quatsch!

    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Februar 2014, 15:49:48
    Hi Christian,

    naja, das sollte nicht so schwer sein. Einfach einem anderen Raum zuordnen, und weg ist er, oder?

    Steuern brauchst du sowieso immer nur den Master...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 26 Februar 2014, 17:50:42
    Hi,
    ja das versuche ich mal. Aber wo sind eigentlich die Icons versteckt? Da ich dn SUB im Wohnzimmer betreibe, würde ich ihm gerne auch das SUB-Icon zuweisen. Also den Connect:Amp und den SUB.
    Das muss man dann wahrscheinlich als ein Icon abspeichern. Finde es in fhem aber nicht..

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Februar 2014, 18:33:53
    Hi Christian,

    also die Icons werden vom Modul vom Player heruntergeladen, und im Verzeichnis "www/images/default/" lokal abgelegt. Dort kannst du ja mal nachschauen...

    Aber ich verstehe die Frage nicht: Der Sub hat doch das Icon für den Sub erhalten, oder?
    Und das der auf Playing steht, ist normal, da er ja einer Gruppe angehört, und damit nicht selber weiss, ob etwas abgespielt wird (er spielt immer, meistens wohl sehr leise :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 26 Februar 2014, 18:45:37
    Hi Reiner,
    ich wollte den Sub halt wegen der "Playing" Sache gar nicht in der Visualisierung anzeigen, sondern einfach dem Connect ein anderes Symbol geben, damit man erkennen kann, dass hier der SUB eingebunden ist....bei dem Stereo-Paar würde ich dann einen "doppelten Play1" als Symbol zuweisen. Oder kann man den Zustand "PAYING" "STOPPED" etc ausbelden?

    Das mit der Visualisierung der Gruppe in fhem ist mir noch nicht klar! Ich kann zwar Räume und Gruppen in fhem bilden und die Sonos Devices da reinpacken, aber ich müsste das eigentlich über ein Event steuern. Wenn man über den Controller eine Gruppe bildet oder auflöst, dann muss fhem halt die Räume und Gruppen entsprechend ändern.

    Aber auf welches Ereignis muss ich reagieren?

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Februar 2014, 19:07:53
    Hi Christian,

    ich setze in das Reading "state" die Variable, die mit dem Attribut "stateVariable" gesetzt wurde. Dabei ist "TransportState" der Standard, wenn nichts angegeben wurde. Anschließend überträgt Fhem den Wert von "state" nach "STATE", was dann wiederrum auf der Oberfläche angezeigt wird.
    Du kannst da aber mal versuchen, ob es mit "stateFormat" ganz leerzumachen geht, das wurde als neue Fhem-Möglichkeit geschaffen, als ich das andere schon drin hatte :-)

    Gruppenänderungen kannst du durch Reagieren auf "ZoneGroupState" am zentralen Sonos-Device erkennen.
    Vielleicht geht es aber über Fhem-Erweiterungen wie Dashboard besser, da es ja schließlich ein Reading gibt, welches den Gruppenraumnamen angibt ("ZoneGroupname" am Sonosplayer-Device).

    Spannende Sache :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 26 Februar 2014, 20:46:01
    Hallo Reiner,
    habe ein dummy device mit Namen "Format" testweise angelegt und mit
    attr Format stateFormat {" "}
    geschafft, dass in STATE nix mehr steht. Geht aber offenbar nur mit perl-Code, da sonst eine 1 zurückgegeben wird.

    Allerdings kommt dann bei:
    attr Sonos_Wohnzimmer_SW stateFormat {" "}
    fogender Fehler:
    Sonos_Wohnzimmer_SW: unknown attribute stateFormat. Type 'attr Sonos_Wohnzimmer_SW ?' for a detailed list.
    scheint, als würde das stateFormat mit dem Sonos-Modul nicht funzen...

    Nachtrag:
    ..ich kann irgendwie noch nicht erkennen, wie ich auf ZoneGroupState reagieren soll. welcher Parameter ändert sich bei der Gruppenbildung bzw. Auflösung.

    Christian



    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Februar 2014, 21:42:22
    Hi Christian,

    das ist komisch. Unter meiner Fhem-Testumgebung gibt es das Attribut, unter meinem Pi wird es nicht angeboten.
    Das ist über die zentral zur Verfügung gestellte Variable $readingFnAttributes bereitgestellt... da scheint es einen Unterschied bei der Variablenverarbeitung/Importierung zwischen den beiden Plattformen zu geben.

    Ich werde das mal versuchen zu finden. Irgendwelche Tipps?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 26 Februar 2014, 22:28:55
    Reiner,
    sorry, da kann ich leider keine Tipps geben! So fit bin ich noch lange nicht in fhem. Wie gesagt, mit einem dummy device geht es auch auf einem pi....

    @ all:
    Vielleicht hat hier jemand einen Tipp für mich:
    Ich wollte neben meiner Visualisierung ein Icon anbieten, dass zwischen Stop und Play umschaltet. Wenn ich das mit set Sonos_Wohnzimmer Play bzw. Stop antrigger ändert sich das Icon auch, aber beim Klicken auf das Symbol passiert nix.
    Habe mir das bei einer Lampe abgeguckt und versucht auf den Player zu übertragen

    attr devStateIcon Sonos_Wohnzimmer  STOPPED:FS20.off:Stop PLAYING:FS20.on:Play
    Danke,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 26 Februar 2014, 22:34:51
    Ist das nicht falschrum? Wenn du stopped als on zeigst dann muss du doch dann Play senden und nicht wenn der State eh schon Play ist... Oder?
    Soweit ich das devStateIcon verstehe kommt zuerst der aktive State bei dem das Icon gezeigt werden soll, dann das Icon, dann der Befehl der ausgeführt werden soll beim Klick.
    Und reicht ein einfaches Play oder musst du da nicht noch weitere Parameter geben?

    @Reinerlein:
    Sonos spannt ja ein eigenes WLAN Netz auf um die Player miteinander kommunizieren zu lassen...
    Mit Android Geräten ist es über die Sonos app möglich sich in dieses Netzwerk einzuloggen.
    Wäre es vielleicht auch möglich einen Raspi in dieses Netz zu bringen? So könnte die Kommunikation mit Sonos in diesem autarkem Netz stattfinden...
    Hintergrund ist: ich schalte hier einiges morgens um 6 z.b. Die Nachtabsenkung der Heizkörper aus - Max verursacht dann wohl einiges an Traffic - wenn ich um 6 Uhr auch meinen play3 im Bad anschalte schafft er es nicht sich im Sonos Netz anzumelden, wenn ich aber um 6:05 anschalte gelingt es meistens...
    Wenn nun ein raspi per WLAN im Sonos Netz wäre und dort mit den Playern kommunizieren würde, könnte der raspi ja per lankabel ins heimnetz und von dort empfangene Befehle ins Sonos Netz bringen.
    Was denkst du? Gibt es da einige Möglichkeit?
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 27 Februar 2014, 10:21:39
    Hi der-Lolo,
    yep! Habe es selber noch gemerkt!
    STOPPED:FS20.off:Play PLAYING:FS20.on:Stop
    so ist es richtg!

    Zum anderen Thema:
    ich habe nicht viel Ahnung von fhem, aber beobachte auch, dass die Sonos-Module den Pi schon ziemlich beschäftigen. Ich überlege deshalb einen eingenen Pi (oder BeagleBone )mit fhem nur für Sonos zu nehmen. Zumal ich noch plane weitere Sonos-Komponenten hinzuzufügen. Wäre es nicht denkbar diese dann über fhem2fhem zu koppeln? Oder ist das eine Schnapsidee?
    Danke,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Februar 2014, 14:59:53
    Hallo der-Lolo,

    selbst wenn es da eine Möglichkeit gibt (ich meine über die Sonos-App erhält man ja die notwendigen Zugangsdaten), glaube ich nicht, dass es dein Problem löst. Die notwendigen Datenpakete für das synchronisieren und im Sonos-Netz anmelden, die so ein Player da sendet, sollten bei weitem nicht an der Kapazitätsgrenze liegen.
    Auch die UPnP-Pakete an die ganzen Controller sind nur sehr kleine Mengen, die mit ein paar Datenpaketen abgehandelt sind.

    Außerdem liegen die Max und HM-Sachen ja alle im 868MHz Band, und die WLAN-Sachen liegen davon weit weg, sodass eine reine Funkstörung eigentlich auch nicht der Grund sein sollte...

    Die Ursache dieses Problems muss woanders liegen...
    Leider kann ich dir da auch gerade keinen Tipp geben. Vielleicht mal eine Störung bei Sonos aufgeben. Die wollen dann immer so Diagnosedaten vom Zeitpunkt der Störung haben. Im Normalfall ist das immer der schwierige Part, da ein Problem meist nicht nachstellbar ist. In deinem Fall ist das ja anders...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 27 Februar 2014, 18:47:37
    Danke für deine Meinung Reinerlein, ich werd mal eine Anfrage bei Sonos starten. Mal schauen ob die was sagen können...
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 27 Februar 2014, 22:04:43
    Hallo,
    gibt es eigentlich eine Lösung für das Problem mit den Umlauten in currentSenderInfo?
    Das sieht bei mir immer so aus.

    Sie hören WDR 2 Trends mit Micha
    Gruß
    djhans

    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 27 Februar 2014, 23:02:41
    @der-Lolo

    Zugangsdaten kann man mit nem Android Gerät mit Root auslesen

    http://stadt-bremerhaven.de/sonos-lautsprecher-als-repeater-sonosnet-mit-anderen-geraeten-nutzen/


    Gruß Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 28 Februar 2014, 06:20:25
    Danke für den tip Christoph - ich werde es mal ausprobieren...
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 28 Februar 2014, 14:02:28
    Hallo,
    ich noch einmal: Ich habe immer noch keine richtige Idee, wie ich das Event für die Bildung einer Gruppe abfragen kann. Ich kriege zwar die Gruppenkonstellation ausgelesen, aber wie frage ich das Event beim erstellen un beim auflösen von Gruppen ab?

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 28 Februar 2014, 14:06:56
    Statusupdate:
    Mein FHEM ist stabil, solange ich kein Sonosgerät abstecke oder vom Strom trenne.
    Da ich das normalerweise nie mache, bin ich sehr zufrieden und glücklich, vielen Dank Reiner!!

    Letzte Woche habe ich einen Stromausfall dadurch bemerkt, dass sich meine Temperatursensoren nicht mehr stellen konnte.
    Nach einer Nachforschung habe ich gesehen, dass FHEM wieder hängte und ich die seltsamen Logeinträge von Sonos wieder erhalten habe.
    Ein kurzer Neustart und alles ist wieder seit Tagen gut!
    GGf. konfiguriere ich einen Watchdog um diesen Fehler zeitnah automatisiert zu beheben.


    der glückliche Joe
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 28 Februar 2014, 14:18:52
    Hallo Joeallb,
    Ich fragte schonmal ob du deine fhem Sonos Konfiguration mal ein bisschen erklären könntest, ich habe auch einen Raspi übrig und würde diesen gerne für Sonos nutzen...
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 28 Februar 2014, 14:26:20
    Hast Du eine konkrete Frage?
    Mein FHEM läuft auf einem RPI mit DBlog.
    Ich betreibe 5 Sonos-Geräte im Netz. Die Verbindung mit FHEM über das Modul läuft gut und eröffnet ganz neue Möglichkeiten.
    Beispielsweise habe ich einen Taster neben der Türe mit der Aufschrift "Alle Sonos an/aus". Ein Traum, wenn man dazu keinen Controller benötigt.
    Den Wecker steuer ich derzeit über einen Google-Kalender, der auch über fhem das Sonos konfiguriert.
    Somit kann ich jederzeit über den Kalender am Handy meinen Wecker umstellen, auch von der Arbeit aus.

    Nachtrag Edit 1:
    FHEm ich auch mit der Fritzbox verbunden und sstellt Sonos leider, wenn ein Anruf eingeht.
    Gleichzeitig wird "Telefon" als Durchsage auc 3 Sonosgeräten ausgegeben. Läuft zuverlässig,
    jedoch höre ich manchmal vor der Durchsage noch den am LineIN angehängten Fernseher....


    Weitere Fragen?!? ;-)
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 28 Februar 2014, 14:41:19
    Ja, es gibt ja zwei Möglichkeiten fhem2fhem zu betreiben, nutzt du den Log Modus? Reagierst also quasi gegenseitig auf die logfiles - in deinem fall ja db...
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 28 Februar 2014, 14:51:10
    Jetzt verstehe ich, warum du mich fragst ;-)
    Ich habe mittlerweile umgebaut: Mein Sonos war früher auf einem eighenen RPI, mittlerweile ist es am Produktivsystem.
    Ich habe damals fhem2fhem im Logmodus verwendet und alles hat gut funktioniert. Dabei werden ja auch events mit übertragen!
    Mit Logfiles selbst hat da snichts zu tun!
    Geloggt habe ich nur am Produktivsystem, am DEV-System habe ich einfach kein "define xx logfile" angelegt.

    Derzeit verwende ich fhem2fhem  nur zwischen der Fritzbox und dem RPI.
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 02 März 2014, 19:10:05
    Info2:
    Nach einem längeren Test kann ich nun definitiv sagen,
    dass der Mediaserver auf einer Synology mein Sonos-system stört!
    Immer mal wieder hatte ich seltsame Effekte wie zB das plötzliche Starten eines Players ohne manuellen Eingriff.

    Heute hatte ich entdeckt, dass mein Küchenplayer immer ein Lied wieder startet, nachdem ich etwas anderes gestoppt habe (beispielsweise den Radio).
    Danach war im Controller immer ein Lied eines Albums "geladen" und hat ein paar Sekunden zu spielen begonnen.

    In diesem Modul hab man "während der Probleme" nur bemerkt, dass ein Umschalten von einem Lied zum anderen besonders lange dauert!

    Wenn ihr also seltsame Probleme habt, überlegt auch, ob ihr eventuell andere Mediaserver im Netzt habt.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 04 März 2014, 17:09:44
    Hallo,
    ich noch einmal: Ich habe immer noch das Problem mit meinen Sonos-Gruppen. Ich weiß immer noch nicht, wie ich auf das Event reagieren muss, wenn eine Gruppe gebildet bzw. wieder aufgelöst wird, damit ich die Visualisierung in fhem antriggern kann...

    Gruß,
    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 März 2014, 18:52:44
    Hallo djhans,

    du brauchst doch nur ein Notify auf deinem zentralen Sonos-Device auf dem Reading "ZoneGroupState" zu machen:

    define zoneChange notify Sonos:ZoneGroupState { doChanges(); }
    Was in dem reading drinsteht, ist zunächst egal, da du in deinem Eventhandler einfach die Hilfsmethodik aufrufst:

    fhem("get Sonos Groups");
    dessen Ergebnis du allerdings noch sinnvoll zerlegen musst, und in Konfigurationsaufrufe für deine Oberflächenänderungen umwandeln musst...

    Wie du letzteres machst, kann ich dir leider auch nicht sagen, da musst du mal experimentieren...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 06 März 2014, 19:52:45
    Hallo,
    so, ich habe jetzt meine Ausstattung zusammen und mein SONOS lässt sich zumindest einwandfrei über das Web-Interface von FHEM steuern.
    Jetzt möchte ich aber gerne, dass mein Sonos_Schlafzimmer (Play:5) auf Drücken der Taste Fern1Taste3links (von meiner FS20 S8 und schon in FHEM angelegt) den Radiosender aac://mp3.radiohamburg.c.nmdn.net/radiohamburg/livestream64.aac abspielt. Wie lautet da der entsprechende Befehl? Im Thread habe ich nur gefunden, wie man es definiert, dass ein bestimmter Sender beim Anschalten eines Sonos (z.B. über Funksteckdose) gespielt wird. Wie kann ich aber mein Vorhaben umsetzen?
    Ich hoffe, ihr könnt mir helfen.
    Danke schon mal.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 06 März 2014, 20:46:29
    Hi Reiner,
    danke! Das probiere ich mal aus. Den String habe ich bereits mit regexp zerlegt; komme aber noch nicht so richtig weiter mit den readingsGroup....da muss ich mir noch mal Gedanken zu machen...

    Wen es interessiert:
    sub
    SplitGroups($)
    {
      my ($str) = @_;
      my @data = map { s/[^,]+(_SW|_RF)//g; s/^,|,$//g; s/,,/,/g; $_}
      $str =~ m{\[([^\]]+)\]}g;
      return (@data);


    aufgeruden wird das Ganze mit:
    my @x = SplitGroups (fhem("get Sonos Groups"))

    set Sonos Groups liefert diesen String:
    [Sonos_Buero], [Sonos_Schlafzimmer, Sonos_Schlafzimmer_RF, Sonos_Bad], [Sonos_Terrasse], [Sonos_Wohnzimmer, Sonos_Wohnzimmer_SW]

    In x sieht das dann so aus:
    x1:Sonos_Buero
    x2:Sonos_Schlafzimmer, Sonos_Bad
    x3:Sonos_Terrasse
    x4: Sonos_Wohnzimmer


    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 März 2014, 20:54:51
    Hallo Capeghost,

    auch das kannst du einfach mit einem Notify erreichen, der auf dein Tastenevent reagiert, und die entsprechende Steuerung am Sonos übernimmt:

    define Fern1Taste3linksNotify notify Fern1Taste3links:on set Sonos_Wohnzimmer PlayURI aac://mp3.radiohamburg.c.nmdn.net/radiohamburg/livestream64.aac
    Der Name des Notify bleibt natürlich dir überlassen, und du musst schauen, ob da wirklich ein "on"-Event kommt...

    Ich persönlich würde aber den Radiosender als Radiofavorit im Sonos ablegen, und im Notify dann diesen ansteuern. Dabei werden dann auch wieder alle üblichen Informationen bei dir im Controller angezeigt (falls die "aac"-URL überhaupt geht):

    define Fern1Taste3linksNotify notify Fern1Taste3links:on set Sonos_Wohnzimmer LoadRadio RADIOSENDERNAME


    Näheres zu den möglichen Befehlen des Moduls auch mal die Wiki-Seite durchgehen: http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 06 März 2014, 21:42:40
    Hallo Reinerlein,
    danke.
    Hat geklappt, jetzt habe ich auch endlich die Bedeutung des Notify verstanden. Kann ich eigentlich einen bestehenden Notify ändern oder geht das nur über Löschen und Neuanlage? Muss nämlich noch die Lautstärke einbauen.
    Das Wiki zu dem Thema hatte ich mir angeschaut, aber für den konkreten Fall nichts gefunden, weil wohl das Gesamtverständnis fehlte.
    Eine Frage habe ich noch: Wie komme ich dann an die zu verwendenden Sendernamen der Radiofavoriten? Habe das jetzt mit 'Get Sonos_Wohnzimmer Radios' versucht, aber wo sehe ich dann die Informationen?
    Danke.

    Gruß

    Capeghost
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 März 2014, 22:10:06
    Hi Capeghost,

    die Ergebnisse der Anfragen an die Sonos-Player werden meistens asynchron verarbeitet, sodass das Ergebnis dann im Normalfall irgendwann im Reading "LastActionResult" des jeweiligen Player-Fhem-Devices auftaucht...

    Und du kannst ein Notify einfach über die Weboberfläche ändern, indem du bei dem Notify auf den Internals-Namen "DEF" klickst.
    Schau dir für mehrere Befehle in Kette aber die Beschreibung von notify (und vielleicht auch ein Beispiel von der Wiki-Seite) an... da kann man einiges falsch machen :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 März 2014, 22:26:05
    Hallo zusammen,

    ich würde gerne demnächst mal wieder den Dev-Stand in den offiziellen Pfad übertragen. Damit wäre dann auch mal das Wiki wieder aktueller...

    Ich bin der Meinung, dass die Dev-Version sehr stabil läuft. Das einzige war noch die Geschichte mit den Durchsagelautstärken bei Gruppen, die ich leider nicht selber nachvollziehen konnte.

    Dazu habe ich aber eine Änderung eingebaut:
    Es gibt bei Sonos die Methodik "SnapshotGroupVolume", die das aktuelle Lautstärkeverhältnis zwischen den diversen Gruppenteilnehmern festhält, um eine Lautstärkenänderung zu ganz klein (wo das Verhältnis immer mehr zusammenschrumpft) zurück nach ganz groß (wo man gerne das ursprüngliche Verhältnis wieder sehen würde) zu ermöglichen.
    Das habe ich meiner Meinung zu oft aufgerufen :-)

    Ich habe jetzt zum Einen den Setter "SnapshotGroupVolume" eingeführt, um dem Anwender zu ermöglichen das selber z.B. vor einem setGroupVolume aufrufen zu können (aber eben nicht automatisch zu müssen), und zum Anderen wird dieses SnapshotGroupVolume implizit einmal beim Starten einer Durchsage aufgerufen (aber nicht mehr beim Beenden wie bisher).

    Ich hoffe, dass damit die Problematik ein bißchen weniger auftritt, bzw. mal ganz weg ist.

    Irgendwelche Einwände gegen die Übertragung in den normalen Pfad? :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 06 März 2014, 23:02:39
    Hallo Reiner,
    Ich bin fest überzeugt, dass Du wie immer sehr gute Arbeit geleistet hast und das außerdem keiner der aktiven Leser dieses Beitrags die Module aus dem normalen Pfad nutzt. Also check sie ein und wir nutzen sie, bis es Neues zu Testen gibt.
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 06 März 2014, 23:03:06
    nein, nichts dagegen, vorallem, da sie für mich deutlich stabiler ist wie die nicht dev version! Vielen dank für deine ganze Arbeit!!

    Gesendet von meinem Xperia Pro mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 März 2014, 09:48:17
    Frage:
    Ich kann im Sonos ja aktivieren, dass der Ton direkt auf den Eingang umgeschalten wird, wenn dort Musik übertragen wird.
    Gibt es die Möglichkeit, dafür (den Start und das Ende der Musikübertragung am Eingang) als Notify erhalten? Auch ohne die Sonos-Funktion zum Umschalten der
    Musik zu nutzen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 März 2014, 10:30:15
    Hi JoeAllb,

    aber natürlich :-)

    Du bekommst doch ein normales Event über die Änderung des Readings "currentTrackURI". Dort steht dann drin, dass gerade ein Eingang eines Players verwendet wird (auch, wenn er selber der Lieferant sein sollte).
    Das fängt dann mit "x-rincon-stream:" an, gefolgt von der UDN des Quellplayers (aber ohne die Angabe von '_MR' am Ende).
    Bei einer Playbar fängt das ganze mit "x-sonos-htastream:" an, gefolgt von der UDN.

    Wobei du natürlich kein Ende mitgeteilt bekommst. Das ist dasselbe Konzept wie bei der Gruppenwiedergabe. Der spielende Player weiss nicht, ob noch was läuft oder nicht, und zeigt immer "PLAYING" an...

    Wenn du allerdings mitbekommen möchtest, ob am Eingang Musik anliegt, obwohl der Player nicht dahinschaltet, dann muss ich dich (vermutlich) enttäuschen. Diese Information liegt, meines Wissens nach, nicht vor...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 März 2014, 10:37:34
    Zitat von: Reinerlein am 07 März 2014, 10:30:15
    Wenn du allerdings mitbekommen möchtest, ob am Eingang Musik anliegt, obwohl der Player nicht dahinschaltet, dann muss ich dich (vermutlich) enttäuschen. Diese Information liegt, meines Wissens nach, nicht vor...

    Das genau wollte ich eigentlich erreichen, um beispielsweise mitzubekommen, ob der Fernseher noch läuft ;-)
    Auch das ENDE davon bekommt Sonos selbst mit...

    Der Controller zeigt doch solche Eingangsquellen nur an, wenn tatsächlich ein Kabel eingesteckt ist. Wenn der Controller diese Info mitbekommt, sollte sie dann nicht auch per UPNP verfügbar sein?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 März 2014, 11:18:13
    Hi JoeAllb,

    ups, asche auf mein Haupt...

    Man kann es zwar nicht aktiv abfragen, sich aber liefern lassen. Deshalb habe ich das übersehen, da ich immer erstmal die Methoden durchgehe, die ich an den Player senden kann, um Informationen abzufragen.

    Ich baue das mal ein...
    Es wird dann also ein Reading "LineInConnected" geben. Das liefert aber anscheinend nur, ob etwas angeschlossen ist, nicht ob etwas läuft, zumindest ist diese Info bei meinem Sonos:Connect auf 1 beim LineIn-Eingang, der garantiert gerade nicht aktiv ist, sondern nur physikalisch angeschlossen...
    Ich werde da aber mal forschen, ob ich irgendwo sonst eine solche Info zusätzlich herbekommen kann...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 März 2014, 11:20:51
    Reiner, du bist der HIT! Vielen Dank!!!
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 07 März 2014, 12:09:00
    Hallo Reiner,
    auch ich nutze die dev-Version. Sie läuft sehr stabil. Die Abstürze aus dem Betrieb heraus sind weg!

    Eine Anmerkung habe ich aber doch noch dazu:

    Wenn man fhem beendet (z.B. nach einem Update) und es dann wieder neu startet, bleibt es manchmal hängen und läuft mit 98% Prozessorlast. Dann muss ich es zwei, drei Mal killen und dann klappt es wieder....

    Nach mehreren Neustarts hintereinander kommt es teilweise auch zu einem  "perl: -out of memory-Fehler-" Dann muss ich den raspberry komplett neu starten. Da bislang nur das Sonos-Modul läuft, vermute ich, es hängt irgendwie damit zusammen... (den out of Memory Fehler habe  ich weiter vorne  im Thread schon mal beschrieben..). Wenn fhem aber einmal läuft, läuft es....

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 07 März 2014, 16:23:58
    Hallo,
    scheinbar kann man wirklich einiges falsch machen...komme auch mit den Anwendungsbeispielen nicht weiter. Der Radiosender wird richtig gewählt, die Lautstärke (laut Last Action im Player) gesetzt aber der Sender wird nicht gestartet.

    So sieht die Definition meines Notifys aus:


    Fern1Taste3rechts:toggle { \
    fhem "set Sonos_Buero LoadRadio hr3";; \
    fhem "set Sonos_Buero Volume 21";; \
    fhem "set Sonos_Buero Play" \
    }


    Fehlermeldung im Log: Fern1Taste3rechts_Notify return value: syntax error at (eval 588) line 1, near ""set Sonos_Buero Play" \"
    Was ist falsch bzw fehlt da?

    Danke.

    Gruß

    Capeghost

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 März 2014, 17:03:01
    Hallo Capeghost,

    das ist ganz einfach :-)
    Du hast hinter dem Backslash in der Play-Zeile ein Leerzeichen. Der Backslash maskiert nur (und nur dann) einen (heißt: genau einen) direkt folgenden Zeilenumbruch.
    Du hast jetzt also eine zerbrochende Befehlszeile, die er nicht meht sauber interpretieren kann...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 07 März 2014, 17:37:08
    @Capeghost
    ich komme einfach nicht drumrum jetzt zu sagen - mach es doch ohne {}
    eine geschweifte klammer sagt ja nur jetzt Perl - du sagst also perl das es bitte fhem sagen soll es soll set Sonos play ausführen...
    vielleicht liest du doch mal das Einsteiger pdf und versuchst etwas sinnvoller zu agieren...

    Perl brauchst du an dieser stelle wirklich nicht. Wenn du dir dann noch ein bisschen das handling über die DEF spalte der details angewöhnst stolperst du weniger über solche / fehler - fhem übernimmt das nämlich gerne für dich.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 März 2014, 18:21:15
    Hi JoeAllb,

    soo, hier das Ergebnis meiner Untersuchung/Arbeit:
    Das Reading "LineInConnected" gibt es jetzt. Er ist/geht auf 1, wenn ein Gerät eingesteckt ist/wird.
    Leider meldet ein Sonos-Gerät nicht, wenn am Eingang plötzlich ein Musik-Pegel zu verzeichnen ist, bzw. wenn er wieder weg ist.

    Ich habe bei mir die Autoplay-Sache mal deaktiviert und mit einem Netzwerk-Sniffer gelauscht, ob etwas passiert, wenn ich am CD-Player auf Start drücke... Stille auf der Leitung... Also keine direkte Information, ob am Eingang Musik anliegt, nur über den Umweg Autoplay anschalten -> currentTrackURI mit Status auf Playing bzw. Paused...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 07 März 2014, 19:41:40
    @der-Lolo: Ok, hast mich überzeugt, werde mir wirklich nochmal die komplette Einsteiger-Doku zu FHEM zu Gemüte führen und nicht nur den Anfang.

    Ob es jetzt wirklich nach Entfernen des Leerzeichens klappt, konnte ich noch nicht testen, da nach einem shutdown restart sich alle meine Sonos-Geräte im Status 'Initialized' befinden. Wie bekomme ich da wieder einen Status mit dem man arbeiten kann (Grund für restart war das Nichterkennen einiger Tasten meiner FS20 - die sind tatsächlich jetzt alle da).

    Ich verspreche, weitere Fragen, wenn dann überhaupt noch erforderlich, wird es erst nach dem Studium der Doku geben.

    Gruß

    Capeghost
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 März 2014, 20:10:45
    Hallo Capeghost,

    dafür kann es mehrere Gründe geben. Der einfachste ist, dass es eine Weile dauert, bis sich alle Player gemeldet haben und bei Fhem aktualisiert wurden, das würde bedeuten, einfach zu warten.

    In allen anderen Fällen musst du mal in die Konsolen-Log-Ausgabe gucken, um die Ausgaben des Subprozesses zu sehen. Meist steht dort etwas Aufschlußreiches.

    Meist hilft aber auch ein sauberes Beenden von Fhem (prüfen, ob auch alle Perl-Prozesse beendet sind z.B. mittels "sudo ps -aux | grep perl" unter Linux) mit anschließendem normalen Start von Fhem...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 März 2014, 22:02:49
    Danke Reiner, schade!!! Das hätte ich echt verwenden können!!
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 März 2014, 22:22:27
    Hi zusammen,

    ich habe gerade den offiziellen Pfad und das Wiki aktualisiert. Hier wie immer der Changelog dazu (V2.5):

    Im Wiki ist einiges an Zusatzinformationen hinzugekommen. Auch im Bereich der eigenen Fehlersuche...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 08 März 2014, 08:02:11
    Wow,  herzlichen Dank.

    Gesendet von meinem Xperia Pro mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 08 März 2014, 08:21:27
    Zitat von: JoeALLb am 08 März 2014, 08:02:11
    Wow,  herzlichen Dank.

    Mehr fällt mir dazu auch nicht ein. Danke :-)

    Gesendet von meinem Nexus 4 mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 08 März 2014, 23:37:02
    Hallo nochmal,

    dank Einsteiger-Doku habe ich ich das mit dem Setzen der Sets ohne Klammern wunderbar hinbekommen ;-)

    Jetzt kämpfe ich allerdings mit dem richtigen Befehl für ein Notify, um eine Spotify-Playliste einzubinden.

    Wenn ich mir in Spotify den Code anzeigen lassen, erhalte ich folgendes (es ist einer in meinen eigenen Spotify-Playlisten gesicherte Liste):
    spotify:user:sharemyplaylists.com:playlist:19aMuJ7trjTAPNja6pd4f9

    Das würde ich dann so in der DEF zum Notify abbilden:

    Fern1Taste1links:toggle set Sonos_Buero LoadPlaylist x-sonos-spotify:spotify:user:sharemyplaylists.com:playlist:19aMuJ7trjTAPNja6pd4f9

    Aber auch mit einer von mir komplett selbst angelegten Liste funktioniert es nicht. Die Playliste wird nicht gefunden:

    Fern1Taste1links:toggle set Sonos_Buero LoadPlaylist x-sonos-spotify:spotify:user:1121726842:playlist:7y1lsMlXa8LgOatYLkg6QJ


    Im Sonos-Anwendungsbeispiel finde ich leider keine kompletten Beispiele für den Syntax der Playlisten, nur für einzelne Tracks mit PlayURI, aber auch die scheinen nicht richtig zu funktionieren, aber die Playlisten sind mir da erstmal wichtiger.



    Ich hoffe, Ihr könnt mir helfen.

    Gruß

    Capeghost
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 März 2014, 23:49:20
    Hallo Capeghost,

    der Befehl "LoadPlaylist" ist nur zum Laden von Sonos-Playlisten gedacht.
    So wie ich das sehe kannst du das nur über den Weg eines Sonos-Favoriten lösen.

    Also:
    - Über den Controller die Spotify-Playlist lange antippen, "Hinzufügen" auswählen, und zu den Sonos-Favoriten hinzufügen
    - Um die genaue Schreibweise dieser Playliste zu erfahren, am Besten über Fhem den Befehl "get Favourites" ausführen
    - Dann kannst du dein Notify umschreiben, sodass der Setter "StartFavourite" mit dem ermittelten Namen aufgerufen wird (nicht vergessen, dass der Name URL-Encoded geschrieben werden muss, um Leerzeichen und Sonderzeichen zu ermöglichen)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 09 März 2014, 08:30:23
    Schade. Die direkte Nutzung der Spotify- Playlists hätte natürlich den Vorteil, das man immer den aktuellen Inhalt der Liste hat, während man sonst immer wieder regelmässig daraus eine neue Sonos-Playliste erstellen müsste, da diese sich ja dann nicht automatisch aktualisiert.
    Aber danke für die schnelle Info, dann brauche ich das nicht weiter probieren.
    Gruss Capeghost
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 09 März 2014, 08:50:17
    Wenn du die spotify playlist in die Favoriten packet bleibt das eine sportiv play list und nimmt auch alle Änderungen mit.

    Gesendet von meinem Nexus 4 mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 09 März 2014, 13:52:40
    Hast natürlich recht. Habe Sonos Favoriten mit Sonos Playliste verwechselt. Als Favorit müsste es in der Tat immer aktuell sein.

    Danke.
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 12 März 2014, 20:24:20
    Hallo,
    ich bastel mal wieder am Sonos rum und wollte ein notify für den GruppenChange einbauen.

    @ Reiner:
    habe das so versucht, wie Du es weiter oben beschrieben hast.

    define zoneChange notify Sonos:ZoneGroupState { doChanges(); }

    habe es dann als ersten Test mal so angewendet:
    define zoneChange notify Sonos:ZoneGroupState set Sonos_Wohnzimmer Play
    Aber irgendwie mache ich noch was fasch, oder ich habe Dich nicht verstanden...

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 März 2014, 21:58:36
    Hi djhans,

    hmm, vielleicht kannst du mal versuchen, den regulären Ausdruck zu erweitern:

    define zoneChange notify Sonos:ZoneGroupState.* set Sonos_Wohnzimmer Play
    Damit matcht der Ausdruck komplett, vielleicht klappt das ja...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 13 März 2014, 08:37:21
    Ist der normale Updatezweig eigentlich jetzt aktueller als der DEEV zweig? Soll ich wechseln oder am Dev-zweig bleiben?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 März 2014, 09:12:48
    Hi JoeAllb,

    momentan unterscheidet sich der Dev-Zweig nur in den Kommentaren, da dort bereits die nächste Versionsnummer vorbereitet drinsteht :-)
    Inhaltlich/Funktional sind beide Zweige momentan identisch...

    Ich bin gerade dabei die Titel und Albuminformationen bei LineIn und Gruppenwiedergaben etwas zu erweitern, sodass man dort direkt sieht, von welchem Zoneplayer das kommt. Also nix großes, sondern eher kleine Kosmetik...
    Was ich als nächstes prüfen wollte, war die Geschichte mit der Kodierung der Titel bei Umlauten. Das kann ich bei mir nur leider nicht darstellen, da (bei mir) die Umlaute sauber angezeigt werden.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 13 März 2014, 09:17:56
    Danke für die Info!
    Mir ist aufgefallen: Ich habe den Sonon_Küche neu eingebunden.
    Früher wurde dieser als Sonos_Kueche angelegt. Diesmal wurde er als Sonos_K__che angelegt.
    Gabs da ein Problem?
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 13 März 2014, 10:30:01
    Das problem habe ich beim Buero eq Büro auch...
    beim anlegen der Devices hieß mein amp Büro - später habe ich in der Controller app zwar Buero daraus gemacht und in FHEM ein rename gesetzt, es blieb aber bei B__ro.
    Einfach mal neu definieren?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 März 2014, 11:16:54
    Hi,

    das könnte schon mit der Kodierungsproblematik zu tun haben.
    Ich werde da mal schauen... das sollte ich ja nachgestellt bekommen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 13 März 2014, 11:31:18
    Zitat von: Reinerlein am 12 März 2014, 21:58:36
    Hi djhans,

    hmm, vielleicht kannst du mal versuchen, den regulären Ausdruck zu erweitern:

    define zoneChange notify Sonos:ZoneGroupState.* set Sonos_Wohnzimmer Play
    Damit matcht der Ausdruck komplett, vielleicht klappt das ja...

    Grüße
    Reiner

    Hallo Reiner,
    so funzt es!
    Danke,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 13 März 2014, 11:33:28
    Christian, kannst Du uns mal zeigen, wie Du deine Gruppierungsanzeige gelöst hast?
    Ich hab da mal Screenshots gesehen, die recht interessant ausgesehen haben....
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 13 März 2014, 12:07:45
    Hi,
    da wird noch dran gebastelt! Habe es aber aktuell auf Eis gelegt. Irgendwann soll die Anzeige so aussehen, dass  Player im Gruppenverband nur die Infos des Gruppen-Masters anzeigen; die Gruppenmitglieder tauchen dann nur mit dem Symbol und dem Namen in der Zeile darunter auf. Folgende Informationen will ich da haben:

    <Playersymbol><Raum>  <Play/Stop/Pause als Icon> <Album oder Sender> <RDS-Text oder Titel>

    Das könnte dann z.B. so aussehen:
    Singel:
    Wohnzimmer: <stop>
    Bad: <Play>    <WDR2>     <RDS-TExt>
    Büro: <Play>  <NDR>   <RDS-TExt>
    Terrasse: <Play>  <Charts 2014>  <Lieder...>

    Gruppe 1
    Schlafzimmer: <Play> <WDR2> <RDS-TExt>
    Kinderzimmer:
    Dachboden:

    Gruppe 2
    Keller: <Play> <SWR3> <RDS-TExt>
    Küche:
    Kinderzimmer2


    Ich kann zwar schon den String "get Sonos Groups" auswerten (siehe hier im Thread weiter oben), aber das Zusammenbauen mit readingsGroup funktioniert noch nicht, bzw. ich bin mit fhem und perl noch nicht so weit, dass ich den String, der für die readingsGroup erforderlich ist, dynnamisch zusammenbauen kann. (siehe hierzu auch http://forum.fhem.de/index.php?topic=20852.new;topicseen#new (http://forum.fhem.de/index.php?topic=20852.new;topicseen#new))

    Aktuell sieht das so bei mir aus:
    define Sender readingsGroup Sonos_Buero:<%icoSONOSPLAYER_icon-S3.png>,<Büro>,currentSender, \
    Sonos_Wohnzimmer:<%icoSONOSPLAYER_icon-ZP120>,<Wohnzimmer>,<{rgMarquee(ReadingsVal($DEVICE,"currentSenderInfo",""))}>,\
    Sonos_Terrasse:<%icoSONOSPLAYER_icon-S3.png>,<Terasse>,currentSender,
    attr Sender nolinks 0
    attr Sender notime 1
    attr Sender room Test
    attr Sender valueIcon { state => '%devStateIcon' }
    attr Sender valueStyle {'style="color:green;;font-weight:bold"'}
    define SonosGruppe dummy
    attr SonosGruppe devStateIcon on:black_FS20.on off:black_FS20.off
    attr SonosGruppe room Test


    die Laufschriftfunktion ist in der Funktion "rgMarquee" enthalten und in der 99_myUtils gespeichert.
    sub rgMarquee($)
    {           
      my ($txt) = @_;
      return "<marquee scrollamount=2 width=\"150\">$txt</marquee>";
    }


    Probleme habe ich auch mit der Laufschrift, Umlaute werden noch nicht korrekt angezeigt. Die werden aber schon in den Readings nicht korrekt dargestellt. Keine Ahnung, ob das eine lokale Einstellung bei mir ist, oder generell nicht funktioniert.

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 13 März 2014, 22:03:07
    Hallo Reinerlein,
    ich habe gerade Speak in betrieb genommen - genau diesen Satz sollte die Tante auch sagen...
    aus den Lautsprechern kam aber nur ein
    be gerade Speak in betrieb genommen...
    die ersten Buchstaben wurden also verschluckt. Läuft da intern ein fading ab?

    Würde das cachen der ansagen helfen? Vom Prinzip her werden es zwar schon ein paar Sätze werden - aber vieles wird gleich sein... Ausserdem habe ich folgendes aus dem Wiki nicht komplett verstanden, kannst du das nochmal erläutern?

    Zitat

    Speak1: Hiermit kann ein Systemaufruf definiert werden, der zu Erzeugung einer Sprachausgabe verwendet werden kann. Sobald dieses Attribut definiert wurde, ist ein entsprechender Setter am Sonosplayer verfügbar.
    Das Format ist:
    <Ausgabedateiendung>:<Befehlszeile>
    Es dürfen folgende Platzhalter verwendet werden:
    %language%: Wird durch die eingegebene Sprache ersetzt
    %filename%: Wird durch den kompletten Dateinamen (inkl. Dateiendung) ersetzt.
    %text%: Wird durch den zu übersetzenden Text ersetzt.
    Speak2: Siehe Speak1
    Speak3: Siehe Speak1
    Speak4: Siehe Speak1


    Danke schonmal...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 März 2014, 00:01:39
    Hallo der-Lolo,

    hast du bzgl. der verschluckten Ansage vielleicht die Parameter davor nicht korrekt angegeben?
    Der Speak-Befehl braucht erst die Lautstärke, dann die Sprache und dann den Text...
    Eigentlich passiert da kein Fading. Genausowenig sollte eine Verzögerung im Modul eine Auswirkung haben, da ja einfach dem Player gesagt wird, dass er eine bestimmte Datei abspielen soll. Auf was für einem Player soll es denn rauskommen? Hat dieser vielleicht eine Ausgabe-Anschalt-Verzögerung?

    Das cachen hilft insofern, dass die gespeicherten Ansagen schneller starten sollten. Aber es sollte keine Änderung im Startverhalten selbst bewirken... Natürlich ist das auch etwas sparsamer mit deinem Plattenplatz :-)

    Kurze Beschreibung zu deiner Verständnisfrage:
    Die Definition für Speak1 (und natürlich die anderen) ermöglicht das Verwenden einer ausführbaren Datei für das Erzeugen der Sprachdatei. Damit kannst du z.B. ein lokal installiertes 'espeak' für das Synthetisieren der Sprachdatei verwenden, und benötigst keine aktive Internetverbindung zu Google...

    Wenn du dir die Klappbox für die möglichen Setter am Player mal anschaust, wirst du sehen, dass erstmal kein Speak1 usw. angeboten wird. Erst, wenn du das entsprechende Attribut am zentralen Sonos-Device gesetzt hast, gibt es diesen Setter. Das soll eine Vereinfachung sein, damit die Setter nicht unnütz aufgerufen werden, obwohl überhaupt nichts passendes konfiguriert wurde :-)

    Für die Konfiguration selbst gibt es da im Wiki ja ein Beispiel. Wenn da noch was fehlen sollte (ich verwende das ja selber nicht:-), dann einfach kurz bescheid sagen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 14 März 2014, 08:55:07
    Guten Morgen Reinerlein,
    na da hätte ich selbst drauf kommen können - die playlist lief mit Crossfade...
    kann man dem Speak mitgeben das Crossfade deaktiviert wird?
    Die alternative ohne Google finde ich auch toll - das probier ich mal aus...
    Hat schon jemand eine "gute" Stimme gefunden?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 März 2014, 14:05:44
    Hi,

    ich denke, dass es zu weit führen würde bei einer Durchsage auch Crossfade zu deaktivieren. Man muss immerhin bedenken, dass diese ganzen Anweisungen an den Player vor dem Speak die Latenz bis zum Start verzögern, und ich mir vorstellen kann, dass es auch Anwender gibt, die das gerne aktiv behalten würden...

    Wenn man das braucht, muss man das eben selber vorneweg senden, ist ja keine Sache :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 14 März 2014, 16:59:17
    Klar, das kann man auch von Hand machen - grundsätzlich glaube ich aber das jeder die komplette durchsage hören möchte...
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 20 März 2014, 19:25:42
    Hallo,
    ich habe mal eine Frage:
    Ich habe inzwischen einige Sonos Steuerungen mit fhem realisiert. Sleeptimer, Gruppenbildung zu bestimmten Zeiten, Wecker, Lautstärkeanpassung, etc.

    Jetzt kann es aber sein, dass ich den SchlafzimmerSonos einmal anders nutzen möchte und z.B.  für eine Party in einen anderen Raum betreibe. dann wäre es ziemlich doof, wenn das Teil um 22:30 den Sleeptimer aktiviert und die Lautstärke anpasst.

    Ich würde in fhem gerne einen Schalter "PartyModus" definieren, der die Player für fhem quasi  "unsichtbar" macht. Gibt es eine einfache Möglichkeit dies zu machen, ohne alle Steuerfunktionen mit "disable" einzeln abzuschalten?

    djhans

    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 20 März 2014, 21:21:54
    aber warum denn nicht disablen?
    Ich hab versucht möglichst oft die Wildcard Möglichkeit nutzen zu können, so kann ich jetzt mit einem einzigem disable Befehl gezielt Notifys disablen oder eben notify Gruppen disablen.

    Es gibt z.b.
    sp_z1
    sp_s4
    sp_sonos
    jeweils Speak ausgaben aus Sonos oder Android
    attr sp.* disable 1
    schaltet also alle Speak ausgaben ab...

    Ich mag disablen...
    Titel: Antw:Sonos steuern
    Beitrag von: djhans am 20 März 2014, 22:17:26
    Hallo,
    danke für die Antwort, dann muss ich mir mal neue Namen überlegen...

    Du schreibst:
    attr sp.* disable 1

    Noch einmal eine Verständnisfrage:
    warum muss hier der "Punkt" stehen. Normalerweise würde ich erwarten, dass der Befehl so heisst:
    attr sp* disable 1

    djhans
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 21 März 2014, 07:56:59
    der punkt ist eine Perl besonderheit - seite 19 einsteiger.pdf
    Titel: Antw:Sonos steuern
    Beitrag von: eppi am 26 März 2014, 18:44:01
    Hallo zusammen
    Vielleicht hilt das dem einen oder anderen...

    Ich habe heute meinen neuen Einplatinen-Computer mit Debian Image aufgesetzt, Step bei Step vom der alten auf die neue Hardware migriert.
    Alles verlief ziemlich Problemlos ausser Sonos "bockte" einwenig.

    Beim einrichten des Sonos bekam ich immer folgende Fehlermeldung:
    BEGIN failed--compilation aborted at FHEM/lib/UPnP/Common.pm line 728.
    Can't locate XML/Parser/Lite.pm in @INC (you may need to install the XML::Parser::Lite module) (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at FHEM/lib/UPnP/Common.pm line 728.


    Google sagte mir, dass ich ein Debian Paket nicht installiert habe, was ich sofort nachholte:
    apt-get install libxml-parser-lite-perl
    Danach funktionierte meine gesamte Sonos Installation wieder problemlos. ;D
    Das Wiki habe ich entsprechend angepasst.

    Gruss Dani
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 27 März 2014, 08:59:27
    Hallo,
    ich bin neu und habe mir auch das Sonos Modul installiert. Läuft soweit echt super, habe aber manchmal auch noch Abstürze, gerade beim Starten von fhem.
    Ich wollte deshalb die Lib nachinstallieren:
    apt-get install libxml-parser-lite-perl
    dann kommt aber der Fehler, dass das Paket nicht gefunden wurde.... Woran liegt das nun?

    Danke und Gruß,
    spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: eppi am 27 März 2014, 17:26:44
    Hallo Spartacus
    Zitataber manchmal auch noch Abstürze, gerade beim Starten von fhem.
    Ich glaube nicht, dass dies am XML Parser liegt.... Was steht denn im Log wenn der Absturz eintritt?

    Gehe ich richtig in der Annahme, dass du einen RPi verwendest für FHEM mit Debian?
    Gruss Dani
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 27 März 2014, 21:00:13
    Hi eppi,
    ja, einen Pi. So steht es in der Signatur :-)!
    Im Logfile steht nichts. Auf der ssh-Konsole kommt ein perl "out of Memory Fehler". Dann starte ich den Pi neu und irgendwann läuft es dann ohne ein Problem. Der Fehler kommt nur bei Starten.
    Gruß
    spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 31 März 2014, 08:28:42
    Hallo,
    ich habe am WE. einen Sonos Player mehrfach versetzt und eine zusätzlich Bridge angeschlossen. Das hat fhem überhaupt nicht gefallen und ist einfach stehengeblieben. Das heisstdas WebInterface rwagierte nicht mehr. Im Logfile erkennt man, dass er die Bridge zwar erkennt und auch konfiguriert, doch dann iwar es das auch schon.... und der Neustart wird protokolliert....

    Das Gleiche beim umstellen des Play 3. Auch hier wird die Räsenz erkannt, doch dann ist plötzlich Ruhe... Fhem reagiert nicht und es hilft nur ein Neustart. Es stehen keine error Messages im Log.

    Sobald fhem einmal läuft, läuft es stabil und das Sonos Modul arbeitet einwandfrei. Meine Vermutung ist, das irgendetwas mit der UPNP-Erkennung fehlschlägt.

    Nach einem Absturz ist die Prozessorlast von fhem ungewöhlich hoch 83-86%. Ich habe das mal 2h so laufen lassen, aber fhem kommt nicht wieder.....

    Irgendjemand eine Idee, wo ich dran drehen kann? Verbose habe ich auf 5 erhöht, aber auch keine Einträge im Logfile....

    Gruß,
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 März 2014, 09:19:07
    Hi Spartacus,

    hmm... hast du auch in dem Log des Subprozesses geschaut?

    Unter http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Fehlersuche (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Fehlersuche) habe ich zu der Fehler- und Loguntersuchung einen kurzen Abschnitt geschrieben.

    Leider kann das ganz viele Ursachen haben. Ich tippe auf eine Problematik zwischen Subprozess und Fhem selbst. Da habe ich schon viel getan, aber anscheinend kann man nie genug tun :-)
    Aber eine fundierte Aussage geht natürlich erst mit den Logs...

    Zu dem "Out of memory"-Fehler: Anscheined benötigt Perl manchmal etwas mehr Speicher für das Modul. Ich konnte noch nicht herausfinden warum, da es bei mir diesen Fehler noch nicht gab, und wenn es ihn gegeben hätte, bekommt man ihn anscheinend auch nicht nachgestellt/wiederholt :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 31 März 2014, 09:47:09
    Hallo Reinerlein,
    ich werde mir das mal ansehen! Vielen Dank.
    Ich habe einen 2ten rPi bestellt, dann baue ich mein System parallel mal komplett neu auf, vielleicht hilft das ja.

    Ansonsten bin ich sehr glücklich mit der Sonos-Lösung,...Super Sache!

    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 31 März 2014, 18:17:42
    Hallo Reinerlein,
    ich habe einen Absturz auf der Konsole mitschneiden können. VErbose war im Snos Modul nicht hochgesetzt. Ich hoffe Du kannst etwas erkennen.....
    Starting fhem...
    Current: "fhem.pl", gPath: "./FHEM"
    Current: "FHEM/00_SONOS.pm", gPath: ""
    2014.03.31 18:09:44 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    2014.03.31 18:09:47 1: SONOS0: Connection accepted from localhost:51481
    2014.03.31 18:09:56 3: SONOS1: UPnP-Thread gestartet.
    2014.03.31 18:09:58 1: SONOS2: Restore-Thread gestartet. Warte auf Arbeit...
    2014.03.31 18:09:58 2: SONOS1: Discover Sonosplayer 'Bad' (S1) Software Revision 4.2 with ID 'RINCON_000E58C4F42E01400_MR'
    2014.03.31 18:10:06 2: SONOS1: SonosPlayer 'Bad' (S1) Software Revision 4.2 with ID 'RINCON_000E58C4F42E01400_MR' is already defined and will only be updated
    2014.03.31 18:10:06 2: SONOS1: SonosPlayer 'Bad' is now updated
    2014.03.31 18:10:06 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_000E58C4F42E01400_sub0000000654" and Timeout="86400s"
    2014.03.31 18:10:06 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_000E58C4F42E01400_sub0000000655" and Timeout="86400s"
    2014.03.31 18:10:07 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_000E58C4F42E01400_sub0000000656" and Timeout="86400s"
    2014.03.31 18:10:07 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E58C4F42E01400_sub0000000657" and Timeout="86400s"
    2014.03.31 18:10:07 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E58C4F42E01400_sub0000000658" and Timeout="86400s"
    2014.03.31 18:10:07 3: SONOS1: Discover: End of discover-event for "Bad".
    2014.03.31 18:10:07 2: SONOS1: Discover Sonosplayer 'Garten' (ZB100) Software Revision 4.2 with ID 'RINCON_000E5865FFD401400_MR'
    2014.03.31 18:10:08 3: SONOS1: ProxyObject does not exists
    2014.03.31 18:10:10 2: SONOS1: Error during UPnP-Handling, restarting handling: junk 'e>string' after XML element

    2014.03.31 18:10:10 2: SONOS1: Discover Sonosplayer 'Garten' (ZB100) Software Revision 4.2 with ID 'RINCON_000E5865FFD401400_MR'
    2014.03.31 18:10:11 2: SONOS1: SonosPlayer 'Garten' (ZB100) Software Revision 4.2 with ID 'RINCON_000E5865FFD401400_MR' is already defined and will only be updated
    2014.03.31 18:10:11 2: SONOS1: SonosPlayer 'Garten' is now updated
    2014.03.31 18:10:11 1: SONOS1: Service-subscribing not possible due to missing TransportService
    2014.03.31 18:10:11 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E5865FFD401400_sub0000000038" and Timeout="86400s"
    2014.03.31 18:10:12 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E5865FFD401400_sub0000000039" and Timeout="86400s"
    2014.03.31 18:10:12 3: SONOS1: Discover: End of discover-event for "Garten".
    2014.03.31 18:10:12 2: SONOS1: Discover Sonosplayer 'Terrasse' (S3) Software Revision 4.2 with ID 'RINCON_000E58F224CE01400_MR'
    2014.03.31 18:10:19 2: SONOS1: SonosPlayer 'Terrasse' (S3) Software Revision 4.2 with ID 'RINCON_000E58F224CE01400_MR' is already defined and will only be updated
    2014.03.31 18:10:19 2: SONOS1: SonosPlayer 'Terrasse' is now updated
    2014.03.31 18:10:19 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_000E58F224CE01400_sub0000000149" and Timeout="86400s"
    2014.03.31 18:10:20 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_000E58F224CE01400_sub0000000150" and Timeout="86400s"
    2014.03.31 18:10:20 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_000E58F224CE01400_sub0000000151" and Timeout="86400s"
    2014.03.31 18:10:20 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E58F224CE01400_sub0000000152" and Timeout="86400s"
    2014.03.31 18:10:20 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E58F224CE01400_sub0000000153" and Timeout="86400s"
    2014.03.31 18:10:20 3: SONOS1: Discover: End of discover-event for "Terrasse".
    2014.03.31 18:10:20 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Garten".
    2014.03.31 18:10:20 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Garten".
    2014.03.31 18:10:25 3: SONOS1: ProxyObject does not exists
    2014.03.31 18:10:25 2: SONOS1: Discover Sonosplayer 'Büro' (S3) Software Revision 4.2 with ID 'RINCON_000E58F084FC01400_MR'
    2014.03.31 18:10:28 3: SONOS1: ProxyObject does not exists
    2014.03.31 18:10:32 2: SONOS1: SonosPlayer 'B__ro' (S3) Software Revision 4.2 with ID 'RINCON_000E58F084FC01400_MR' is already defined and will only be updated
    2014.03.31 18:10:32 2: SONOS1: SonosPlayer 'B__ro' is now updated
    2014.03.31 18:10:32 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_000E58F084FC01400_sub0000000804" and Timeout="86400s"
    2014.03.31 18:10:32 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_000E58F084FC01400_sub0000000805" and Timeout="86400s"
    2014.03.31 18:10:32 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_000E58F084FC01400_sub0000000806" and Timeout="86400s"
    2014.03.31 18:10:32 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E58F084FC01400_sub0000000807" and Timeout="86400s"
    2014.03.31 18:10:33 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E58F084FC01400_sub0000000808" and Timeout="86400s"
    2014.03.31 18:10:33 3: SONOS1: Discover: End of discover-event for "Büro".
    2014.03.31 18:10:38 2: SONOS1: Error during UPnP-Handling, restarting handling: junk 'dlna-org:device-1-0">M-DMS-1.50' after XML element

    2014.03.31 18:10:39 2: SONOS1: Discover Sonosplayer 'Bad' (S1) Software Revision 4.2 with ID 'RINCON_000E58C4F42E01400_MR'


    ..und danach ist fhem weg!

    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 01 April 2014, 11:18:49
    Also mein FHEM hat heute zum Monatsanfang auch ordentlich Fehler ausgespuckt..... Ich hab die 2.5er Version installiert, nicht die Developmentversion:
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 April 2014, 11:51:08
    Hallo,

    @strauch: Der Fehler ist komisch. An der Stelle hole ich mir das Sonos-Device aus der Fhem-Deviceliste. Das bedeutet, du hast in deinem Fhem-System ein Device, welches keinen Typ definiert hat (darüber identifiziere ich das Sonos-Device).
    Geht das überhaupt regulär?

    @Spartacus: Das ist leider noch nicht soo informativ. Was auffällt, ist, dass sich dazwischen immer auch andere UPnP-Komponenten melden, die hier im Erkennungsprozess verarbeitet werden müssen... Das scheint immer mal zu kleineren Fehlern zu führen, und manchmal zu einem größeren...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 01 April 2014, 12:05:05
    Hi Reinerlein, sehr interessanter Hinweis, doch das kann sein, weil andFHEM seit kurzem meckert zwei Filelogs nicht laden könnte, da muss ich mal auf dem Grund gehen. Der hat gerade leider meine Nachricht abgeschnitten. ich hatte noch folgende Meldung:
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4713.
    Argument "ring" isn't numeric in numeric eq (==) at (eval 85073) line 1.
    Argument "ring" isn't numeric in numeric eq (==) at (eval 85073) line 1.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4713.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4713.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4713.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4728.
    Use of uninitialized value in string eq at ./FHEM/00_SONOS.pm line 4732.


    Mhhpf ich versuch gerade alle Fehler loszuwerden, die letzten Tage sahen eigtl. gut aus, hab mich schon gefreut mal ein kleineren Monatslog ohne Fehler zu haben und heute morgen rappelts wieder an richtig vielen Stellen :-(.

    Ich hab gerade mal meine fhem.cfg über fhem editiert und gespeichert, gab folgende Meldungen:
    Reading Sonos_Schlafzimmer->presence must not be used out of statefile. Reading Sonos_Wohnzimmer->LastActionResult must not be used out of statefile. Reading Sonos_Wohnzimmer->presence must not be used out of statefile.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 April 2014, 12:28:58
    Hi strauch,

    die Zeile 4713 macht etwas sehr ähnliches wie 4732 usw.: Es sucht ein Sonos-Device heraus. Die Fehlermeldung bezieht sich dabei immer auf den nicht gesetzen 'TYPE' des Fhem-Devices.

    Die Meldungen die da nach deinem Editieren gekommen sind, sind normal, und kommen beim Starten von Fhem auch.
    Man kann leider ein Reading nicht vom Speichern in der fhem.save ausschließen. Ich kann es nur beim Laden verhindern, und dort auch nur mit einer Meldung (die du dann im Log siehst)...
    Es gibt bei mir aber Readings, die nicht gespeichert werden dürfen, da sie unbedingt neu gesetzt werden sollen, bzw. das Speichern durch Fhem Informationen zerstört (ein Hash-Symbol hat z.B. zur Folge, dass alle Informationen danach nicht mehr im Reading gespeichert werden...).

    Das sieht nach etwas Grundlegendem aus, oder nach einem neuen Feature, das ich entsprechend abfangen muss :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 01 April 2014, 13:15:16
    OK ich mach mich mal auf die Suche das heisst es muss ein device sein bei dem keine Typ Definition existiert?

    Gesendet von meinem Nexus 4 mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 April 2014, 13:45:25
    Hi strauch,

    genau.
    Zumindest ist in dem Device-Hash nichts dazu enthalten. Das sollte auch an der Oberfläche zu sehen sein (in dem oberen Bereich des Devices).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 01 April 2014, 14:00:59
    Mhh ich finde nichts, gibts vielleicht eine Möglichkeit '"unbekannt" mit soetwas wie
    list TYP=unknown aufzulisten? Oder alles außer: notify,watchdog,at,fht, etc.... dann sind es weniger Geräte?!
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 01 April 2014, 14:03:13
    Hallo,
    tja, selbst mit Verbose 5 kommt nicht mehr dabei herum....

    Hier die letzten Zeilen der Konsole, die ich in eine Datei umgelenkt habe.

    2014.04.01 13:57:44 4: SONOS1: All is started successfully. Retreive Positioninfo...
    2014.04.01 13:57:44 2: SONOS1: Error during UPnP-Handling, restarting handling: junk '0x0003002e' after XML element



    ...und das stand dann noch auf der Konsole:
    *** glibc detected *** perl: munmap_chunk(): invalid pointer:  0x02c2a970 ***
    .....dann war wieder schluss!
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 April 2014, 20:42:44
    Hallo,

    @strauch: Ich weiss, ehrlich gesagt, nicht, ob du das mit List hinbekommen kannst. Das Feld heißt aber "TYPE" und ist ungesetzt, also leer.

    @Spartacus: Das mit der Perl-Meldung zu dem invalid pointer ist gar nicht normal, und scheint was mit der Speicherverwaltung zu tun zu haben. Die Anweisung "munmap_chunk" soll wohl einen Teil des Speichers wieder freigeben... dabei geht wohl etwas schief. Das passt auch zu der Codestelle. Dort wird der bestehende Speicherinhalt verworfen, da der UPnP-Prozess wegen einer fehlerhaft empfangenen XML-Struktur neugestartet werden musste...
    Leider kann ich dir da auch keinen Tipp geben. Vielleicht mal das Perl updaten oder so...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 01 April 2014, 22:47:44
    Hallo Reinerlein, ich stolpre gerade bei durchschauen meiner Log-Files über folgendes...

    Zitat
    2014.04.01 20:47:28 2: LGTV2012: Now sending command 20

    2014.04.01 20:47:28 2: LGTV2012: HandleInput <?xml version="1.0" encoding="utf-8"?><envelope><api type="command"><name>HandleKeyInput</name><value>20</value></api></envelope>

    2014.04.01 20:47:28 2: LGTV2012: Command sent successfully

    2014.04.01 20:47:28 2: LGTV2012: TV Response :

    2014.04.01 20:47:43 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.04.01 20:47:44 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.04.01 20:47:53 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.04.01 20:47:54 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    Argument "MB," isn't numeric in addition (+) at (eval 18887) line 1, <GEN6435> line 30.
    Argument "MB," isn't numeric in addition (+) at (eval 18888) line 1, <GEN6435> line 30.
    Argument "%," isn't numeric in addition (+) at (eval 18889) line 1, <GEN6435> line 30.
    Argument "MB," isn't numeric in addition (+) at (eval 18890) line 1, <GEN6435> line 103.
    Argument "MB," isn't numeric in addition (+) at (eval 18891) line 1, <GEN6435> line 103.
    Argument "%," isn't numeric in addition (+) at (eval 18892) line 1, <GEN6435> line 103.
    Argument "MB," isn't numeric in addition (+) at (eval 18893) line 1, <GEN6435> line 176.
    Argument "MB," isn't numeric in addition (+) at (eval 18894) line 1, <GEN6435> line 176.
    Argument "%," isn't numeric in addition (+) at (eval 18895) line 1, <GEN6435> line 176.

    Argument "MB," isn't numeric in addition (+) at (eval 19630) line 1, <GEN6437> line 8934.
    Argument "MB," isn't numeric in addition (+) at (eval 19631) line 1, <GEN6437> line 8934.
    Argument "%," isn't numeric in addition (+) at (eval 19632) line 1, <GEN6437> line 8934.
    Argument "MB," isn't numeric in addition (+) at (eval 19633) line 1, <GEN6437> line 9007.
    Argument "MB," isn't numeric in addition (+) at (eval 19634) line 1, <GEN6437> line 9007.
    Argument "%," isn't numeric in addition (+) at (eval 19635) line 1, <GEN6437> line 9007.
    Argument "MB," isn't numeric in addition (+) at (eval 19636) line 1, <GEN6437> line 9080.
    Argument "MB," isn't numeric in addition (+) at (eval 19637) line 1, <GEN6437> line 9080.
    Argument "%," isn't numeric in addition (+) at (eval 19638) line 1, <GEN6437> line 9080.
    2014.04.01 20:48:49 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.04.01 20:48:49 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.04.01 20:52:14 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.04.01 20:52:14 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".

    Ich war während dessen mit Spielereien am LGTV beschäftigt. Kann also auch gut sein das das LGTV Modul eine Rolle spielt und Sonos gar nicht das problem ist.
    Anhand der Angabe line am ende der Zeile kann man sich gut vorstellen wie groß das Logfile wurde in so kurzer Zeit...

    Hast Du eine Idee - oder soll ich eher in Richtung LGTV schauen..?
    Der vollständigkeit halber hier noch der Thread zum LGTV Modul - http://forum.fhem.de/index.php/topic,14695.msg150484.html#msg150484 (http://forum.fhem.de/index.php/topic,14695.msg150484.html#msg150484)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 April 2014, 00:11:51
    Hi der-Lolo,

    das sieht mir eher nicht nach dem Sonos-Modul aus.
    Bevor diese ganzen Log-Ausgaben kommen wurde ein Transport-Event fertig verarbeitet, und erst nach dem Ende der Log-Kette wurde ein neues Event begonnen.

    Auch kommt das Kürzel "MB" nirgendwo im Code vor. Das muss jetzt allerdings nicht sooo viel heißen, da es ja durch eine Konfiguration reingekommen sein kann...

    Wie gesagt, ich würde da erstmal an einer anderen Stelle suchen, da solche Fehlerausgaben des Sonos-Moduls mind. von einem Sonos-Event-Log (o.ä.) umrahmt sein müsste...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 07 April 2014, 17:13:00

    Hallo Reiner,
    Seit in FHEMWEB so eine neue Meldung eingebaut wurde, die Fehler in der config Datei anzeigen soll, stört diese Meldung. Die gabs schon gefühlt immer im FHEM.log, nur wird die jetzt bei jedem Start von FHEMWEB gezeigt, bis man die in global motd durch none ersetzt. Kannst Du da was machen?


    Error messages while initializing FHEM:configfile: 00statefile: Reading Sonos_Wohnzimmer->LastActionResult must not be used out of statefile.Reading Sonos_Wohnzimmer->presence must not be used out of statefile.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 April 2014, 20:34:30
    Hi Det.,

    das läßt sich leider erst dann vermeiden, wenn man Readings als "nicht-im-statefile-ablegen" markieren kann.
    Leider werden diese Readings benötigt, und leider dürfen diese Readings (wie die Meldung von mir aussagt :-) nicht geladen werden, bzw. sind u.U. sogar fehlerhaft...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 07 April 2014, 20:57:06
    Danke Reiner,
    ich hatte mir schon sowas gedacht und bisher ja auch keine Probleme damit gehabt. FHEM ist mMn. noch kein empfehlenswertes System für User, die nicht ansatzweise experimentierfreudig sind und nicht selbst nach Updates und Systemveränderungen mal im LOG nachsehen ob was schiefgegangen ist.
    Keine Ahnung warum sich auch hier die "rundrumsorglos und gegen alles versichert" Mentalität versucht durchzusetzen.
    Ich hätte gern solche Warnmeldungen im FHEMWEB ausschaltbar - und zwar dauerhaft. Werde mal den Beitrag im Anfänger Bereich verlinken, wo ich gestern mein Problem mit der Sache nach löschen von motd und aus Versehen von modpath gepostet hatte.
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 08 April 2014, 21:11:07
    Hallo,
    habe das mit der Fehlermeldung nicht ganz verstanden, aber ist das hier in meiner fhem.cfg das aktuell diskutierte, oder habe ich ein andres Problem?

    Error messages while initializing FHEM:
    statefile: Reading Sonos_Bad->AlarmList must not be used out of statefile.
    Reading Sonos_Bad->AlarmListIDs must not be used out of statefile.
    Reading Sonos_Bad->AlarmListVersion must not be used out of statefile.
    Reading Sonos_Bad->presence must not be used out of statefile.
    Reading Sonos_Buero->AlarmList must not be used out of statefile.
    Reading Sonos_Buero->AlarmListIDs must not be used out of statefile.
    Reading Sonos_Buero->AlarmListVersion must not be used out of statefile.
    Reading Sonos_Buero->presence must not be used out of statefile.
    Reading Sonos_Garten->presence must not be used out of statefile.
    Reading Sonos_Keller->presence must not be used out of statefile.

    Danke und Gruß,
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 08 April 2014, 21:34:05
    Hallo Gladiator,
    Das ist genau das gleiche Problem. Kannst Dich ja auch mal an dem Post: http://forum.fhem.de/index.php/topic,22250.0.html
    dranhängen und das anmeckern. Die Macher feiern diese neue Fehlermeldung als benutzerfreundliche Möglichkeit dem dummen User Fehler in der FHEM.cfg vermeiden zu helfen....
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 09 April 2014, 08:37:48
    Zitat von: strauch am 01 April 2014, 14:00:59
    Mhh ich finde nichts, gibts vielleicht eine Möglichkeit '"unbekannt" mit soetwas wie
    list TYP=unknown aufzulisten? Oder alles außer: notify,watchdog,at,fht, etc.... dann sind es weniger Geräte?!

    Versuch es mal mit
    { join(",", grep { !defined($defs{$_}{TYPE}) } keys %defs ) }
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 09 April 2014, 15:57:31
    Zitat von: JoeALLb am 09 April 2014, 08:37:48
    Versuch es mal mit
    { join(",", grep { !defined($defs{$_}{TYPE}) } keys %defs ) }

    Danke, spuckt bei mir nichts aus, ich vermute mal es gibt auch nichts, ich konnte so auch nichts finden. Ich hab aber auch seit dem 3.4 nach einem neustart keine Fehler mehr. Vorher hagelte es alle möglichen Fehler... warum auch immer

    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1015 thread 4
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1015 thread 4
    2014.04.03 21:10:37 3: SONOS4: UPnP-Thread wurde beendet.
    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 5006, <$client> line 49.
    Perl exited with active threads:
    1 running and unjoined
    2 finished and unjoined
    0 running and detached
    2014.04.03 21:25:45 1: Including fhem.cfg
    2014.04.03 21:25:49 3: WEB: port 8083 opened
    2014.04.03 21:25:50 3: telnetPort: port 7072 opened
    2014.04.03 21:25:51 3: Opening CUL_FS20 device /dev/ttyACM0
    2014.04.03 21:25:51 3: Setting CUL_FS20 baudrate to 9600
    2014.04.03 21:25:51 3: CUL_FS20 device opened


    Danach kam dann kein Fehler mehr.....
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 April 2014, 18:29:07
    Hallo,
    ich habe hier eine Frage zu einem Problem, welches ich lösen muss. Mir fehlt im Moment der richtige Ansatz:

    Wenn ich einen Sonos Player mit Strom versorge, soll fhem ihn mit einer Grundkonfiguration bestücken:
    z.B. in eine Gruppe einbinden, eine Default Playliste laden, etc...

    das mache ich mit
    define Init_Wohnzimmer notify Sonos_Wohnzimmer:presence:.appeared
    ... \


    Wenn ich fhem starte, erkennt fhem alle Player als "presence:.appeared" und die laufende Konfiguration wird überklatscht. Soll heißen:
    Ein reboot von fhem (und das kommt im Moment recht häufig vor, da ich viel bastel) unterbricht das laufende Programm aller Player!

    Kann man die beiden Szenarien irgendwie unterscheiden?

    Spartacus


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 April 2014, 19:53:51
    Hi Spartacus,

    ich prüfe bei mir noch, ob die aktuelle Abspielliste leer ist, bevor ich etwas mit dem Player tue.
    Vielleicht reicht das bei dir ja auch...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 April 2014, 20:41:46
    Hi,,
    danke! Meinst Du currentTrackURI=""? Dann sollte man auch die Radiosender erfassen, oder?
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 April 2014, 22:41:10
    Hi Spartacus,

    sie gut aus, versuch es einfach mal. Natürlich musst du das korrekt in Perl formulieren...
    Ich habe bei mir auf den Zähler für die Anzahl der Elemente in der aktuellen Abspielliste geprüft, da ich beim Einschalten des Players diese befüllen möchte, wenn sie nix enthält... Das kommt immer ein bißchen darauf an, was man sicherstellen/erreichen möchte :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: eisler am 21 April 2014, 21:55:07
    Hallo,

    ich habe seit einigen Tagen das Problem das Sonos Speak nicht mehr funktioniert.


    2014.04.21 21:26:43 3: SONOS7: Load Google generated MP3 from "http://translate.google.com/translate_tts?tl=de&q=Test" to "/mnt/SonosSpeak/RINCON_00...00_MR_Speak.mp3"
    2014.04.21 21:26:44 3: SONOS7: Start temporary playing of "\\192.168.178.200\SonosSpeak
    define Sonos_Schlafzimmer SONOSPLAYER RINCON_00...00_MR/RINCON_00...00_MR_Speak.mp3"
    2014.04.21 21:26:45 3: SONOS7: SleepTimer berechnet die Laufzeit des Titels selber, da keine Wartezeit uebermittelt wurde!
    2014.04.21 21:26:45 1: SONOS7: Da keine Endzeit ermittelt werden konnte, wird kein Restoring durchgef?hrt werden!
    2014.04.21 21:26:45 3: SONOS7: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2014.04.21 21:26:45 3: SONOS7: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".


    .mp3 wird korrekt erzeugt und aus dem lokalen Netz kann ich auch via SMB drauf zugreifen.
    Sonos spielt das mp3 nicht ab.

    Aus den Readings des Sonosplayer:

    LastActionResult
    PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"


    Ich dachte zuerst es liegt an dem Sonos 4.3 Update scheinbar ist das aber nicht das Problem.

    Versionen (sollte alles aktuell sein):
    - fhem.pl 5588 2014-04-20 19:20:42Z rudolfkoenig
    - SONOS.pm Version 2.5 - March, 2014

    Hat jemand noch eine Idee wie man das debuggen könnte?

    Grüße
    Stephan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 April 2014, 22:43:08
    Hi Stephan,

    die URL, die da für den Player zusammengebaut wird, sieht reichlich komisch aus. Da scheint beim Attribut auslesen eine Fhem-Definition mit reingerutscht zu sein. So kann das natürlich nicht vom Player verarbeitet werden. Die Fehlernummer 701 heißt nur, dass ein Parameter nicht korrekt verarbeitet wurde, und kommt damit sehr häufig vor :-)

    Ich denke, dass es an einer neueren Fhem-Version liegen könnte, da ich nicht ständig aktualisiere...
    Ich werde das Fhem bei mir mal bei Gelegenheit in den nächsten Tagen aktualisieren, und dann mal schauen, ob das Problem bei mir auch auftritt...

    Vielleicht hat das Problem ja noch jemand anderes mit einer aktuellen Fhem-Version?...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: eisler am 21 April 2014, 23:25:58
    Problem gelöst.  :)

    FALSCH:
    attr Sonos targetSpeakURL \\192.168.178.200\SonosSpeak\


    RICHTIG:
    attr Sonos targetSpeakURL \\192.168.178.200\SonosSpeak


    Danke und Grüße
    Stephan

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 April 2014, 00:34:37
    Hi Stephan,

    OK, das ist natürlich ein Fehler, den man lange suchen kann...

    Ich habe dazu einen Hinweis in die nächste Version der Wikiseite geschrieben; dass man an dieser Stelle mit Backslashs als letztes Zeichen vor dem Zeilenumbruch aufpassen soll (bzw. dieses weglassen soll)...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 29 April 2014, 14:46:02
    Hallo,
    ich bin mal wieder am Basteln, aber irgendwie finde ich den Fehler nicht!
    Wenn der Wert in currentTrackURI leer ist, dann sollen die Befehle ausgeführt werden.Was ist hier falsch?

    DEF-Bereich:

    Sonos_Buero:presence:.appeared
    {
    if (ReadingsVal ("Sonos_Buero","currentTrackURI","x") eq "")
      {
       fhem "set Sonos_Buero Volume 10";;
       fhem "set Sonos_Buero Treble 10";;
       fhem "set Sonos_Buero Bass 3";;
       fhem "set Sonos_Buero Balance 0";;
       fhem "set Sonos_Buero Loudness 1";;
       fhem "set Sonos_Buero LEDState 0"
      }
    }


    Fehler im Logfile:
    2014.04.29 14:38:53 5: Notify loop for Sonos_Buero presence: appeared
    2014.04.29 14:38:53 5: Triggering Init_Buero
    2014.04.29 14:38:53 4: Init_Buero exec
    {
    if (ReadingsVal ("Sonos_Buero","currentTrackURI","x") eq "")
      {
       fhem "set Sonos_Buero Volume 10";;
       fhem "set Sonos_Buero Treble 10";;
       fhem "set Sonos_Buero Bass 3";;
       fhem "set Sonos_Buero Balance 0";;
       fhem "set Sonos_Buero Loudness 1";;
       fhem "set Sonos_Buero LEDState 0"
      }
    }
    2014.04.29 14:38:53 5: Cmd: >{
    if (ReadingsVal ("Sonos_Buero","currentTrackURI","x") eq "")
      {
       fhem "set Sonos_Buero Volume 10";
       fhem "set Sonos_Buero Treble 10";
       fhem "set Sonos_Buero Bass 3";
       fhem "set Sonos_Buero Balance 0";
       fhem "set Sonos_Buero Loudness 1";
       fhem "set Sonos_Buero LEDState 0"
      }
    }<
    2014.04.29 14:38:53 5: Sender: not on any display, ignoring notify
    2014.04.29 14:38:53 4: eventTypes: SONOSPLAYER Sonos_Buero presence: appeared -> presence: appeared
    2014.04.29 14:38:53 4: eventTypes: SONOSPLAYER Sonos_Buero fieldType:  -> fieldType:


    sorry, ich sehe es einfach nicht!

    Spartacus!
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 02 Mai 2014, 09:48:48
    Zitat von: Reinerlein am 01 April 2014, 11:51:08
    @strauch: Der Fehler ist komisch. An der Stelle hole ich mir das Sonos-Device aus der Fhem-Deviceliste. Das bedeutet, du hast in deinem Fhem-System ein Device, welches keinen Typ definiert hat (darüber identifiziere ich das Sonos-Device).
    Geht das überhaupt regulär?

    Ich komme mit dem Fehler leider noch nicht weiter, hast du irgendwie eine Möglichkeit die Geräte auszuspucken die diesen Fehler verursachen?

    Ich hab jetzt auch noch folgende Fehler:
    Loading device description failed with error: 500 Can't connect to 192.168.200.101:60617 (timeout) at FHEM/00_SONOS.pm line 2194 thread 1
    Loading device description failed with error: 500 Can't connect to 192.168.200.101:60617 (No route to host) at FHEM/00_SONOS.pm line 2194 thread 1


    Immernoch Version 2.5 im Einsatz. Gibts vielleicht eine Möglichkeit die Geräte abzumelden, wenn ich sie ausschalte? Die werden, eh per Heimautomation an und ausgeschaltet.
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 02 Mai 2014, 12:21:42
    Hallo,
    auch ich komme leider nicht weiter. Meine Initialisierungs Routinen sollen nur laufen, wenn der Player eingestöpselt wird, und nicht wenn fhem gestartet wird.. Aber irgendwie ist da noch der Wurm drin. Ich finde den Fehler nicht! (siehe meinen Post weiter oben..)

    Zur Zeit wird bei jedem Start von fhem für jeden Player ein Init ausgeführt, da das mit der Abfrage der URI nicht funzt. Das sieht dann so aus:
    # Initialisierung von Terrasse wenn Player mit Strom versorgt wird
    # WDR 2 Ruhrgebiet als Default.
    define Init_Terrasse notify Sonos_Terrasse:presence:.appeared \
    {fhem "set Sonos_Terrasse LoadRadio WDR2%%20Ruhrgebiet"};; \
    {fhem "set Sonos_Terrasse Volume 3"};;\
    {fhem "set Sonos_Terrasse Treble 10"};;\
    {fhem "set Sonos_Terrasse Bass 3"};;\
    {fhem "set Sonos_Terrasse Balance 0"};;\
    {fhem "set Sonos_Terrasse Loudness 1"};;\
    {fhem "set Sonos_Terrasse LEDState 0"}
    attr Init_Terrasse disable 0
    attr Init_Terrasse group Sonos Player
    attr Init_Terrasse room Init


    Ich habe derzeit 7 Player im Haus und für jeden Player eine eigene Init Routine. Das ist zwar nicht sehr elegant, weiss aber noch nicht, wie ich das anstellen soll! Ein zusätzliches Problem ist, dass fhem regelmäßig abkachelt, wenn beim Start die Init-Befehle ausführt werden. Disable ich die Init-Routinen läuft fhem stabil. Hat jemand einen tipp woran das liegt? Ist fhem mit diesen vielen BEfehlen beim Start überfordert?

    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Mai 2014, 12:33:54
    Hi zusammen,

    @strauch: Ich baue da mal eine Ausgabe ein, damit man was im Log vorfindet, was er überhaupt gesucht hat (wenn er nichts findet)...

    @Spartacus: Hast du schon mal versucht, nicht direkt beim Event-Ereignis das Setzen der Sonos-Vorbelegungen durchzuführen?

    Also, in dem Init-Event startest du nur einen Timer für später, der dann den entsprechenden Player initialisiert. Das kannst du dann auch so auslagern, dass du nur eine Methodik hinterlegst, die dann per Variable den Devicenamen des entsprechenden Players erhält, und somit für alle gleichermaßen funktioniert...

    Ich könnte mir halt vorstellen, dass zu dem Zeitpunkt des Events die von die abgefragte Information (currentTrackURI leer) noch nicht vorliegt (auch wenn es aus dem Statefile geladen wird, wird dabei eine Reihenfolge durchgeführt, sodass zum Zeitpunkt von Event A die Information B vielleicht noch nicht vorliegt).
    Dieser Kontextbezug ist in Fhem nicht gut gelöst, da die Events immer "sofort" kommen, auch wenn das "Objekt" (es ist halt keins) des Fhem-Devices noch nicht vollständig wieder aufgebaut wurde...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 02 Mai 2014, 14:13:39
    Hallo,
    hm! Verstehe ich nicht so ganz, was da baläuft!.
    Aber:
    habe jetzt mal ein sleep eingebaut:
    Sonos_Buero:presence:.appeared
    {
    fhem "sleep 60";;
    if (ReadingsVal ("Sonos_Buero","currentTrackURI","") eq "")
      {
       fhem "set Sonos_Buero LoadRadio WDR2%%20Ruhrgebiet";;
       fhem "set Sonos_Buero Volume 10";;
       fhem "set Sonos_Buero Treble 10";;
       fhem "set Sonos_Buero Bass 3";;
       fhem "set Sonos_Buero Balance 0";;
       fhem "set Sonos_Buero Loudness 1";;
       fhem "set Sonos_Buero LEDState 0"
      }
    }

    Jetzt verhält er sich richtig! Aber das ist natürlich doof, da das System für 60sec. lahmgelegt wird.  Meinst Du das mit dem timer so?

    Sonos_Bad:presence:.appeared
    define InitBadLater at +00:00:10 trigger BadInit

    und dann...

    define BadInit notify BadInit \
    set Sonos_Bad Volume
    ...


    Wäre ziemlich kompliziert, oder wie sollte das mit dem Timer gehen...

    Spartacus.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Mai 2014, 14:22:25
    Hi Spartacus,

    das mit dem Sleep geht in die gleiche Richtung. Fhem-Intern ist das ein Timer, der nach der angegebenen Zeit den Rest des Statements ausführt.
    Das bedeutet, das mein Gedankengang richtig ist: Die Readings sind einfach noch nicht fertig eingelesen...

    Du könntest aber auch einfach eine kleine Prozedur in deine myUtils packen, dem du einen Parameter für den Namen des zu initialisierenden Fhem-Devices mitgibst. Diesen Parameter kannst du in einem Notify aus den Notify-Variablen ermitteln, und übergeben.
    So kannst du ein einziges Notify-Event machen, welches auf z.B. "Sonos_.*:.appeared" reagiert, und dort deinen Timeraufruf eintragen. Dann hast du für alle Player mit einem Notify und einer Perl-Prozedur alles erschlagen...

    Mit der Dauer der Pause, bzw. dem Abstand für den Timer musst du dann mal spielen. Ich denke, dass ein paar Sekunden reichen. Sonst kannst du dir auch ein Notify auf das globale "initialized"-Event eintragen, und dann dort alles lostreten...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 02 Mai 2014, 14:24:15
    Zitat von: Reinerlein am 02 Mai 2014, 12:33:54
    @strauch: Ich baue da mal eine Ausgabe ein, damit man was im Log vorfindet, was er überhaupt gesucht hat (wenn er nichts findet)...

    Danke. Hast du hierzu noch eine Idee?
    Loading device description failed with error: 500 Can't connect to 192.168.200.101:60617 (timeout) at FHEM/00_SONOS.pm line 2194 thread 1

    Damit wird gerade im Minutentakt mein Log vollgeschrieben.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Mai 2014, 15:10:55
    Hi Strauch,

    ist denn die angegebene IP-Adresse einer deiner Zoneplayer?
    Nicht dass sich da ein Fremdgerät eingeschlichen hat :-)

    Ansonsten könntest mal in den Logs (notfalls Level 5) prüfen, ob der IsAlive-Erkennungsmechanismus deinen abgeschalteten Player sauber erkennt und auf disappeared stellt...

    So wie sich das anfühlt, scheint sich da aber ein Fremdgerät zwischenzumelden, den man dann natürlich nicht für die ganzen Subscriptions erreicht...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 02 Mai 2014, 15:48:51
    Ist ein Fremdgerät, ein Desktop Rechner, irritiert der vielleicht weil da das Sonosprogramm drauf läuft?! Was kann ich denn nun machen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Mai 2014, 16:39:33
    Hi strauch,

    hast du zufällig die Möglichkeit, mit dem Intel Device Spy mal zu schauen, als was sich dein Computer da so meldet?
    Eigentlich fange ich alles Nicht-Sonosmäßige ab, zumindest versuche ich das :-)

    Wenn man den Spy startet, zeigt er in einer Liste *alle* UPnP Komponenten im lokalen Netz an. Da sind dann alle Zoneplayer, und alle anderen Devices (wie z.B. eine Fritzbox o.ä.).
    Dort sollte dann auch dein Computer zu sehen sein, und als welches Device er sich meldet (Device URN)...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 02 Mai 2014, 19:35:04
    Hi Rainerlein, die Möglichkeit hab ich bestimmt dann schau ich mal. Danke für den Tipp


    Gesendet von meinem Nexus 4 mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 02 Mai 2014, 20:19:28
    Taucht im Intel Device Spy nicht auf, versuche ich es manuell hinzuzufügen mit http://192.168.200.101:60617 sagt er das er: "could not load device".
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 03 Mai 2014, 08:43:29
    Hallo Reinerlein, ich hab mal angehangen was das Sonos Modul so alles Nachts von sich gibt.Ich überlege jetzt einfach das Loglevel auf 1 zu setzten. Ich finds so anstregend die anderen Meldungen dazwischen zu finden :-).

    Sind manche Meldungen einfach und da lässt sich auch nichts ändern oder sind das wirklich "Fehler" die da bei mir auflaufen?!

    Grüße

    strauch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Mai 2014, 11:27:55
    Hi strauch,

    da mischen sich zwei Probleme (soweit ich das überblicken konnte):
    - Der Player, der gar keiner ist (mit der 101 in der IP)
    - Der Player, der weg ist, und das Modul weiß das nicht (mit der 151 in der IP)

    für beides wäre es gut, mal einen 5er Log-Auszug zu haben, da dort auch die Meldungen vom IsAlive-Checker enthalten sind. Dort sieht man mal, ob und warum der Checker den fehlenden 151er nicht bemerkt.

    Außerdem sieht man beim Discover-Event des 101er mal, was da überhaupt reinkommt, und warum er der Meinung ist, dass sei ein Zoneplayer...

    Wenn du kannst, versuch doch nur die Log-Ausgaben des Submoduls mitzuschreiben (nachdem du vorher den Loglevel auf 5 gesetzt hast), indem du den ganzen Prozess selber startest und die Ausgabe in eine Datei leitest (im Wiki habe ich auch zwei Sätze dazu beschrieben). Dort steht dann alles wichtige des Moduls drin :-)

    Grüße
    Reiner

    P.S.: Und ja, manche Meldungen sind normal. Das Modul redet sehr gerne :-), und wenn man die Aussagen nicht haben möchte, muss man wirklich den Loglevel auf 0 stellen. Dann kommen nur wirkliche/sichere Fehler durch...
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 05 Mai 2014, 12:19:41
    So ich hab mal etwas mitgeloggt. Was mir auffällt. Der Rechner mit der IP101 ist mit Windows 8.1 versehen und der einzige damit. Wie bei Windows Vista kann man Windows 8 standardmäßig nicht anpingen, vielleicht ist das ein Problem. Erstaunlich das Windows 7 das nicht hat. Wirklich schlau bin ich aus Loglevel 5 aber auch nicht geworden.... anbei mein Log seit der Umstellung seit ca. 12 Uhr heute ist besagter 101er Rechner an..... könnte sein, das dort was von Cyberlink läuft was upnp zur Verfügung stellt....

    Grüße

    strauch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Mai 2014, 15:24:35
    Hi strauch,

    hmm... da scheint sich dein Windows auf die UPnP-Serviceanfrage zu melden, aber reagiert dann nicht mehr auf die Detail-Anfrage des UPnP-Moduls.

    Ich werde mal schauen, ob ich einfach IP Adressen zum Ignorieren angeben kann... das müsste dann aber ja auch in der Fhem-Konfiguration landen... Vielleicht kann ich ja auch irgendwo dran erkennen, dass es ein nicht ernst gemeinter Aufruf ist... naja ich bastele mal...

    Aber irgendwie fehlt mir die Ausgabe des IsAlive-Checker in deinem Log. Hattest du nach dem Setzen des Loglevels einen Neustart gemacht?
    U.U. wird der Loglevel-Wert dann nur für einige Teile übernommen (das läuft ja im SubModul in verschiedenen Threads ab).
    Nur mit diesen Ausgaben können wir dem "verschwindenden" 150er auf die Schliche kommen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 05 Mai 2014, 15:26:21
    oje nein habe ich nicht, das werde ich sofort nachholen... Bevor du bastelst, ich schau mal was auf dem Rechner so läuft irgendwas muss ja auf dem Port sein, da es nicht mein Rechner ist, muss ich mich mal dran mogeln.... vielleicht kann ich da noch tipps geben.
    Ich werde auch mal das Intel Programm direkt auf dem Rechner laufen lassen.

    Edit: 2014.05.05 15:43:10 5: SONOS2: PingType: icmp
    Thread 2 terminated abnormally: icmp ping requires root privilege at FHEM/00_SONOS.pm line 3329 thread 2

    ok ich dachte ich hätte root...... das war wohl auf der Fritzbox... ich änder das mal....
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 05 Mai 2014, 20:05:42
    Zitat von: Reinerlein am 02 Mai 2014, 14:22:25
    Hi Spartacus,

    das mit dem Sleep geht in die gleiche Richtung. Fhem-Intern ist das ein Timer, der nach der angegebenen Zeit den Rest des Statements ausführt.
    Das bedeutet, das mein Gedankengang richtig ist: Die Readings sind einfach noch nicht fertig eingelesen...

    Du könntest aber auch einfach eine kleine Prozedur in deine myUtils packen, dem du einen Parameter für den Namen des zu initialisierenden Fhem-Devices mitgibst. Diesen Parameter kannst du in einem Notify aus den Notify-Variablen ermitteln, und übergeben.
    So kannst du ein einziges Notify-Event machen, welches auf z.B. "Sonos_.*:.appeared" reagiert, und dort deinen Timeraufruf eintragen. Dann hast du für alle Player mit einem Notify und einer Perl-Prozedur alles erschlagen...

    Mit der Dauer der Pause, bzw. dem Abstand für den Timer musst du dann mal spielen. Ich denke, dass ein paar Sekunden reichen. Sonst kannst du dir auch ein Notify auf das globale "initialized"-Event eintragen, und dann dort alles lostreten...

    Grüße
    Reiner

    Hallo Reiner,
    danke für die Info. Kann leider keine generelle Init-Routine einbauen, da einige Player immer in einer Gruppe laufen und sich nach dem Einschalten in diese Gruppe verbinden. sollen. Deshalb brauche ich ein Init für jedes Device.....

    Das mit dem global:Initialized ist mir nicht ganz klar! Ich hatte verstanden, dass sich das auf einen Neustart von fhem bezieht und m.E. unwirksam ist, wenn ein Player aus- und wieder eingesteckt wird, oder? Hier muss man doch zwingend mit dem sleep oder alternativ mit dem Makro arbeiten, oder?

    Beispiel global:INITIALIZED
    # Sonos Init nach 5min. alles auf Standard
    # define SonosInit notify global:INITIALIZED define InitSonos at +00:05:00 {Bad_Init()}


    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Mai 2014, 20:31:52
    Hi Spartacus,

    ich meinte auch eher, dass du dir in deinem Initialized (in einer Variablen oder einem Dummy-Device) merkst, dass der Init-Prozess nun durch ist, und dann erst die jeweiligen Player-Events zulässt (durch eine If-Abfrage auf diesen gespeicherten Wert am Anfang des Player-Notify).
    Damit erreichst du, dass die Player nicht initialisiert werden, wenn Fhem neugestartet wurde...

    Das sollte nur eine Idee "von der anderen Richtung" aus sein. Ob das besser oder schlechter ist, musst du mal ausprobieren :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 05 Mai 2014, 22:21:16
    @Reinerlein ich konnte am Rechner selber auch nichts finden. Weder mit dem Intel Spy noch mit nem Portscanner. Es läuft wohl Cyberlink powerdvd vielleicht macht der was.

    Gesendet von meinem Nexus 4 mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 06 Mai 2014, 17:08:08
    Zitat von: Reinerlein am 05 Mai 2014, 20:31:52
    Hi Spartacus,

    ich meinte auch eher, dass du dir in deinem Initialized (in einer Variablen oder einem Dummy-Device) merkst, dass der Init-Prozess nun durch ist, und dann erst die jeweiligen Player-Events zulässt (durch eine If-Abfrage auf diesen gespeicherten Wert am Anfang des Player-Notify).
    Damit erreichst du, dass die Player nicht initialisiert werden, wenn Fhem neugestartet wurde...

    Das sollte nur eine Idee "von der anderen Richtung" aus sein. Ob das besser oder schlechter ist, musst du mal ausprobieren :-)

    Grüße
    Reiner

    Hi Reiner,
    die Idee ist gut! aber ich habe es immer noch nicht richtig kappiert!
    Ich merke mir mit global:INITIALIZED  in einem dummy-Device (state=1), dass fhem nun initialisiert ist. In der Sonos_Init frage ich dieses dummy device ab und durchlaufe das  "Sonos_.*:.appeared" nur, wenn das Dummy auf 1 steht.  Soweit ok!
    Jetzt merkt sich fhem doch in der fhem.save den zustand der devices und läd den Zustand, wenn fhem gestartet wird. Damit wäre dann doch der Zweck verfehlt, oder? Die Variable bleibt auf "1" und "Sonos_.*:.appeared" rennt los, obwohl fhem noch nicht initialisiert ist....Das habe ich noch nicht gepeilt....oder kann man verhindern, dass der Zustand des Devices abgespeichert wird.

    Spartacus.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Mai 2014, 17:31:55
    Hi Spartacus,

    stimmt, an der Stelle habe ich die Idee nicht weiter durchdacht gehabt.

    Du könntest natürlich versuchen in dem "global:SHUTDOWN"-Event den Dummy zu löschen (oder zumindest den gemerkten Wert zurücksetzen). Vielleicht landet er dann auch nicht mehr im Save-File (in der fhem.pl sieht es zumindest vielversprechend aus)...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 06 Mai 2014, 17:40:44
    Hi,
    ok. Ich könnte mal in den Anfängerfragen psoten, vielleicht hat noch jemand eine Idee dazu.

    Aber so richtig funktioniert das mit dem initalisieren auch während des Betriebs noch nicht. Habe jetzt mehrfach mit dem sleep-Befehl gespielt und muss gestehen, dass es mehr oder weniger Zufall ist, wenn beim Einstöpseln des Büro-Sonos die Init-Befehle ausgeführt werden. Dieser Versuch (siehe Code) hier ging gerade 3 x gut und einmal schief. Das Gleiche mit sleep 10 und sleep 60. Wirklich doof ist, dass fhem tatsächlich 5 min schläft und auch das Web-Interface nicht bedienbar ist. Offenbar wird der Sleep Befehl nicht nach dem "appeared"  ausgeführt, sondern teilweise vorher..Nicht sehr zufriedenstellend das Ganze. Ich teste das mal mit dem Makro.....

    Sonos_Buero:presence:.appeared
    {
    fhem "sleep 300";;
    if (ReadingsVal ("Sonos_Buero","currentTrackURI","") eq "")
      {
       fhem "set Sonos_Buero LoadRadio WDR2%%20Ruhrgebiet";;
       fhem "set Sonos_Buero Volume 10";;
       fhem "set Sonos_Buero Treble 10";;
       fhem "set Sonos_Buero Bass 3";;
       fhem "set Sonos_Buero Balance 0";;
       fhem "set Sonos_Buero Loudness 1";;
       fhem "set Sonos_Buero LEDState 0"
      }
    }


    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 06 Mai 2014, 17:46:40
    Klingt sich dein SonosBuero denn überhaupt fehlerfrei in die bestehende Landschaft ein?
    Es kann nämlich auch sein das der player Probleme beim anmelden hat bzw. verursacht...
    Ist deine Sonos Landschaft verkabelt oder per W-Lan verbunden?
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 06 Mai 2014, 18:00:17
    Hallo,
    ja, das ist alles gut. Habe das die Tage auch noch einmal vom Sonos Support überprüfen lassen. Die Verbindungen sind top! Teilweise ist verkabelt, teilweise WLAN. Auf jeder Etage gibt es mindestens ein verkabeltes System. Die NetworkMatrix (http://<IP>:1400/support/review) ist überall grün. Das sollte eigentlich passen.

    Spartacus.

    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 Mai 2014, 14:49:20
    Zitat von: Reinerlein am 02 Mai 2014, 14:22:25
    ....
    So kannst du ein einziges Notify-Event machen, welches auf z.B. "Sonos_.*:.appeared" reagiert, und dort deinen Timeraufruf eintragen. Dann hast du für alle Player mit einem Notify und einer Perl-Prozedur alles erschlagen...
    ....

    Grüße
    Reiner
    Hallo,
    ich bin noch immer dabei eine generelle Routine zu schreiben, die meine Player initialisiert. Mir ist noch nicht klar, wie ich das mit "Sonos_.*:.appeared" anstelle.
    Wenn dieses Event ausgelöst wird, muss doch der Devicename ermittelt werden, aber wie komme ich da ran? Steht der in der Variablen $EVENT oder wie übergebe ich das an meine SON_Init().

    Habe jetzt in der myUtils folgendes gebaut:
    sub SON_Init($)
    {
    my ($txt) = @_;
    # generelle Einstellungen
    {fhem "set Sonos_$txt LoadRadio WDR2%20Ruhrgebiet"}
    {fhem "set Sonos_$txt Volume 20"}
    {fhem "set Sonos_$txt Treble 10"}
    {fhem "set Sonos_$txt Bass 5"}
    {fhem "set Sonos_$txt Balance 0"}
    {fhem "set Sonos_$txt Loudness 1"}
    {fhem "set Sonos_$txt LEDState 0"}
    }
    #


    Danke Sparatcus

    NACHTRAG:
    so! habe es hingekriegt! Die Init-Routine wird 1min. verzögert ausgeführt. Sonst stürzt fhem immer bei mir ab.

    Sonos_.*:.appeared
    define Init_.$NAME._Later at +00:01:00
    {
      SON_Init('$NAME') 
    }
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 Mai 2014, 16:50:06
    Hallo,
    brauche aber trotzdem noch einmal Hilfe...

    Sonos_.*:.appeared
    define Init_.$NAME._Later at +00:00:30
    {
      if (ReadingsVal ("$NAME","playerType","") eq (("S1") || ("S3") || ("ZP120")))
       {
        if (ReadingsVal ("$NAME","currentTrackURI","") eq "")
        {
         SON_Init('$NAME')
        }
       }
    }


    habe die Funktion ein wenig erweitert, da sonst auch die Sonos-Bridge, der Sonos-SUB mit der Grundkonfiguration bestückt würden und es dann wohl zu einem Fehler käme. Allerdings scheint die Player-Abfrage auf S1, S3 und ZP120 nicht zu gehen. Die "oder Verknüpfung ist wohl falsch. Ich finde es aber nicht. Im Logfile wird kein Fehler angezeigt.

    2014.05.10 16:43:17 5: exec at command Init_.Sonos_Terrasse._Later
    2014.05.10 16:43:17 5: Cmd: >{
      if (ReadingsVal ("Sonos_Terrasse","playerType","") eq (("S1") || ("S3") || ("ZP120")))
       {
        if (ReadingsVal ("Sonos_Terrasse","currentTrackURI","") eq "")
        {
         SON_Init('Sonos_Terrasse')
        }
       }
    }<
    2014.05.10 16:43:17 5: Triggering global (1 changes)
    2014.05.10 16:43:17 5: Notify loop for global DELETED Init_.Sonos_Terrasse._Later

    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 Mai 2014, 18:31:00
    Hallo,
    so! jetzt ist die Sache rund!
    Hier das Ergebnis:

    in der myUtils:
    # Sound-Grundeinstellungen
    #
    sub SON_Init($$)
    {
    my ($player, $typ) = @_;
    if ($typ eq "S1")
    {
      {fhem "set $player LoadRadio WDR2%20Ruhrgebiet"}
      {fhem "set $player Volume 5"}
      {fhem "set $player Treble 10"}
      {fhem "set $player Bass 3"}
      {fhem "set $player Balance 0"}
      {fhem "set $player Loudness 1"}
      {fhem "set $player LEDState 0"}
    }
    if ($typ eq "S3")
    {
      {fhem "set $player LoadRadio WDR2%20Ruhrgebiet"}
      {fhem "set $player Volume 10"}
      {fhem "set $player Treble 10"}
      {fhem "set $player Bass 3"}
      {fhem "set $player Balance 0"}
      {fhem "set $player Loudness 1"}
      {fhem "set $player LEDState 0"}
    }
    }
    #


    ..und das notify im DEF-Bereich:
    Sonos_.*:.appeared 
    define Init_$NAME_Later at +00:00:30
    {
      my $reading =(ReadingsVal ("$NAME","playerType",""));;;;
      if (($reading eq ("S1")) || ($reading eq ("S3")) || ($reading eq ("ZP120")))
      {
       if (ReadingsVal ("$NAME","currentTrackURI","") eq "")
        {
         SON_Init('$NAME', $reading)
        }
      }
    }


    je nach Playertyp können hier unterschiedliche Grundkonfigurationen beim Einstecken der Player geladen werden. Die Zeitverzögerung von 30sec. ist nötig, da offenbar direkt nach dem "appeard" noch keine Player - Details z.B playerTyp vorliegen. Außerdem habe ich die erfahrung gemacht, dass fhem abstürzt, wenn man die "Betankung" direkt startet.

    Durch das " if (ReadingsVal ("$NAME","currentTrackURI","") eq "")" stelle ich sicher, dass hier nur bei der Trennung der Player vom Netz etwas passiert. Wird fhem neu gestartet, bleibt die Konfig der Player erhalten.

    Wenn jemand es besser gelöst hat, wäre ich für Tipps dankbar!

    Gruß,
    Spartacus.
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 14 Mai 2014, 18:20:56
    Hallo,
    ich brauche noch einmal Hilfe:

    habe zusätzlich zum Sonos_.*:.appeared  -Event ein 2. Event angelegt.

    (Sonos_Schlafzimmer | Sonos_Bad):.appeared 
    define Init_SchlafzimmerGroup_Later at +00:03:00
      set Sonos Groups [Sonos_Schalzimmer, Sonos_Bad]


    und zwar soll hiermit erreicht werden, dass hier sowohl auf Schlafzimmer als auch auf Bad :.appeared reagiert werden soll um die Gruppe zu bilden.
    Aber das funzt nicht und im log steht kein Eintrag.

    Kann jemand einen tipp geben? oder muss ich das in dem Sonos_.*:.appeared  -Event verwursten und Schlafzimmer , Bad abfragen.

    Spartacus.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Mai 2014, 19:39:08
    Hi Spartacus,

    du solltest auf jeden Fall die Leerzeichen um den senkrechten Strich herum weglassen.
    Erstens trennst du damit den regulären Ausdruck für Fhem auf in verschiedene Parameter zum Notify, und zweitens, selbst wenn das ganze als regulärer Ausdruck verwendet werden würde, würde er nach einem " Sonos_Bad" (mit Leerzeichen davor) suchen, und diesen dann nicht treffen...

    Versuch mal, ob es dann besser wird...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: miadam009 am 14 Mai 2014, 19:45:16
    Moin..

    Beschäftige mich gerade mit fhem und meinem Sonso Play1.
    Habe mich an die Anleitung gehalten.. nur leider bekomme es nicht zum laufen

    Hier meine Fehler :

    Cannot load module SONOS

    2014.05.14 19:43:30 1: reload: Error:Modul 00_SONOS deactivated:
    Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 50 at ./FHEM/00_SONOS.pm line 13, <> line 1.

    2014.05.14 19:43:30 0: Unrecognized character \xC2; marked by <-- HERE after at master <-- HERE near column 50 at ./FHEM/00_SONOS.pm line 13, <> line 1.

    Könnt Ihr mir bitte einen Tip geben , was ich falsch mache.. !!

    Danke !!!!
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 14 Mai 2014, 20:03:46
    Zitat von: Reinerlein am 14 Mai 2014, 19:39:08
    Hi Spartacus,

    du solltest auf jeden Fall die Leerzeichen um den senkrechten Strich herum weglassen.
    Erstens trennst du damit den regulären Ausdruck für Fhem auf in verschiedene Parameter zum Notify, und zweitens, selbst wenn das ganze als regulärer Ausdruck verwendet werden würde, würde er nach einem " Sonos_Bad" (mit Leerzeichen davor) suchen, und diesen dann nicht treffen...

    Versuch mal, ob es dann besser wird...

    Grüße
    Reiner

    Hi Reiner,
    neee! passiert einfach gar nichts! Hbe das erste Sonos_.*:.appeared mal disabled. Bringt auch nichts.

    Hier noch einmal der Code aus dem DEF-Bereich..

    (Sonos_Schlafzimmer|Sonos_Bad):.appeared
    define Init_SchlafzimmerGroup_Later at +00:03:00
      set Sonos Groups [Sonos_Schalzimmer, Sonos_Bad]

    Lt. Notify Syntax müsste das eigentlich gehen! Aber es kommt bei Verbose 5 nicht mal ein Fehler....

    Spartacus

    NACHTRAG:
    Aua! Wenn man ein bissl doof ist!
    (Sonos_Schlafzimmer|Sonos_Bad):presence:.appeared
    define Init_SchlafzimmerGroup_Later at +00:03:00
      set Sonos Groups [Sonos_Schalzimmer, Sonos_Bad]


    man sollte auch das "presence" einbauen....
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 14 Mai 2014, 20:54:33
    Du hast in jedem fall den Schlafzimmer Tippfehler drin...

    Zitatset Sonos Groups [Sonos_Schalzimmer, Sonos_Bad]
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 14 Mai 2014, 21:04:05
    Hi,
    Danke! aber das habe ich dann auch gemerkt!  :)
    Funzt jetzt einwandfrei....
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Mai 2014, 21:39:52
    Hi miadam009,

    ok, da scheint die Datei in einem komischen Zeichen-Encoding vorzuliegen. und Perl kann sie nicht einlesen (bzw. interpretieren), Zeile 13 hat nur 40 Zeichen/Spalten (und nicht 50, wie in der Fehlermeldung angegeben)...

    Hast du die Installation mittels Update-Befehl durch Fhem erledigen lassen, oder manuell heruntergeladen?
    Wenn nicht, dann versuche das erstmal.

    Wenn ja, dann versuch dir das Sonos-Perlmodul mal selber anzuzeigen. Vielleicht erkennst du da ja schon was. Ansonsten müsstest du noch ein paar Rahmenbedingungen mitteilen (ist das ein Linux, ein Windows, ein Raspberry Pi, usw...). Vielleicht können wir dann was erkennen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: miadam009 am 14 Mai 2014, 22:04:42
    Hallo Reiner

    das die Module kaputt seinen , hatte ich auch schon gedacht.
    Hab alles per Update gemacht..
    Mein TAU System ist ein RPi (Linux raspberrypi 3.10.25+ #622 PREEMPT Fri Jan 3 18:41:00 GMT 2014 armv6l GNU/Linux)

    Ich werde noch mal ganz frisch den RPI aufsetzten und dann Schritt für Schritt
    Hast Du noch ein Link für mich, wo die original Module downloaden kann..

    Wenn die Neustallation nicht klappt geben ich erst einmal auf;-)
    Danke
    Gruß Micha



    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Mai 2014, 22:42:32
    Hi Micha,

    wie im Wiki unter http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Installation_mittels_FHEM-Updatemechanismus (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Installation_mittels_FHEM-Updatemechanismus) beschrieben gibt es den offiziellen Fhem-Download-Befehl:
    update thirdparty http://fhem.lmsoft.de/sonos sonos
    Aber du musst natürlich trotzdem noch darauf achten, dass die Perl-Module installiert sind. Aber auch dazu gibt es ja Hinweise im Wiki.

    Diese Anweisung hat, meines Wissens nach, eigentlich noch nie einen fehlerhaften Download durchgeführt. Ausserdem verwenden hier viele den Pi (wie ich z.B. auch). Das sollte also eigentlich laufen...

    Den Befehl kannst du auch durchführen, wenn bereits einzelne Dateien vorhanden sind. Mittels der erweiterten Angabe von update thirdparty http://fhem.lmsoft.de/sonos sonos force kann man ein neues herunterladen erzwingen.

    Und natürlich kannst du diese URL http://fhem.lmsoft.de/sonos/controls_sonos.txt (http://fhem.lmsoft.de/sonos/controls_sonos.txt) auch selber im Browser eingeben, oder mittels wget herunterladen...
    Dort siehst du dann die Ordnerstruktur, wie du sie vom Webserver herunterladen kannst. Ein Browsing ist nicht zulässig, aber wenn du die Namen direkt angibst, bekommst du die Dateien natürlich...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: miadam009 am 14 Mai 2014, 22:47:41
    Hi.. Reiner..

    Danke für die Info..

    ich werde alles noch mal neu auf meiner Tau installieren..

    Installation läuft schon...

    Ich gebe nicht auf.. !!!!!!!!!!

    Werde dann mit Erfolg berichten ... hoffe ich..   ;)

    Gruß Micha
    Titel: Antw:Sonos steuern
    Beitrag von: miadam009 am 14 Mai 2014, 23:17:10
    HI Reiner,

    während meine Installation auf dem anderen Pi läuft.
    Habe ich noch mal

    "update thirdparty http://fhem.lmsoft.de/sonos sonos force"
    laufen lassen..

    Hier der Fehler..


    Cannot load module SONOS

    log:
    2014.05.14 23:15:43 1: Including ./FHEM/sonos.cfg
    2014.05.14 23:15:43 1: reload: Error:Modul 00_SONOS deactivated:
    Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 246, <> line 1.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 246, <> line 1.

    2014.05.14 23:15:43 0: Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 246, <> line 1.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 246, <> line 1.

    Gruß Micha
    Titel: Antw:Sonos steuern
    Beitrag von: miadam009 am 15 Mai 2014, 00:05:55
    Hallo Reiner

    ich bin zu blöd..

    RPi neu ausgesetzt :

    1. 2014-01-07-wheezy-raspbian auf SD karte
    2. SD vergrössert  - > reboot 
    3. update + upgrade
    4. sudo apt-get -f install && sudo apt-get install perl libdevice-serialport-perl && sudo apt-get install libio-socket-ssl-perl && sudo apt-get install libwww-perl && sudo apt-get install libxml-simple-perl
    5. sudo wget http://fhem.de/fhem-5.5.deb && sudo dpkg -i fhem-5.5.deb
    6. cd /opt
    7. sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem
    8. Fhem funkt.
    9. Update fhem notice confirm update-20130127-001
    10.  reboot
    11. define Sonos SONOS localhost:4711 30 in die fhem.cfg -- Fehler ist klar !
    12. sudo cpan LWP::Simple .. keine Fehler gesehen
    13. sudo mkdir /mnt/SonosSpeak
    14. sudo apt-get install samba samba-common-bin
    15. sudo nano /etc/samba/smb.conf -- Daten eingetragen !
    16. sudo /etc/init.d/samba restart
    17. reboot zur Sicherheit..
    18. autocreate noch ergänzt
    19. update thirdparty http://fhem.lmsoft.de/sonos sonos
    20. restart
    21. Verzeichnis gecheckt.. FHEM/lib... !!! sieht gut aus...
    22. rereadcfg  =  "Cannot load module SONOS"

    23. log siehe Anhang

    Was mache ich verkehrt ????

    Gruß und Gute Nacht !!

    Micha



    -
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 15 Mai 2014, 06:20:08
    les nochmal im Wiki...
    du brauchst noch mehr zusätzliche Module, nicht nur LWP::simple
    Titel: Antw:Sonos steuern
    Beitrag von: miadam009 am 15 Mai 2014, 08:18:37
    Guten Morgen...

    Danke Danke Danke für den Hinweis..

    Es funkt..

    So habe ich es gemacht !!

    1. 2014-01-07-wheezy-raspbian auf SD karte
    2. SD vergrössert  - > reboot 
    3. update + upgrade
    4. sudo apt-get -f install && sudo apt-get install perl libdevice-serialport-perl && sudo apt-get install libio-socket-ssl-perl && sudo apt-get install libwww-perl && sudo apt-get install libxml-simple-perl
    5. sudo wget http://fhem.de/fhem-5.5.deb && sudo dpkg -i fhem-5.5.deb
    6. cd /opt
    7. sudo chmod -R a+w fhem && sudo usermod -a -G tty pi && sudo usermod -a -G tty fhem
    8. Fhem funkt.
    9. Update fhem notice confirm update-20130127-001
    10.  reboot
    11. define Sonos SONOS localhost:4711 30 in die fhem.cfg -- Fehler ist klar !

    12.00: sudo cpan LWP::Simple .. keine Fehler gesehen
    12.01: sudo cpan LWP::UserAgent
    12.02: sudo cpan SOAP::Lite
       ging nicht -> manuell
       1. sudo su -
       2. mkdir soaplite
       3. cd soaplite
       4. wget http://search.cpan.org/CPAN/authors/id/M/MK/MKUTTER/SOAP-Lite-0.715.tar.gz (mauell angepasst)
       5. tar -xzvf SOAP-Lite-0.715.tar.gz
       6. cd SOAP-Lite-0.715
       7.  perl Makefile.PL
       8. make
       9. make install
       10. reboot


    12.03: sudo cpan HTTP::Request   

    13. sudo mkdir /mnt/SonosSpeak
    14. sudo apt-get install samba samba-common-bin
    15. sudo nano /etc/samba/smb.conf -- Daten eingetragen !
    16. sudo /etc/init.d/samba restart
    17. reboot zur Sicherheit..
    18. autocreate noch ergänzt
    19. update thirdparty http://fhem.lmsoft.de/sonos sonos
    20. restart
    21. Verzeichnis gecheckt.. FHEM/lib... !!! sieht gut aus...

    99. Es geht!!! wenn man es richtig macht.. !!! ;-)

    DANKE DANKE DANKE

    Gruß Micha
    Titel: Antw:Sonos steuern
    Beitrag von: matzemoerk am 17 Mai 2014, 11:43:45
    Hallo zusammen,

    Ich habe FHEM und Sonos mittlerweile stabil auf meinem RaspberryPi laufen. Momentan beschäftige ich mir mit der Steuerung von FHEM über meine Pebble Smartwatch. Dazu ergibt sich folgende "Befehlskette":

    PebbleTasker -> Tasker mit andFHEM Plugin -> FHEM -> Sonos.

    Ich habe mir nun in Tasker folgendes notify angelegt, das sie Funksteckdose des Play:5 in meinem Zimmer anschaltet (falls noch nicht geschehen), paar Sekunden wartet und dann den als Sonos Favorit angelegten Google Music Radiosender "Radio - auf gut Glück!" (Als Favurit "Matthias" angelegt) mit vorher definierter Lautstärke abspielt:


    if (Value("funksteckdose_strom_matthias_sonos") eq "aus"){
    fhem('set funksteckdose_strom_matthias_sonos an');
    fhem('sleep 20');
    }
    fhem('set Sonos_Matthias Volume 8');
    fhem('set Sonos_Matthias StartFavourite Matthias');
    }


    Dabei ergibt sich ein Problem mit der Darstellung der Sonderzeichen im Namen des Radiosenders. Diese werden in allen Sonos Anwendungen korrekt angezeigt wenn der Sender aus den Sonos Anwendungen gestartet wird. Übernimmt FHEM, werden die Sonderzeichen fehlerhaft angezeigt. Wie kann ich dieses Problem beheben?

    Grüße,
    Matthias
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Mai 2014, 12:17:52
    Hi Matthias,

    hmm... das klingt komisch. Ich habe leider kein Google Play Music-Account, sodass ich es damit nicht testen kann. Ich habe es aber gerade mit einem "normalen" TuneIn-Radiosender versucht, dort einen gewählt, der einen Umlaut im Namen hat, diesen als Favorit mit anderem Namen abgelegt, und über Fhem gestartet.
    Das klappt alles normal.

    Eigentlich sollte es auch keinen Unterschied machen, da ich dem Player nur die, aus den Favoriten ermittelten, Informationen weitergebe und ihn auffordere das Abspielen zu starten.
    In LogLevel 5 gibt dieser Mechanismus auch eine Ausgabe raus, was an den Player übergeben wird (fängt mit "StartFavourite SetAVTransport-Res:" an).
    Aber viel dürfte man da auch nicht rauslesen können, da diese Informationen spezifisch für den verwendeten Dienst sind (in dem Fall vermutlich eine Google-URL).

    Ich bin auch gerade dabei diese UTF-8 Problematik beim Verarbeiten von Events zu lösen. Das scheint in Perl, und damit auch in Fhem, etwas komplexer zu sein :-)
    Jedenfalls habe ich das Problem, dass sich das zwischen meinen beiden Plattformen (Windows und Debian Linux) unterschiedlich verhält...
    Das hat aber nichts hiermit zu tun, wo es ja um eine fehlerhafte Darstellung in den Sonos-Controllern geht...

    Hat dieses Phänomen denn noch jemand?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 23 Mai 2014, 14:40:14
    Hallo,
    hat jemand einen Tipp, wie man auf das Ereignis Volume=0 beim sonos reagieren kann?
    Kriege ich irgendwie nicht hin.
    Sonos_Buero:Volume.*0
    set Sonos_Buero Stop

    funzt nicht!

    Danke,
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 23 Mai 2014, 17:08:42
    ich würde das mit dem IF Modul probieren

    define stop notify Sonos_Buero IF ([Sonos_Buero:Volume:d] < 1) (set Sonos_Buero Stop)
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 23 Mai 2014, 17:48:04
    Hallo,
    danke für den Tipp, geht aber leider auch nicht. Das Dingen läuft weiter bei Volume=0. Keine Ahnung was da los ist. Ich meine, früher wäre die Lautstärkenänderungen auch durch das Event-Log gelaufen. Da tut sich gar nicht, wenn ich an der Lautstärke drehe!

    Und mein Notify sollte eigentlich auch klappen, oder?

    Spartacus!
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 23 Mai 2014, 18:33:26
    die Events habe ich nicht geprüft - du musst also schauen was da ankommt...
    ich kann mir auch vorstellen das es keine 0 gibt und stattdessen Mute ausgeführt wird,

    dein notify ist nicht komplett genug um sagen zu können ob es funktioniert.
    Titel: Antw:Sonos steuern
    Beitrag von: matzemoerk am 23 Mai 2014, 19:14:19
    Das Moduls scheint Probleme bei der Coverdarstellung bei Google Music zu haben.

    Ich hoffe der untenstehende Auszug aus dem Log hilft dabei das Problem einzugrenzen. Es wird kein Bild angezeigt, nur das Symbol eines fehlenden Bildes. Wenn ich irgendwie zur Beseitigung des Problems beitragen kann tue ich das gerne.


    2014.05.23 17:58:43 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_000E58576B5C01400_MR:1'
    2014.05.23 17:58:43 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TransportState:STOPPED'
    2014.05.23 17:58:43 5: SONOS0: Received from UPnP-Server: 'SetCurrent:CrossfadeMode:0'
    2014.05.23 17:58:43 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NumberOfTracks:26'
    2014.05.23 17:58:43 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Track:1'
    2014.05.23 17:58:43 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackURI:x-sonos-http:A0DvPDnowsLsECDibcRbj9-3qkl8lCOMQiHRT-D03a4ZVJZ0LWR-pA.mp3?sid=151&flags=32'
    2014.05.23 17:58:43 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackDuration:0:03:44'
    2014.05.23 17:58:43 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_000E58576B5C01400_MR:0:/getaa?s=1&u=x-sonos-http%3aA0DvPDnowsLsECDibcRbj9-3qkl8lCOMQiHRT-D03a4ZVJZ0LWR-pA.mp3%3fsid%3d151%26flags%3d32:http://192.168.0.44:1400'
    2014.05.23 17:58:44 4: SONOS0: Transport-Event: Bilder-Download: SONOS_DownloadReplaceIfChanged('http://192.168.0.44:1400/getaa?s=1&u=x-sonos-http%3aA0DvPDnowsLsECDibcRbj9-3qkl8lCOMQiHRT-D03a4ZVJZ0LWR-pA.mp3%3fsid%3d151%26flags%3d32', './www/images/default/SONOSPLAYER/Sonos_Matthias_AlbumArt.ERROR');
    2014.05.23 17:58:45 4: SONOS0: New filecontent for './www/images/default/SONOSPLAYER/Sonos_Matthias_AlbumArt.ERROR'!
    2014.05.23 17:58:45 5: Cmd: >set FHEMWEB:192.168.0.1:54345 rereadicons<
    2014.05.23 17:58:46 5: Triggering FHEMWEB:192.168.0.1:54345 (1 changes)
    2014.05.23 17:58:46 5: Notify loop for FHEMWEB:192.168.0.1:54345 rereadicons
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 23 Mai 2014, 20:50:57
    Zitat von: der-Lolo am 23 Mai 2014, 18:33:26
    die Events habe ich nicht geprüft - du musst also schauen was da ankommt...
    ich kann mir auch vorstellen das es keine 0 gibt und stattdessen Mute ausgeführt wird,

    dein notify ist nicht komplett genug um sagen zu können ob es funktioniert.

    Hi,
    In "Volume" steht auf jeden Fall eine  "0" drin. Zumindest steht das so in den Readings zum Device.  Interessant wäre zu wissen, ob die Volume-Events nur bei mir nicht kommen, oder generell unterdrückt werden...

    Danke,
    Sparatcus
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 23 Mai 2014, 22:33:34
    Also bei mir kommt das hier im Event-Monitor.

    Zitat2014-05-23 22:25:10 SONOSPLAYER sonos_Buero infoSummarize3: Lautstaerke: 2 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhoerer
    2014-05-23 22:25:10 SONOSPLAYER sonos_Buero infoSummarize3: Lautstaerke: 1 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhoerer
    2014-05-23 22:25:10 SONOSPLAYER sonos_Buero infoSummarize3: Lautstaerke: 0 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhoerer

    frisch installiert mit unveränderten InfoSummarize attributen, extra für Dich...

    8)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Mai 2014, 01:02:57
    Hallo zusammen,

    @Spartacus:
    standardmäßig werden keine Volume-Events generiert. Damit soll verhindert werden, dass Fhem in der Grundeinstellung mit Lautstärkeevents (die ja tendenziell häufiger vorkommen) geflutet wird.

    Es müssen zwei Bedingungen gelten:
    1. Einer der Attribute minVolume oder maxVolume muss gesetzt sein
    2. Das Attribut generateVolumeEvent muss auf 1 gesetzt sein

    Das erste meldet sich für Lautstärkeänderungen am Player an, das zweite sorgt dafür, dass (zusätzlich zu den Lautstärkengrenzen innerhalb des Moduls selbst) auch ein "normales" Fhem-Event erzeugt wird.
    Dabei kann man natürlich eine Grenze von z.B. minVolume=0 setzen, also keine wirkliche Grenze festlegen :-)

    @matzemoerk:
    Leider werden vom Player die Mimetypes nicht immer sauber geliefert (eigentlich sogar sehr selten). Das erkennt man dann an der Endung .ERROR bei der Coverdatei.
    Du könntest mal mit einem Editor wie z.b. Ultraedit oder auf andere Art und Weise nachschauen, welcher Dateityp da wirklich kommt. Wenn du das nicht erkennen kannst, dann sende mir die Datei einfach kurz zu, dann versuche ich das.
    Ich werde dann den Mimetype analog zu den anderen Webdiensten einfach festnageln...

    Hoffen wir mal, dass der URL-Anfang "x-sonos-http" eindeutig für den Google Dienst ist.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: matzemoerk am 25 Mai 2014, 11:31:06
    Wenn ich die Datei im TextWrangler öffne wird JFIF als Dateityp angegeben. Ändere ich die Dateiendung auf .jpg wird das Bild korrekt dargestellt.

    Grüße,
    Matthias

    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 26 Mai 2014, 08:49:49
    Hallo und guten Morgen,
    zunächst erstmal vielen Dank an Reiner!  Das probiere ich mal aus. Ich meine aber, dass hätte mal anders funktioniert, aber ich kann mich auch irren...

    Ich möchte hier kurz von meinen Erfahrungen berichten, die ich am WE mit fhem und Sonos gemacht habe. Keine Ahnung, ob das "normal" ist, oder bei mir irgendetwas verdreht ist.

    Ich besitze u.a. zwei Play 3 (Büro und Terrasse) die i.d.R. als eigenständige Player laufen. Für eine Party am Sa. habe ich Büro und Terrasse als Stereopaar gekoppelt. Als ich am nächsten morgen versucht habe, auf fhem zuzugreifen, war fhem komplett abgestürzt. Habe das Stereopaar getrennt, fhem neu gestartet und alles lief wieder normal.

    Habe nun wieder die beiden Player gekoppelt. In fhem blieben beide als separate Player bestehen und alles lief zunächst "normal" ab. Nach gut einer Stunde, war fhem dann wieder abgestürzt.

    Irgendetwas geht schief, wenn man die Player zeitweise anders nutzen möchte. Auch wenn eine solche Konfigurationsänderung nicht unbedingt vom Sonos-Modul unterstützt wird, sollte jedoch verhindert werden, dass fhem abstürzt! Kann man da etwas machen? Hat jemand ähnliche Erfahrungen gemacht?

    Ich habe auch zwei Play1, die dauerhaft als Stereopaar konfiguriert sind. Das funktioniert problemlos.

    Danke und Gruß,
    Spartacus

    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 03 Juni 2014, 19:33:36
    Hallo zusammen,
    habe das Problem mit dem fhem-Absturz immer noch wenn ich ein Stereopaar mit zwei Play3 bilde!
    Ist auch reproduzierbar. Kann man das irgendwie abfangen?

    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Juni 2014, 19:45:12
    Hi Spartacus,

    hmm, ich kann das selber leider gerade nicht probieren...

    Kannst du mir mal einen Log auf Level 5 zusenden, wenn dieses Problem passiert?
    Eigentlich sollte das Modul damit keine großen Probleme haben... aber irgendwas ist ja bekanntlich immer :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 03 Juni 2014, 20:45:22
    Hi Reiner,
    danke für Deine Antwort.  Darf ich leider heute Abend nicht mehr testen, sonst gibt es Ärger mit dem Rest der Familie...
    Werde es morgen angehen und berichten...

    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 03 Juni 2014, 21:19:11
    Hallo Reiner,
    Andre bastelt gerade etwas zusammen...
    http://forum.fhem.de/index.php/topic,18275.0.html (http://forum.fhem.de/index.php/topic,18275.0.html)
    Wie schätzt du das thema Sandbox und Sonos ein?
    Meinst du das funktioniert?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Juni 2014, 22:36:01
    Hallo der-Lolo,

    das klingt auf jeden Fall interessant. Ich habe in dem Modul ja nun schon einen Haufen Verrenkungen zur Abtrennung der diversen "Ebenen" des Moduls innerhalb von Fhem durchgeführt, damit es eigentlich keine Beeinflussung geben kann (was ja offensichtlich nicht immer klappt :-)

    Das Modul benötigt auf jeden Fall alle seine Devices innerhalb einer gemeinsamen Sandbox, da das zentrale Sonos-Modul die entsprechenden Readings in den Player-Devices aktualisiert... Dazu sucht es die Devices über diese globalen Variablen heraus. Da muss man mal prüfen, ob das innerhalb der Sandbox noch sauber klappt...

    Ich würde mal einen einigermaßen stabilen Stand des Sandbox-Moduls abwarten, und dann mal mit Sonos rumprobieren...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: poempel am 22 Juni 2014, 17:12:18
    Hallo zusammen,

    ich habe eine Frage zum Sonos-Modul:

    Mein Ziel ist es, dass wenn ich das Haus verlassen habe der aktuelle Sender des SonosPlayers in einer Variablen gespeichert wird und wenn ich wieder nach Hause komme genau dieser Sender wieder geladen (nicht abgespielt) wird.
    In der Zwischenzeit werden meine Sonos-Komponenten vom Netz getrennt.
    Das Detektieren der Anwesenheit funktioniert schon, das Ein- und Ausschalten ebenfalls, ich bekomme es auch schon hin, dass mein "Lieblings-"Radiosender nach dem Einschalten geladen wird.
    Fehlt also nur die Information: Wie komme ich an die Info, welcher Sender gerade geladen ist?

    Vielen Dank vorab für Eure Hilfe!
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Juni 2014, 20:12:11
    Hallo poempel,

    die aktuelle Abspiel-URL kannst du dir über "currentTrackURI" holen. Diese ist immer eine an "PlayURI" übergebbare Adresse, und sollte auch den Stream oder Titel normal abspielen...

    Leider werden dann nicht mehr die 'normalen' Radioinformationen, wie Cover o.ä. angezeigt. Das passiert (meines Wissens nach) nur, wenn man den Player einen Radiofavoriten (oder Sonos-Favoriten) abspielen läßt...

    Bei 'normalen' Titeln, die in der aktuellen Abspielliste stehen, sollte man die Liste laden (OK, auch diesen Namen bekommt man nicht mehr nachträglich raus), und den in "currentTrackNumber" stehenden Titel anstarten.

    Du siehst, das wird leider nicht so schön werden, da die Sonos-Player diese Information, welcher Radiosender gestartet wurde, bzw. welche Playliste mal geladen wurde, nicht mehr zurückliefern.... was bei genauer Überlegung ja auch gar nicht anders sein kann :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: poempel am 23 Juni 2014, 19:38:26
    Danke an der Stelle schon mal.
    Leider komme ich mit der Syntax noch nicht so ganz klar bei dem Sonos-Modul.
    Kannst du mir kurz einen Einzeiler vorgeben, wie ich in die Variable "myvar" die Track Informationen des Players Sonos_Bad schreibe?
    Hab grad diverses ausprobiert, entweder ich bin zu doof oder ich steh auf dem Schlauch :-)

    Vielen Dank
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Juni 2014, 21:34:57
    Hi poempel,

    hier mal kurz aus dem Stehgreif:
    {...
    my $myVar = ReadingsVal('Sonos_Bad', 'currentTrackURI', '');
    ...}

    Wenn das Reading nicht existieren sollte (sollte hier nicht auftreten), wird der letzte Parameter (hier ein Leerstring) in die Variable geschrieben...

    Ich habe übrigens nochmal nachgeschaut. Es sollten sogar alle üblichen Stream- und Cover-Informationen dargestellt werden... da habe ich mich wohl falsch erinnert...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 25 Juni 2014, 20:53:33
    Hallo,
    ich habe eine Frage zu Sonos Speak:
    Ich möchte eine Sprachausgabe auf mehrere Geräte parallel ausgeben, ohne vorher eine Gruppe zu bilden. Wenn ich das so mache, dann kommt die Ansage natürlich nacheinander...

    *06:50:00
    {
    if (!($we))
    {
      my $var = Value("Sommerferien");;
      fhem "set Sonos_Buero Speak 20 de noch $var Tage bis zu den Sommerferien.";;
      fhem "set Sonos_Bad Speak 20 de noch $var Tage bis zu den Sommerferien."
    }
    }


    Der Text ist natürlich nur ein Beispiel :-)

    Jemand eine Idee?
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 25 Juni 2014, 21:04:19
    versuch es mal mit nur einem Semikolon...
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 25 Juni 2014, 21:23:35
    Hi,
    Eingabe im "Eingabe Fenster" von fhem:
    {
    if (!($we))
    {
      my $var = Value("Sommerferien");;
      fhem "set Sonos_Buero Speak 20 de noch $var Tage bis zu den Sommerferien.";
      fhem "set Sonos_Bad Speak 20 de noch $var Tage bis zu den Sommerferien."
    }
    }


    Antwort fhem:
    Unknown command {, try help.
    Unknown command fhem, try help.


    die zwei Semikolons müssen offenbar schon sein!
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Juni 2014, 21:33:16
    Hallo Spartacus,

    im Prinzip werden die Ausgaben angestartet, und das Modul kommt sofort zurück. Das bedeutet, dass die Ausgaben in Wirklichkeit nicht nacheinander sondern überlappend kommen. Das hilft dir jetzt aber auch nicht, da es bei solch kurzen Texten natürlich trotzdem faktisch nacheinander kommt :-)

    Da das Modul von Fhem aus Single-Threaded läuft, wirst du das auch nicht weiter beeinflussen können...

    Du kannst also, meiner Meinung nach, nur was mit einer Gruppierung der Player werden, oder deine Fhem-Maschine soweit aufrüsten, dass dort die Verarbeitung schneller wird (auf meinem Entwicklungssystem läuft ein Windows 2003 auf einer Mehr-CPU-Maschine mit ein paar GHz und GB, das brummt natürlich mehr als mein Produktiv-Raspberry-Pi :-)

    Grüße
    Reiner

    P.S.: Das, was hier die meiste Zeit verbraucht, ist das Abrufen der Textausgabe von Google. Da kannst also viel gewinnen, wenn du entweder ein lokales Programm für die Texterzeugung verwendest (schau mal dazu im Wiki nach), oder den Text in einem ersten Schritt selber ablegst, und das Fhem-Modul dann mittels "PlayURI" diese Datei angibst...
    Ausserdem könntest du etwas tricksen: Wenn du keinen Timestamp und keinen Hashwert in den abgelegten Namen generieren lässt (Parameter "targetSpeakFileTimestamp" und "targetSpeakFileHashCache" auf 0), dann kannst du dem zweiten Player das bereits erzeugt File mittels "PlayURI" übergeben, da der Name dann ja bekannt ist... Das hat aber auch wieder andere Nachteile...
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 25 Juni 2014, 21:56:08
    Hallo Reiner,
    danke! Ich denke, dann ist für dieses Beispiel das Gruppieren sicherlich die Bessere Lösung! Die lokale Sprachdateierzeugung gucke ich mir mal an. Ist das qualitativ mit Google vergleichbar?

    Ich plane eine BigBen-mp3 als Türgong über Sonos abzuspielen. Das soll dann auch über alle Player ausgegeben werden. Bis die Gruppen gebildet sind und der "Türgong" dann ertönt, ist der Besuch sicherlich schon wieder weg!
    Aber vielleicht ist das Abspielen der mp3 nicht so zeitkritisch und man hört den Zeitversatz nicht, wenn man die Player einzeln ansteuert.

    Danke und Gruß,
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Juni 2014, 22:16:54
    Hi Spartacus,

    in meinen Test war die Stimme etwas "gehetzt" aber verständlich, da kann man aber wohl auch noch dran drehen. Mir ging es damals nur um die Integration in das Modul :-)
    Ein Vorteil war auf jeden Fall, dass es keine Grenze bei der Länge des Textes gibt. Google blockiert ja zu lange Texte...

    Auf jeden Fall geht das Anstarten eines bestehenden MP3s schneller vonstatten. Einfach mal probieren.

    Ich hatte aber einen Tippfehler: Natürlich musst du "PlayURITemp" verwenden, damit es danach mit den vorhergehenden Titel weitergeht...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: poempel am 27 Juni 2014, 10:49:57
    Nochmal eine Frage zum automatischen Playlist-Laden:

    Ich habe bei mir jetzt eingebaut, dass wenn mein Presence-Status von absent auf present wechselt, die Sonos Komponenten per IT-Steckdose wieder eingeschaltet werden, anschließend 80 Sekunden gewartet wird und dann der Radiosender PULS geladen wird.
    Manchmal funktioniert es und manchmal schmiert mir FHEM komplett ab und reagiert nicht mehr. Dann muss ich den kompletten Raspberry Pi neu starten.

    Das Logfile gibt folgendes aus:

    2014.06.26 17:22:46 2: IT set SonosPlaybar off
    2014.06.26 21:17:37 1: Including fhem.cfg
    2014.06.26 21:17:38 3: telnetPort: port 7072 opened
    2014.06.26 21:17:40 3: WEB: port 8083 opened
    2014.06.26 21:17:40 3: WEBphone: port 8084 opened
    2014.06.26 21:17:40 3: WEBtablet: port 8085 opened
    2014.06.26 21:17:42 3: Opening CUL0 device /dev/ttyACM0
    2014.06.26 21:17:43 3: Setting CUL0 baudrate to 9600
    2014.06.26 21:17:43 3: CUL0 device opened
    2014.06.26 21:17:43 3: CUL0: Possible commands: BCFiAZEGMKRTVWXefmltux
    2014.06.26 21:32:33 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 sekunden darauf...
    2014.06.26 21:32:41 3: Opening SonosPlayer device localhost:4711
    2014.06.26 21:32:41 3: SonosPlayer device opened
    2014.06.26 21:32:42 1: Including ./log/fhem.save
    2014.06.26 21:32:42 1: statefile: Reading SonosPlayer_BRIDGE->presence must not be used out of statefile.
    Reading SonosPlayer_Bad->AlarmList must not be used out of statefile.
    Reading SonosPlayer_Bad->AlarmListIDs must not be used out of statefile.
    Reading SonosPlayer_Bad->AlarmListVersion must not be used out of statefile.
    Reading SonosPlayer_Bad->LastActionResult must not be used out of statefile.
    Reading SonosPlayer_Bad->presence must not be used out of statefile.
    Reading SonosPlayer_K__che->AlarmList must not be used out of statefile.
    Reading SonosPlayer_K__che->AlarmListIDs must not be used out of statefile.
    Reading SonosPlayer_K__che->AlarmListVersion must not be used out of statefile.
    Reading SonosPlayer_K__che->LastActionResult must not be used out of statefile.
    Reading SonosPlayer_K__che->presence must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer->AlarmList must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer->AlarmListIDs must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer->AlarmListVersion must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer->presence must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_LR->AlarmList must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_LR->AlarmListIDs must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_LR->AlarmListVersion must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_LR->presence must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_RR->AlarmList must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_RR->AlarmListIDs must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_RR->AlarmListVersion must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_RR->presence must not be used out of statefile.


    Kann mir jemand sagen, was hier schief läuft? Ich werde leider daraus nicht schlau.

    Danke!
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 27 Juni 2014, 12:28:13
    den gleichen Effekt habe ich auf dem Cubie2 leider seit kurzem (letzte 2 Wochen) bei mir auch. Da es schon mal stabil lief, scheint es an irgenwelchen Veränderungen des restlichen FHEM Systems liegen. SONOS Update fand nicht statt in der Zwischenzeit. Mir ist klar, dass das zur Fehlersuche nicht wirklich hilfreich ist. Da mein Verbose bei SONOS auf 0 steht, gibt es auch keine Log Einträge...
    nur bevor sich poempel die Haare rauft und den Fehler ausschließlich bei sich sucht....
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 29 Juni 2014, 13:51:09
    Hallo Sonos-Freunde,
    hat jemand einen ipod Dock WD-100 im Einsatz?
    Ich bastle gerade an meinem Player Interface und bekomme den CrossfadeMode nicht aktiviert, wird der mode vielleicht vom WD-100 gar nicht unterstützt?
    Komisch - Shuffle funktioniert, Crossfade geht beim ZP90 komischerweise auch problemlos... nur eben nicht wenn die Wiedergabe vom WD-100 kommt.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 Juni 2014, 23:07:18
    Hallo der-Lolo,

    kannst du den Crossfademode denn über den normalen Controller setzen? Wenn ja, wird in dem entsprechenden Fhem-Device-Reading der neue Wert korrekt verzeichnet?

    Sonos-intern wird die Information zu Shuffle und Crossfade in einer einzigen Information abgelegt, die entsprechend 4 verschiedene Werte annehmen kann, und die ich dann beim Ermitteln in die beiden getrennten booleschen Informationen für die Fhem-Readings zerlege.
    Das bedeutet, dass zumindest kein prinzipielles Problem beim Setzen/Ermitteln der Information auftritt, sonst würde Shuffle auch nicht gehen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 30 Juni 2014, 00:14:27
    Na danach hätte ich ja auch mal schauen können - in der App geht es auch nicht, also steht die funktion mit einem gedocktem iPod wohl nicht zur verfügung. In der App ist sogar das symbol ausgegraut.

    Ok, also verzichte ich auf den Button... danke wie immer für die Hilfe.
    Es ging trotzdem gut voran in letzter Zeit, Sonos lies sich recht gut einbinden.
    Danke für das tolle Modul!
    Titel: Antw:Sonos steuern
    Beitrag von: poempel am 30 Juni 2014, 10:02:14
    Zitat von: poempel am 27 Juni 2014, 10:49:57
    Nochmal eine Frage zum automatischen Playlist-Laden:

    Ich habe bei mir jetzt eingebaut, dass wenn mein Presence-Status von absent auf present wechselt, die Sonos Komponenten per IT-Steckdose wieder eingeschaltet werden, anschließend 80 Sekunden gewartet wird und dann der Radiosender PULS geladen wird.
    Manchmal funktioniert es und manchmal schmiert mir FHEM komplett ab und reagiert nicht mehr. Dann muss ich den kompletten Raspberry Pi neu starten.

    Das Logfile gibt folgendes aus:

    2014.06.26 17:22:46 2: IT set SonosPlaybar off
    2014.06.26 21:17:37 1: Including fhem.cfg
    2014.06.26 21:17:38 3: telnetPort: port 7072 opened
    2014.06.26 21:17:40 3: WEB: port 8083 opened
    2014.06.26 21:17:40 3: WEBphone: port 8084 opened
    2014.06.26 21:17:40 3: WEBtablet: port 8085 opened
    2014.06.26 21:17:42 3: Opening CUL0 device /dev/ttyACM0
    2014.06.26 21:17:43 3: Setting CUL0 baudrate to 9600
    2014.06.26 21:17:43 3: CUL0 device opened
    2014.06.26 21:17:43 3: CUL0: Possible commands: BCFiAZEGMKRTVWXefmltux
    2014.06.26 21:32:33 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 sekunden darauf...
    2014.06.26 21:32:41 3: Opening SonosPlayer device localhost:4711
    2014.06.26 21:32:41 3: SonosPlayer device opened
    2014.06.26 21:32:42 1: Including ./log/fhem.save
    2014.06.26 21:32:42 1: statefile: Reading SonosPlayer_BRIDGE->presence must not be used out of statefile.
    Reading SonosPlayer_Bad->AlarmList must not be used out of statefile.
    Reading SonosPlayer_Bad->AlarmListIDs must not be used out of statefile.
    Reading SonosPlayer_Bad->AlarmListVersion must not be used out of statefile.
    Reading SonosPlayer_Bad->LastActionResult must not be used out of statefile.
    Reading SonosPlayer_Bad->presence must not be used out of statefile.
    Reading SonosPlayer_K__che->AlarmList must not be used out of statefile.
    Reading SonosPlayer_K__che->AlarmListIDs must not be used out of statefile.
    Reading SonosPlayer_K__che->AlarmListVersion must not be used out of statefile.
    Reading SonosPlayer_K__che->LastActionResult must not be used out of statefile.
    Reading SonosPlayer_K__che->presence must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer->AlarmList must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer->AlarmListIDs must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer->AlarmListVersion must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer->presence must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_LR->AlarmList must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_LR->AlarmListIDs must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_LR->AlarmListVersion must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_LR->presence must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_RR->AlarmList must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_RR->AlarmListIDs must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_RR->AlarmListVersion must not be used out of statefile.
    Reading SonosPlayer_Wohnzimmer_RR->presence must not be used out of statefile.


    Kann mir jemand sagen, was hier schief läuft? Ich werde leider daraus nicht schlau.

    Danke!

    Hat hierzu jemand vielleicht noch eine Idee?
    Reinerlein vielleicht?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Juni 2014, 11:03:01
    Hi poempel,

    leider habe ich da auch keine direkte Idee. Auf jeden Fall steht in deinem Log-Auszug nix, was auf einen Fehler hindeutet.
    Diese Meldungen bezogen auf das Statefile sind normal. Es gibt ein paar Readings, die von Fhem nicht gespeichert werden dürften. Leider geht das nicht, man kann nur das Laden durch eine Meldung verhindern. Das, was du im Log siehst, ist das Ergebnis der Ladeunterdrückung aus dem Statefile...

    Du könntest höchstens mal die Sonos-Logausgabe auf 5 hochsetzen, und mal sammeln. Wenn dann der Fehler auftritt, kann man dort mal reinschauen... Aber vorsicht: das wird groß...
    Es geht hier auch nur um die Ausgaben des Sub-Prozesses, die im Normalfall nicht im normalen Fhem-Log landen. Dort sind dann alle Informationen drin, die von den Sonosplayern an Fhem gesendet werden, und die das Modul zurücksendet. Außerdem noch die Werte, die an Fhem weitergereicht werden...
    Damit kann man mindestens mal die Stelle rausfinden, die zum Blockieren führt....
    Tipps zum loggen stehen auch auf der Wiki-Seite.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 03 Juli 2014, 09:04:46
    Hallo Reinerlein,
    macht es eigentlich sinn dem Sonos Modul mitzuteilen wenn ich einen Teilnehmer abschalte?
    Ich könnte ja bevor ich die Steckdose für meinen play3 abschalte das reading presence setzen...
    Oder Gruppen auflösen, oder oder oder...

    Was denkst du?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Juli 2014, 14:12:39
    Hallo der-Lolo,

    das Modul ist eher auf Reaktionen der Player ausgelegt. Ich könnte es intern gar nicht verarbeiten, diese Informationen vorher zu besitzen :-)

    Zu den Gruppierungen: Das ist vielleicht sinnvoll, damit die Original-Controller den Player schneller aus der Gruppe nehmen.
    Allerdings bleibt er ja trotzdem standardmäßig in der Liste der verfügbaren Player.
    Mein Modul meldet, wenn die Abwesenheit festgestellt wird, diese Informationen an das Sonos-System, sodass dieser Player auch aus den Listen verschwindet. Das sollte (wenn das Erkennen sauber funktioniert) im Prinzip ja ausreichen...

    Mein Fazit dazu wäre: Lieber die Ursachen herausfinden, warum ein fehlender Player nicht erkannt wird, bzw. warum das Modul blockiert :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 03 Juli 2014, 14:30:38
    Da komme ich scheinbar auch nicht weiter - ich war ja schon beim Sonos Second-Level support gelandet...
    Wirklich helfen konnten die aber auch nicht.

    Mir geht es ja auch aktuell eher um das ausschalten. Ich kann dem Modul, oder eben auch Sonos ja mitteilen das ich ausschalte, wenn Du das aber nicht verarbeitest bringt es ja nichts.


    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 03 Juli 2014, 23:31:13
    Hallo Reiner,
    ich habe glaube ich etwas herausgefunden.
    Im offenem Terminal auf dem fhem gestartet wurde kommt wenn ich in fhemweb "shutdown erstarrt" eingebe folgendes...

    Zitat
    root@mediaCT:/opt/fhem# Loading device description failed with error: 500 Can't connect to 192.168.0.57:1400 (timeout) at FHEM/00_SONOS.pm line 2196 thread 1
    Loading device description failed with error: 500 Can't connect to 192.168.0.57:1400 (timeout) at FHEM/00_SONOS.pm line 2196 thread 1
    2014.07.03 23:25:28 3: SONOS0: Disconnecting client and shutdown server...
    2014.07.03 23:25:28 3: SONOS0: Trying to kill Sonos_Thread...
    2014.07.03 23:25:28 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2014.07.03 23:25:28 1: SONOS2: Restore-Thread wurde beendet.
    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 4965, <$client> line 8.
    192.168.0.57 ist vermutlich mein play3 der sich keine "saubere IP" abgeholt hat. Wäre es möglich IP-Adressen ausserhalb von 192.168.178.xxx zu ignorieren?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Juli 2014, 00:11:33
    Hallo der-Lolo,

    leider geht das nicht. Das UPnP-Konzept ist ein Broadcast-Konzept, wo man einmal in das Netz reinpustet, dass man auf Antworten wartet, und dann tut man genau das.
    Rein technisch sollten aber auch nur Antworten aus dem gleichen Subnetz wie deine Fhem-Hardware kommen können, da ein Router diese Broadcast-Anfragen nicht weiterleitet (deswegen kann man den Sonos-Controller ja auch nicht per VPN nutzen, was echt schade ist :-).

    Ich habe hier in meiner Dev-Version gerade eine Möglichkeit in der Mache, einzelne IP-Adressen bereits von der Verarbeitung auszuschließen. Das bezieht sich dann aber mehr darauf, dass Antworten, die von einer IP kommen, die auf einer "Blacklist" steht, ignoriert werden. Ob das so funktioniert. wie ich mir das gedacht habe, probiere ich gerade noch... ob es dein Problem überhaupt lösen wird ist dabei aber auch eher fraglich.
    Hier geht es um das Unterdrücken von einzelnen Netzkomponenten, die sich einfach als Sonos-Player ausgeben, und damit das Modul in die Knie zwingen, da dann gewisse Anfragen schiefgehen...

    Du solltest mal auf die Suche gehen, zu welcher Komponente diese 192.168.0.57 wirklich gehört. Dann könnte man da vielleicht etwas untersuchen.
    Vielleicht würde es natürlich tatsächlich helfen, wenn man diesen 57er dann einfach ignorieren könnte...

    Ich sehe mal zu, dass ich den Stand mal ausführbar bekomme, das ist momentan gerade nicht der Fall :-)
    Dann können wir das bei dir mal einsetzen und testen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 05 Juli 2014, 13:30:02
    Ich habe dieses problem mittlerweile mehrfach beobachtet - mir stellt sich die situation wie folgt dar...
    Der Play3 kann sich nicht entscheiden ob er sich im Büro oder im Wohnzimmer anmelden soll, er nimmt daraufhin die von der Fritzbox angebotene IP Adresse nicht an - und gibt sich selbst eine in diesem anderem Subnetz.
    Das Sonos Modul versucht zwar den play3 zu erreichen, das geht aber dann technisch nicht.

    Ich frage mich nun warum das Modul überhaupt mitbekommt das der play3 da ist - Broadcast sagtest du schon...
    Aber wenn die IP nicht ins mein Class C netz passt sollte doch eigentlich gar keine Kommunikation stattfinden können, oder?

    In meinem Fall führt es jedenfalls manchmal - also nicht immer dazu das das Sonos Modul in einer Schleife landet und abstürzt bzw. nicht mehr ansprechbar ist.

    Ich habe nicht genügend wissen um an einer solchen stelle eingreifen zu können, falls Du Ideen oder Änderungsvorschläge hast schreib sie hier in den thread - ich lese mit und versuche umzusetzen.

    Gruß aus Berlin - Vielen Dank für Deine mühe...
    Michael
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 07 Juli 2014, 22:49:11
    Hallo,
    ich habe im Sonos 2 Wecker definiert, die jeweils von Mo-Fr. arbeiten und je nach Ereignis (Ferien, Feiertag) ein- bzw. ausgeschaltet werden. Leider stellt diese Deaktivierung den Wecker im Sonos auf "Einmal" um und die Information "Mo-Fr" ist beim Aktivieren verloren. Ich könnte den Update Alarm Befehl auch mit den Wochentagen erweitern, aber warum ist das so? Ist das so gewollt?
    {
    if ((fhem("get Feiertag today") !~ m/none/))
    {
       fhem ("set Sonos_Buero Alarm Update 203 {Enabled => 0}");;
       fhem ("set Sonos_Buero Alarm Update 269 {Enabled => 0}")
    }
    else
    {
      if ((Value("Ferientag")))
       {
        fhem ("set Sonos_Buero Alarm Update 269 {Enabled => 1}");;
        fhem ("set Sonos_Buero Alarm Update 203 {Enabled => 0}")
       }
    else
      {
       fhem ("set Sonos_Buero Alarm Update 203 {Enabled => 1}");;
       fhem ("set Sonos_Buero Alarm Update 269 {Enabled => 0}")
      }
    }
    }


    Gruß,
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Juli 2014, 10:36:04
    Hi Spartacus,

    das klingt ein bißchen so, als würde im AlarmList-Reading die Information über die Tage nicht korrekt abgelegt sein (das kannst du ja mal prüfen, steht dort ja im Klartext). Ist das vielleicht seit der neuen Software-Version von Sonos so?
    Vielleicht wurde da etwas verändert; da ich die Alarme nicht benutze, würde ich das auch nicht mitkriegen...

    Wenn ich wieder zuhause bin, kann ich mir das mal anschauen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 08 Juli 2014, 17:11:03
    Hi Reiner,
    yep! Das sieht so aus!
    Ich habe Aktuell Alarm 269 im Sonos auf Mo-Fr. stehen.
    So sieht das Reading aus:
    {'269' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '3','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-sonosapi-stream:s99166?sid=254&flags=32','Repeat' => 0,'Recurrence_Once' => 0,'StartTime' => '08:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '0','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/3" parentID="R:0/0" restricted="true"><dc:title>WDR2 Ruhrgebiet</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Recurrence_Monday' => 0},'203' => {'Recurrence_Thursday' => 1,'IncludeLinkedZones' => '1','Volume' => '6','Shuffle' => 1,'Recurrence_Wednesday' => 1,'ProgramURI' => 'x-sonosapi-stream:s99166?sid=254&flags=32','Repeat' => 0,'Recurrence_Once' => 0,'StartTime' => '07:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '0','Recurrence_Friday' => 1,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 1,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/3" parentID="R:0/0" restricted="true"><dc:title>WDR2 Ruhrgebiet</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Recurrence_Monday' => 1}}

    Ich kann leider nicht sagen, ob es vor dem 5.0er Update anders war, da ich keine Alarme mit fhem modifiziert habe.

    Spartacus.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Juli 2014, 19:34:54
    Hi Spartacus,

    kannst du mal zum Testen einen Sonos-Alarmton für die beiden Alarme einstellen?
    Ich habe das Gefühl, dass die Metadaten vielleicht zu einer Fehlinterpretation des Hashs führen könnten.

    Leider darf man in ein Fhem-Reading nicht einfach alles eintragen. Das kodiere ich zwar, das kann aber ja auch mal schiefgehen...
    Einzelne Tage sind in dem von dir geschriebenen Hash ja drin... die sollten dann eigentlich auch unverändert wieder an den Player gehen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 08 Juli 2014, 19:51:08
    Hi Reiner,
    habe jetzt beide Alarme auf "Sonos Wecksignal" gestellt, im Sonos beide Wecker auf Montag-Freitag eingestellt, danach den o.a. Code ausgeführt und der Alarm 269 steht anschließend wieder auf "aktiv" und "Einmal" (Ferientag=1)

    Witzigerweise scheint Alarm203 zu funzen, denn wenn ich den Ferientag auf 0 setze, wird Alarm 203 korrekt behandelt! Ich lege den Alaram 263 mal neu an und teste es noch einmal.....

    Spartacus..

    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 08 Juli 2014, 20:01:51
    Puuh!
    Habe nun beide Alarme neu angelegt. Jetzt geht es bei keinem Alarm mehr.
    Hier noch mal der Code:
    {
    if ((fhem("get Feiertag today") !~ m/none/))
    {
       fhem ("set Sonos_Buero Alarm Update 335 {Enabled => 0}");;
       fhem ("set Sonos_Buero Alarm Update 338 {Enabled => 0}")
    }
    else
    {
      if ((Value("Ferientag")))
       {
        fhem ("set Sonos_Buero Alarm Update 338 {Enabled => 1}");;
        fhem ("set Sonos_Buero Alarm Update 335 {Enabled => 0}")
       }
    else
      {
       fhem ("set Sonos_Buero Alarm Update 335 {Enabled => 1}");;
       fhem ("set Sonos_Buero Alarm Update 338 {Enabled => 0}")
      }
    }
    }


    und hier die Readings:
    {'338' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-sonosapi-stream:s99166?sid=254&flags=32','Repeat' => 0,'Recurrence_Once' => 1,'StartTime' => '08:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/3" parentID="R:0/0" restricted="true"><dc:title>WDR2 Ruhrgebiet</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Recurrence_Monday' => 0},'335' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-sonosapi-stream:s99166?sid=254&flags=32','Repeat' => 0,'Recurrence_Once' => 1,'StartTime' => '07:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '0','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/3" parentID="R:0/0" restricted="true"><dc:title>WDR2 Ruhrgebiet</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Recurrence_Monday' => 0}}
    Spartacus

    Nachtrag:
    übrigens werden jetzt immer beide Alarme auf "Einmal" umgestellt.
    Hier noch mal das AlarmReading mit dem Sonos Wecksignal:
    {'338' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-rincon-buzzer:0','Repeat' => 0,'Recurrence_Once' => 1,'StartTime' => '08:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '','Recurrence_Monday' => 0},'335' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-rincon-buzzer:0','Repeat' => 0,'Recurrence_Once' => 1,'StartTime' => '07:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '0','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '','Recurrence_Monday' => 0}}
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Juli 2014, 20:31:38
    Hi Spartacus,

    hmmm... ich habe das gerade mal bei mir geschaut. Da sieht das noch normal aus.
    Bei dir scheint aber auch ein Alarm immer noch ein Radiosender zu sein (WDR 2).

    Bitte mach die beiden Alarme nochmal mit einem Sonos-Controller, nur einem Sonos-Buzzer-Ton, und an verschiedenen Tagen. Danach notfalls Fhem einmal neustarten, damit die Alarme auch wirklich neu eingelesen werden...

    ich hoffe, dass wir dann mehr wissen...

    Danke schon mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 08 Juli 2014, 20:59:11
    Reiner,
    hatte ich eigentlich im Nachtrag gepostet. Das Wecksignal steht auf Sonos-Wecksignal. Oder was meinst Du mit "Buzzer-Ton".

    Habe es jetzt noch einmal an beiden Weckern umgestellt und fhem neu gestartet.
    {'338' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-rincon-buzzer:0','Repeat' => 0,'Recurrence_Once' => 0,'StartTime' => '08:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '','Recurrence_Monday' => 0},'335' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-rincon-buzzer:0','Repeat' => 0,'Recurrence_Once' => 0,'StartTime' => '07:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '','Recurrence_Monday' => 0}}
    und hier wird offenbar das Reading beim Start nicht richtig ausgelesen. Im Sonos sind die Tage korrekt gesetzt.

    Habe dann im Sonos den "Dienstag" bei beiden Alarmen  deaktiviert und sofort wieder aktiviert.
    {'338' => {'Recurrence_Thursday' => 1,'IncludeLinkedZones' => '1','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 1,'ProgramURI' => 'x-rincon-buzzer:0','Repeat' => 0,'Recurrence_Once' => 0,'StartTime' => '08:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 1,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 1,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '','Recurrence_Monday' => 0},'335' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-rincon-buzzer:0','Repeat' => 0,'Recurrence_Once' => 0,'StartTime' => '07:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '','Recurrence_Monday' => 0}}
    ...und die Tage sind gesetzt.

    Meinen Code ausgeführt und beide Wecker stehen auf Einmal!
    {'338' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-rincon-buzzer:0','Repeat' => 0,'Recurrence_Once' => 1,'StartTime' => '08:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '','Recurrence_Monday' => 0},'335' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-rincon-buzzer:0','Repeat' => 0,'Recurrence_Once' => 1,'StartTime' => '07:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '0','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '','Recurrence_Monday' => 0}}

    Keine Ahnung, was das ist!
    Spartacus.
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 Juli 2014, 09:47:53
    Hallo Reiner,
    ich habe jetzt noch mal meine Player von fhem neu erkennen lassen und einen Alarm  in verschiedene Player konfiguriert. Die Alarme werden bei jedem Wecker (also die Wiederholungen an Wochentagen) von fhem falsch ausgelesen.

    {'376' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '0','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-rincon-buzzer:0','Repeat' => 0,'Recurrence_Once' => 0,'StartTime' => '09:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F224CE01400','ProgramMetaData' => '','Recurrence_Monday' => 0}}

    ..aber ich habe etwas herausgefunden:
    Mein Sonos System läuft auf 5.0. Am PC, dem Sonos-Controller und div. Iphone und Android-Phones läuft auch der 5.0er Controller.
    Lediglich das iPad habe ich auf den 4.3er zurückgesetzt (der 5er auf nem Pad ist ja auch eine Katastrophe!).
    Alle Alarme, die ich mit diesem Controller einstelle, werden von fhem korrekt ausgelesen. Also hängt es m.E. mit der Sonos-System-Version zusammen. Das habe ich jetzt mehrfach nachvollziehen können.
    Spartacus.

    NACHTRAG:
    Mein Code funktioniert völlig korrekt, wenn ich die beiden Timer (inkl Radiowecker) mit dem iPad anlege...
    Komische Sache...
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 22 Juli 2014, 17:55:10
    Hallo,
    konnte jemand mein Problem mit dem Alarm nachstellen? Bei mir ist es absolut reproduzierbar!

    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Juli 2014, 18:11:28
    Hallo Spartacus,

    ich bin leider einfach noch nicht dazu gekommen, mir das genauer anzuschauen. Ich hatte nur kurz mal die Events gecheckt, und dabei nix komisches gesehen.

    Der 5er Controller ist aber allgemein noch sehr buggy (wenn ich z.B. einen Radiosender über die Sonos-Favoriten starte, dann landet die URL in der aktuellen Abspielliste, wo sie einfach gar nix zu suchen hat), ich kann mir also sehr gut ein Problem dort vorstellen...

    Der Sommer ist dabei jetzt aber auch nicht gerade hilfreich :-) Es ist einfach zu schön ausserhalb des Hauses...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 22 Juli 2014, 22:30:37
    Hi Reiner,
    mit der Radio URL kann ich nicht nachvollziehen. Das passiert bei mir nicht!
    Mit dem Sommer kann ich sehr wohl nachvollziehen, obwohl in NRW in den letzten Tagen viel Regen vom Himmel gefallen ist.....

    Mach Dir keinen Stress! Wollte nur mal checken, ob noch Leben im Sonos Projekt ist! Ich starte am Samstag auch für 2 Wochen in Richtung Nordsee...mit hoffentlich viel Sommerwetter!

    Der nächste Winter kommt bestimmt.....
    Alles Gute,
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Schiri1986 am 09 August 2014, 12:29:09
    Hi,
    ich bin ziemlicher Neuling, was FHEM angeht, habe das ganze aber soweit am laufen und konfiguriert. Eingebunden sind Stand heute Sonos, PHTV und der Anrufmonitor für die fritz.box. Bei mir hapert es noch ein bisschen am Skripten - mit den Beispielen aus dem Wiki kriege ich nicht die gewünschten Ergebnisse (zum Beispiel auf dem Sonos was starten, wenn ein Anruf kommt). Gibt es irgendwo noch etwas ausführlichere Skripting-Hilfen oder kann jemand von euch komplette weitere Beispiele posten, aus denen ich mir ein bisschen was abgucken und vor allem ableiten kann?

    Danke und Gruß,
    Schiri
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 August 2014, 14:35:59
    Hi Schiri,

    hmm... die Beispiele aus dem Wiki sind bei mir im Betrieb befindliche Beispiele, und somit eigentlich vollständig :-)
    Natürlich müssen Namen u.ä. angepasst werden...

    Wenn du damit noch Probleme hast, solltest du vielleicht im Einstiegsdokument nochmal reinschauen. Außerdem sollten die Beispiele eigentlich selbsterklärend sein, aber natürlich sind Korrekturhinweise oder direkte Korrekturen stets erwünscht, man kann ja nicht alles wissen :-)...

    Ansonsten besser eine konkrete Frage formulieren, damit dir auch geholfen werden kann...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Schiri1986 am 10 August 2014, 22:00:21
    Hallo Reiner,
    danke für deine Antwort und dein Angebot. Ich bin Sonos Beta-Tester, das vll. für dich als Info (aber das bist du ja bestimmt auch...) Jedenfalls bekomme ich mit dem Button-Event keine erfolgreiche Anwendung hin. Ich versuche z.B. einen Play:1 dazu zu bringen, beim doppelt drücken auf den Mute bzw Play/Pause Button einen meiner Favoriten zu starten:

    define 1LiveMobil notify Sonos_Mobil.buttonEvent:.MM set Sonos_Mobil StartFavourite 1LIVE%20-%20Das%20junge%20Radio%20des%20WDR.

    Da tut sich aber nix, ich sehe nicht mal ein Event im Eventmonitor.

    Ansonsten habe ich Pläne, über Taster bzw. Dashboards Gruppen automatisch anzulegen bzw. aufzulösen und alle Player anzuhalten. Aber da fehlen mir gerade noch die physischen Taster. Das Vorgehen ist mir da aber im Großen und Ganzen klar, die Setter und Getter hast du ja sehr gut dokumentiert (danke!)

    Gruß,
    Schiri
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 August 2014, 20:03:55
    Hi Schiri,

    kurz aus dem Urlaub :-)

    zu dem Button-Event mit der Mute-Taste gibt es im Wiki auch einen Kommentar...
    Seit der Sonos-Firmware 4.2 ist der Mute-Button am Player kein Mute-Button mehr, sondern ein Start/Stop/Nächster Titel-Button.

    Dieser erzeugt natürlich auch kein Mute-Event mehr, und kann somit vom Modul auch nicht mehr dahingehend ausgewertet werden...

    Lauter/Leiser gehen noch wie gewohnt...

    Alle Player Stoppen ist ein Setter am zentralen Sonos-Device...

    Zu der Sache mit dem Dashboard: Das hat schon mal jemand angefangen, ich weiss aber nicht, wie weit das ganze gekommen war...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ostseehuepfer am 18 August 2014, 20:17:11
    Hey,

    kurze Frage hab noch nicht alle 72 Seiten durch.. Gibts die Möglichkeit Radio Stationen aus nem Drop Down Menü auszuwählen so 3-4 Stück ???

    An sonsten super Tool

    Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: eisler am 19 August 2014, 07:57:28
    oder noch besser eine Liste der Sonos-Favoriten anzeigen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 August 2014, 08:52:10
    Hallo,

    so direkt wird das nicht vom Modul unterstützt.
    Was es gibt, ist ein Get-Befehl, der dir die Sonos-Favoriten und/oder die Radio Stationen als kommaseparierte Liste zurückgibt:

    get <SonosplayerDevice> Radios
    .
    .
    get <SonosplayerDevice> Favourites


    Das Ergebnis sieht dann z.B. so aus:

    "Sender 1","Sender 2","Test"


    Damit kannst du dir sicherlich etwas mit Perl und dem Dashboard bauen. Da kann ich aber leider nicht viel helfen, da ich in dieser Richtung noch nichts gemacht habe (aber andere hier basteln damit viel rum :-)

    Für die Befehle, die im Sonos-Modul möglich sind, empfehle ich den Wiki-Artikel unter http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ostseehuepfer am 20 August 2014, 20:50:06
    Hey,

    ja das habe ich schon gefunden das ich die Sender auslesen kann. Mir geht es nur darum komfortabel am Touchscreen
    die abgespielten Sender zu ändern ohne Handy suchen zu müssen und .....

    Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 22 August 2014, 21:37:10
    Wollte das gerade installieren, aber der Befehl update thirdparty http://fhem.lmsoft.de/sonos sonos geht nicht.

    Meldet immer nothing to do
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 22 August 2014, 22:18:48
    nachdem der Update nicht geht, habe ich mal manuell die zwei pm Dateien gezogen.
    Leider bekomme ich beim Starten der 00_SONos.pm folgenden Fehler:

    Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 246.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 246.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 August 2014, 16:44:22
    Hi Mitch,

    da scheint Fhem der Meinung zu sein, nix mehr tun zu müssen :-)
    Das Modul benötigt außerdem ein paar Extra Perl-Libraries...

    Versuch mal mit force:

    update thirdparty http://fhem.lmsoft.de/sonos sonos force


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 23 August 2014, 17:04:21
    Hi Reiner, das ist mir schon klar  ;)
    Ein force hate ich schn probiert und die Perl libs habe ich auch schon.

    Irgendwo hackt es noch  :-\


    Titel: Antw:Sonos steuern
    Beitrag von: det. am 23 August 2014, 17:07:04
    Rudi hat das update neu gebaut und da was geändert. steht in dem Abschnitt Ankündigen
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 23 August 2014, 17:09:22
    So etwas hatte ich vermutet. Den Update hat aber glaube ich betateilchen geändert.

    Aber egal, ändert nichts an meinem Problem, das die sonos.pm gar nicht startet.
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 23 August 2014, 20:55:02
    Hab jetzt wirklich alles nochmal installiert und runtergelassen.

    leider immer noch Fehler:
    Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 248.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 248.
    Titel: Antw:Sonos steuern
    Beitrag von: krikan am 23 August 2014, 21:07:37
    Neue Syntax von update für Thirdparty:

    update all http://fhem.lmsoft.de/sonos/controls_sonos.txt

    So lädt er zumindest die Files.
    Titel: Antw:Sonos steuern
    Beitrag von: Schiri1986 am 24 August 2014, 18:53:23
    Hi,
    ist es möglich, dem übergeordneten Sonos-Modul irgendwie die aktuelle Gruppenzuordnung als "state" zu übergeben? Als Reading steht das ja leider nicht so einfach zur Verfügung, oder?
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 24 August 2014, 19:11:53
    Zitat von: krikan am 23 August 2014, 21:07:37
    Neue Syntax von update für Thirdparty:

    update all http://fhem.lmsoft.de/sonos/controls_sonos.txt

    So lädt er zumindest die Files.

    Hat leider auch nicht funktioniert.

    Ich habe jetzt noch mal alles neu installiert und die Dateien Einzel runtergeladen.
    Jetzt konnte ich SONSO anlegen. Am Dienstag sollte meine Bridge und der erste Play 1 kommen, dann werde ich mal rum spielen.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 August 2014, 21:36:54
    Hi Schiri1968,

    reicht dir das aus dem Reading "ZoneGroupName" nicht?
    Manchmal steht da auch nichts sinnvolles drin, aber meistens sollte es doch passen...

    Und du kannst dir ja jedes Reading in den State schreiben lassen.
    Das geht auch mit den Mitteln des Sonos-Moduls über die 4 "generateInfoSummarize"-Attribute...

    Oder meinst du die gesamte Gruppenkonstellation?
    Die kannst du nur per Get-Befehl ermitteln lassen, und dann selber verarbeiten. Das Format sollte dafür einfach geeignet sein... Aber das kannst du ja auch an ein Event hängen, welches auf die Gruppenänderung reagiert, und es dir dann in einen Dummy o.ä. schreiben...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 29 August 2014, 11:38:55
    Hallo Reinerlein,

    ich muss noch mal nerven, mein FHEM schmiert immer wieder mal ab und ich hab das Sonos Modul noch im verdacht. Ich hab die letzte offizielle Version 2.5 (07.03.2014).

    Folgendes ist das letzte was ich von FHEM "höre" und dann klebt die CPU Last bei 100%.

    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 5374, <$client> line 1.

    Soll ich mal ein Update auf die aktuelle Beta Version machen? Kann ich irgendwas machen um dir genauere Informationen zu geben?
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 29 August 2014, 12:19:44
    Hatte das gleiche Problem, seit ich SONOS wieder rausgeschmissen hab, geht wieder?
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 29 August 2014, 12:20:59
    Das teste ich jetzt. Gerade wieder abgeschmiert:
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 5006, <$client> line 3.

    und nach dem rausnehmen aus der fhem.cfg
    Thread 3 terminated abnormally: Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 4963, <$client> line 6.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 August 2014, 14:42:15
    Hi strauch,

    das klingt nach einem abnormalen Absturz des Threads, sodass dieser von Fhem nicht mehr Ordnungsgemäß beendet werden kann.

    Leider reicht das nicht für eine detaillierte Untersuchung. Du müsstest mal den Loglevel für das Modul auf 5 stellen, und die Konsolenausgabe des Sub-Threads mitschneiden und mir übermitteln (oder hier posten)...
    Hilfestellungen zu dieser Fehlersuche gibt es in meinem Wiki-Beitrag: http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Fehlersuche (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Fehlersuche)

    Da sollte dann die letzte Ausgabe einen Hinweis geben, mit was das Modul ein Problem hatte...

    Die Developer-Version ist auch noch nicht aktueller. Ich habe das in letzter Zeit wegen Zeitmangel etwas schleifen lassen, sodass ich mich erstmal wieder eindenken muss :-)
    Ich werde aber nach meinem Urlaub wieder drangehen, und etwas aktualisieren...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 29 August 2014, 15:01:03
    Also ich hab FHEM mit folgendem Befehl gestartet, reicht das damit auch der Subprozess mit in die Datei geschrieben wird?

    sudo ./fhem.pl fhem.cfg &> protokoll.txt

    Dort habe ich auch die Zeilen von mir gefunden, dann würde ich das Modul noch mal starten und auf geschwätzig (Verbose=5) stellen?!

    Danke für deine Hilfe, ich mag das Modul sehr gerne.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 August 2014, 15:11:23
    Hi strauch,

    das sollte gehen. Die Ausgaben landen halt nur nicht im Fhem-Log, wo manche suchen :-)

    Bei Verbose kannst du entweder Fhem auf 5 stellen, oder dem Sonos-Device (nicht die Player-Devices) einen Loglevel geben...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 30 August 2014, 23:05:45
    Hallo Reinerlein da kommt mur eine Zeile dazu hoffe das hilft:

    Current: "./fhem.pl", gPath: "./FHEM"                                       
    Current: "./FHEM/00_SONOS.pm", gPath: ""                                   
    2014.08.30 21:29:26 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2014.08.30 21:29:34 1: SONOS0: Connection accepted from localhost:41594     
    2014.08.30 21:29:36 5: SONOS0: Received: 'SetValues:SONOS:NAME=Sonos|INTERV$
    Can't ignore signal CHLD, forcing to default.
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 5$

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 August 2014, 01:02:24
    Hi strauch,

    ein paar Infrormationen vermisse ich dort schon. Z.b. gibt der Thread (bzw. alle drei Threads) aus, dass er gestartet wurde. Das sollte kommen, bevor er versucht SigChild zu ignorieren (was hier komischerweise nicht zugelassen wird)...

    Andererseits kommt eine Ausgabe auf Level 5 an... hmm...
    Kannst du mal versuchen, den Fhem-Prozess einfach ohne Textausgabeumlenkung in eine Datei und Hintergrund zu starten, sodass alle Konsolenausgaben auch genau dort landen: in deiner Shell. Schau mal, ob du dort mehr zu sehen bekommst...

    Danke schon mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 02 September 2014, 14:02:02
    Hallo,
    ich habe meine fhem Sommerpause auch für beendet erklärt und baue wieder an meiner Sonos Konfig herum.

    Habe einen Einschlaftimer konfiguriert, der jeden Tag um 22:00 Uhr für 1,5h startet. Gehe ich nun zu Bett, drücke ich auf die "Play"-Taste am Schlafzimmer-Sonos und die Mucke dudelt bis max. 23:30.

    Falls ich doch mal länger an irgendeinem Gerät hören möchte, drücke ich erneut die Play-Taste und der Sleeptimer wird für weitere 30min mit reduzierter Lautstärke gestartet.
    Mit attr disableForIntervals 01:00-23:30 schränke ich die Zeit des u.a. "defines" ein, denn sonst würde ja permanent der Sleeptimer gestartet.
    define ST_For30Minutes notify (Sonos_Schlafzimmer|Sonos_Buero|Sonos_Kind1|Sonos_Kind2):transportState.*PLAYING  \
    set $NAME Volume 2 1;; \
    set $NAME SleepTimer 00:30:00;;
    attr ST_For30Minutes disabledForIntervals 01:00-23:30
    attr ST_For30Minutes room Wecker


    Nun ist es aber so, dass der Play 1 im Bad in der Schlafzimmer-Gruppe ist. Drücke ich nun die Play Taste im Bad, wird zwar die Lautstärke im Schlafzimmer angepasst,  im Bad bleibt sie unverändert. hat jemand eine Idee, wie man das flexibel lösen kann, ohne den Gruppenteilnehmer direkt anzusprechen, denn manchmal laufen auch die "Kind"-Geräte in der Schlafzimmergruppe.

    Danke,
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 September 2014, 21:06:38
    Hi Spartacus,

    für sowas ähnliches hatte ich mal den Set-Befehl "SnapshotGroupVolume" am Player eingeführt.

    Dieser speichert das aktuelle Lautstärkeverhältnis aller Gruppenteilnehmer. Ein nachfolgender Aufruf von (bzw. bis auf weiteres alle Aufrufe von) "GroupVolume" verwendet dann für die Gruppenteilnehmer dieses Lautstärkeverhältnis.
    Dieses Verhältnis bleibt solange gespeichert/in Verwendung, bis man z.B. am Sonos-Controller die Lautstärke in einer Gruppe verändert, oder den Setter wieder aufruft...

    Vielleicht hilft dir das ja schon mal... ansonsten kann ich für ein nächstes Release ja mal einen festen Gruppen-Volume-Befehl einführen. Das sollte eigentlich auch irgendwie gehen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 02 September 2014, 22:23:42
    Hallo Reiner'
    Danke für die Antwort. Da mit dem  SnapshotGroupVolume habe ich gesehen, aber  wie Du schon richtig sagst, verändert sich das Verhältniss. Ich bräuchte einen fixen Wert. Wenn es im nächsten Release machbar wäre, würde ich mich freuen. Bis dahin werde ich es einfach fest verdrahten....

    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 03 September 2014, 15:05:57
    Hallo,
    hat schon jemand das Sonos System auf 5.1 umgestellt? Läuft unter fhem noch alles?

    Spartacus.
    Titel: Antw:Sonos steuern
    Beitrag von: FHEM-Freak am 05 September 2014, 12:08:33
    Hallo,

    Hab schon 5.1 laufen.
    Nur noch nicht mit Fhem getestet  :(
    Stelle gerade um von raspberry pi auf banana pi und es läuft noch nix da ich es von Grund auf neu und sauber installieren möchte.

    Anscheinend noch keiner getestet.
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 05 September 2014, 14:35:33
    Hallo FHEM-Freak,
    sehr mutig von Dir, direkt an zwei Schrauben gleichzeitig zu drehen!

    melde Dich mal, wenn der Sonos läuft....

    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: JoMe am 06 September 2014, 19:36:36
    Hallo,

    so, habe heute Sonos mit 5.1 und Fhem getestet....sieht aus, als ob es ohne Probleme läuft......


    Gruß aus Berlin,

    Joachim
    Titel: Antw:Sonos steuern
    Beitrag von: poempel am 07 September 2014, 10:58:02
    Hallo zusammen,

    gibt es einen Weg zu vermeiden, dass die unzähligen Zeilen Code der einzelnen Sonos-Komponenten in der fhem.cfg landen, sobald man auf "Save Config" klickt?

    Ich meine damit, dass der aktuelle Status mit allen Readings eingetragen wird.
    Titel: Antw:Sonos steuern
    Beitrag von: Schiri1986 am 07 September 2014, 11:03:30
    Hallo,
    ich bin im Beta-Programm von Sonos und teste die neue Software schon seit einiger Zeit. Ich hatte bisher keine Probleme im Zusammenspiel mit fhem.
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 07 September 2014, 22:21:16
    Hallo,
    Besten Dank für die 5.1 Berichte. Scheint ja alles zu laufen, bin aber noch am Zweifeln, ob ich wirklich auf 5.1 wechseln soll. Hab mich noch nicht an den neuen Controller gewöhnt. Und mit. 5.1 soll der alte 4.3er auf dem iPad nicht mehr laufen....

    Danke,
    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 08 September 2014, 17:20:44
    Zitat von: Reinerlein am 31 August 2014, 01:02:24
    Hi strauch,

    ein paar Infrormationen vermisse ich dort schon. Z.b. gibt der Thread (bzw. alle drei Threads) aus, dass er gestartet wurde. Das sollte kommen, bevor er versucht SigChild zu ignorieren (was hier komischerweise nicht zugelassen wird)...

    Ich hab jetzt einige Neustarts hingelegt, jetzt loggt er fleißig und nicht so spärlich, seit dem hatte ich aber auch keinen einzigen Absturz mehr.... da war wohl irgendwo der Wurm drin. Mal schauen ob irgendwann noch mal was passiert. Danke.
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 13 September 2014, 23:48:08
    @Reinerlein jetzt gibts wieder Abstürze :-). Hier mal die letzten Minuten:

    [code]2014.09.13 21:21:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:21:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:21:12 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:21:12 5: SONOS2: PingType: syn
    2014.09.13 21:21:12 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:21:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:21:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:21:12 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:21:12 5: SONOS2: PingType: syn
    2014.09.13 21:21:12 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:21:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:21:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:21:42 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:21:42 5: SONOS2: PingType: syn
    2014.09.13 21:21:42 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:21:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:21:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:21:42 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:21:42 5: SONOS2: PingType: syn
    2014.09.13 21:21:42 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:22:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:22:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:22:12 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:22:12 5: SONOS2: PingType: syn
    2014.09.13 21:22:12 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:22:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:22:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:22:12 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:22:12 5: SONOS2: PingType: syn
    2014.09.13 21:22:12 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:22:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:22:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:22:42 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:22:42 5: SONOS2: PingType: syn
    2014.09.13 21:22:42 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:22:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:22:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:22:42 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:22:42 5: SONOS2: PingType: syn
    2014.09.13 21:22:42 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:23:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:23:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:23:12 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:23:12 5: SONOS2: PingType: syn
    2014.09.13 21:23:12 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:23:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:23:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:23:12 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:23:12 5: SONOS2: PingType: syn
    2014.09.13 21:23:12 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:23:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:23:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:23:42 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:23:42 5: SONOS2: PingType: syn
    2014.09.13 21:23:42 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:23:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:23:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:23:42 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:23:42 5: SONOS2: PingType: syn
    2014.09.13 21:23:42 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:23:56 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, def, NAME, RINCON_000E5823915201400_MR) -> Sonos_Wohnzimmer
    2014.09.13 21:23:56 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, attr, disable, 0) -> DEFAULT
    2014.09.13 21:23:56 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:23:56 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_000E5823915201400_MR'
    2014.09.13 21:23:56 4: SONOS1: Transport-Event: GroundURL: http://192.168.200.151:1400
    2014.09.13 21:23:56 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="16"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://stream-uk1.radioparadise.com:80/aac-128"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/res&gt;&lt;r:streamContent&gt;Dire Straits - The Man`s Too Strong&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="aac://stream-dc1.radioparadise.com:80/aac-128"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;aac:*:application/octet-stream:*&quot;&gt;aac://stream-dc1.radioparadise.com:80/aac-128&lt;/res&gt;&lt;upnp:albumArtURI&gt;/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;amp;v=130&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;aac-128&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s13606?sid=254&amp;flags=32"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Radio Paradise&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2014.09.13 21:23:56 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s13606?sid=254&amp;flags=32</res><r:streamContent>Dire Straits - The Man`s Too Strong</r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32</upnp:albumArtURI><dc:title>x-sonosapi-stream:s13606?sid=254&amp;flags=32</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:23:56 4: SONOS1: Transport-Event: Stream erkannt!
    2014.09.13 21:23:56 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="aac:*:application/octet-stream:*">aac://stream-dc1.radioparadise.com:80/aac-128</res><upnp:albumArtURI>/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;v=130</upnp:albumArtURI><dc:title>aac-128</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:23:56 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:24:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:24:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:24:12 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:24:12 5: SONOS2: PingType: syn
    2014.09.13 21:24:12 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:24:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:24:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:24:12 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:24:12 5: SONOS2: PingType: syn
    2014.09.13 21:24:12 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:24:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:24:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:24:42 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:24:42 5: SONOS2: PingType: syn
    2014.09.13 21:24:42 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:24:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:24:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:24:42 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:24:42 5: SONOS2: PingType: syn
    2014.09.13 21:24:42 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:25:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:25:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:25:12 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:25:12 5: SONOS2: PingType: syn
    2014.09.13 21:25:12 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:25:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:25:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:25:12 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:25:12 5: SONOS2: PingType: syn
    2014.09.13 21:25:12 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:25:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:25:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:25:42 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:25:42 5: SONOS2: PingType: syn
    2014.09.13 21:25:42 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:25:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:25:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:25:42 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:25:42 5: SONOS2: PingType: syn
    2014.09.13 21:25:42 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:26:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:26:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:26:12 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:26:12 5: SONOS2: PingType: syn
    2014.09.13 21:26:12 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:26:12 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:26:12 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:26:12 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:26:12 5: SONOS2: PingType: syn
    2014.09.13 21:26:12 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:26:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:26:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:26:42 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:26:42 5: SONOS2: PingType: syn
    2014.09.13 21:26:42 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:26:42 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:26:42 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:26:42 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:26:42 5: SONOS2: PingType: syn
    2014.09.13 21:26:42 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:27:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:27:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:27:13 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:27:13 5: SONOS2: PingType: syn
    2014.09.13 21:27:13 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:27:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:27:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:27:13 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:27:13 5: SONOS2: PingType: syn
    2014.09.13 21:27:13 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:27:43 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:27:43 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:27:43 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:27:43 5: SONOS2: PingType: syn
    2014.09.13 21:27:43 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:27:43 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:27:43 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:27:43 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:27:43 5: SONOS2: PingType: syn
    2014.09.13 21:27:43 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:28:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:28:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:28:13 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:28:13 5: SONOS2: PingType: syn
    2014.09.13 21:28:13 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:28:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:28:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:28:13 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:28:13 5: SONOS2: PingType: syn
    2014.09.13 21:28:13 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:28:22 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, def, NAME, RINCON_000E5823915201400_MR) -> Sonos_Wohnzimmer
    2014.09.13 21:28:22 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, attr, disable, 0) -> DEFAULT
    2014.09.13 21:28:22 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:28:22 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_000E5823915201400_MR'
    2014.09.13 21:28:22 4: SONOS1: Transport-Event: GroundURL: http://192.168.200.151:1400
    2014.09.13 21:28:22 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="16"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://stream-uk1.radioparadise.com:80/aac-128"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/res&gt;&lt;r:streamContent&gt;Dire Straits - The Man`s Too Strong&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="aac://stream-dc1.radioparadise.com:80/aac-128"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;aac:*:application/octet-stream:*&quot;&gt;aac://stream-dc1.radioparadise.com:80/aac-128&lt;/res&gt;&lt;upnp:albumArtURI&gt;/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;amp;v=130&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;aac-128&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s13606?sid=254&amp;flags=32"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Radio Paradise&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2014.09.13 21:28:22 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s13606?sid=254&amp;flags=32</res><r:streamContent>Dire Straits - The Man`s Too Strong</r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32</upnp:albumArtURI><dc:title>x-sonosapi-stream:s13606?sid=254&amp;flags=32</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:28:22 4: SONOS1: Transport-Event: Stream erkannt!
    2014.09.13 21:28:22 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="aac:*:application/octet-stream:*">aac://stream-dc1.radioparadise.com:80/aac-128</res><upnp:albumArtURI>/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;v=130</upnp:albumArtURI><dc:title>aac-128</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:28:22 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:28:26 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, def, NAME, RINCON_000E5823915201400_MR) -> Sonos_Wohnzimmer
    2014.09.13 21:28:26 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, attr, disable, 0) -> DEFAULT
    2014.09.13 21:28:26 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:28:26 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_000E5823915201400_MR'
    2014.09.13 21:28:26 4: SONOS1: Transport-Event: GroundURL: http://192.168.200.151:1400
    2014.09.13 21:28:26 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="16"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://stream-uk1.radioparadise.com:80/aac-128"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/res&gt;&lt;r:streamContent&gt;Beck - Turn Away&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="aac://stream-dc1.radioparadise.com:80/aac-128"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;aac:*:application/octet-stream:*&quot;&gt;aac://stream-dc1.radioparadise.com:80/aac-128&lt;/res&gt;&lt;upnp:albumArtURI&gt;/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;amp;v=130&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;aac-128&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s13606?sid=254&amp;flags=32"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Radio Paradise&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2014.09.13 21:28:26 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s13606?sid=254&amp;flags=32</res><r:streamContent>Beck - Turn Away</r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32</upnp:albumArtURI><dc:title>x-sonosapi-stream:s13606?sid=254&amp;flags=32</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:28:26 4: SONOS1: Transport-Event: Stream erkannt!
    2014.09.13 21:28:26 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="aac:*:application/octet-stream:*">aac://stream-dc1.radioparadise.com:80/aac-128</res><upnp:albumArtURI>/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;v=130</upnp:albumArtURI><dc:title>aac-128</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:28:26 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:28:43 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:28:43 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:28:43 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:28:43 5: SONOS2: PingType: syn
    2014.09.13 21:28:43 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:28:43 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:28:43 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:28:43 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:28:43 5: SONOS2: PingType: syn
    2014.09.13 21:28:43 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:29:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:29:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:29:13 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:29:13 5: SONOS2: PingType: syn
    2014.09.13 21:29:13 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:29:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:29:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:29:13 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:29:13 5: SONOS2: PingType: syn
    2014.09.13 21:29:13 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:29:43 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:29:43 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:29:43 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:29:43 5: SONOS2: PingType: syn
    2014.09.13 21:29:43 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:29:43 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:29:43 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:29:43 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:29:43 5: SONOS2: PingType: syn
    2014.09.13 21:29:43 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:30:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:30:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:30:13 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:30:13 5: SONOS2: PingType: syn
    2014.09.13 21:30:13 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:30:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:30:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:30:13 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:30:13 5: SONOS2: PingType: syn
    2014.09.13 21:30:13 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:30:43 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:30:43 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:30:43 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:30:43 5: SONOS2: PingType: syn
    2014.09.13 21:30:43 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:30:43 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:30:43 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:30:43 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:30:43 5: SONOS2: PingType: syn
    2014.09.13 21:30:43 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:30:43 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, def, NAME, RINCON_000E5823915201400_MR) -> Sonos_Wohnzimmer
    2014.09.13 21:30:43 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, attr, disable, 0) -> DEFAULT
    2014.09.13 21:30:43 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:30:43 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_000E5823915201400_MR'
    2014.09.13 21:30:43 4: SONOS1: Transport-Event: GroundURL: http://192.168.200.151:1400
    2014.09.13 21:30:43 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="16"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://stream-uk1.radioparadise.com:80/aac-128"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/res&gt;&lt;r:streamContent&gt;Beck - Turn Away&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="aac://stream-dc1.radioparadise.com:80/aac-128"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;aac:*:application/octet-stream:*&quot;&gt;aac://stream-dc1.radioparadise.com:80/aac-128&lt;/res&gt;&lt;upnp:albumArtURI&gt;/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;amp;v=130&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;aac-128&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s13606?sid=254&amp;flags=32"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Radio Paradise&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2014.09.13 21:30:43 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s13606?sid=254&amp;flags=32</res><r:streamContent>Beck - Turn Away</r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32</upnp:albumArtURI><dc:title>x-sonosapi-stream:s13606?sid=254&amp;flags=32</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:30:43 4: SONOS1: Transport-Event: Stream erkannt!
    2014.09.13 21:30:43 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="aac:*:application/octet-stream:*">aac://stream-dc1.radioparadise.com:80/aac-128</res><upnp:albumArtURI>/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;v=130</upnp:albumArtURI><dc:title>aac-128</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:30:43 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:31:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:31:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:31:13 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:31:13 5: SONOS2: PingType: syn
    2014.09.13 21:31:13 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:31:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:31:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:31:13 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:31:13 5: SONOS2: PingType: syn
    2014.09.13 21:31:13 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:31:27 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, def, NAME, RINCON_000E5823915201400_MR) -> Sonos_Wohnzimmer
    2014.09.13 21:31:27 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, attr, disable, 0) -> DEFAULT
    2014.09.13 21:31:27 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:31:27 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_000E5823915201400_MR'
    2014.09.13 21:31:27 4: SONOS1: Transport-Event: GroundURL: http://192.168.200.151:1400
    2014.09.13 21:31:27 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="16"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://stream-uk1.radioparadise.com:80/aac-128"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/res&gt;&lt;r:streamContent&gt;Radio Paradise - Commercial-Free, Listener-Supported&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="aac://stream-dc1.radioparadise.com:80/aac-128"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;aac:*:application/octet-stream:*&quot;&gt;aac://stream-dc1.radioparadise.com:80/aac-128&lt;/res&gt;&lt;upnp:albumArtURI&gt;/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;amp;v=130&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;aac-128&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s13606?sid=254&amp;flags=32"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Radio Paradise&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2014.09.13 21:31:27 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s13606?sid=254&amp;flags=32</res><r:streamContent>Radio Paradise - Commercial-Free, Listener-Supported</r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32</upnp:albumArtURI><dc:title>x-sonosapi-stream:s13606?sid=254&amp;flags=32</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:31:27 4: SONOS1: Transport-Event: Stream erkannt!
    2014.09.13 21:31:27 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="aac:*:application/octet-stream:*">aac://stream-dc1.radioparadise.com:80/aac-128</res><upnp:albumArtURI>/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;v=130</upnp:albumArtURI><dc:title>aac-128</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:31:27 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:31:35 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, def, NAME, RINCON_000E5823915201400_MR) -> Sonos_Wohnzimmer
    2014.09.13 21:31:35 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, attr, disable, 0) -> DEFAULT
    2014.09.13 21:31:35 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:31:35 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_000E5823915201400_MR'
    2014.09.13 21:31:35 4: SONOS1: Transport-Event: GroundURL: http://192.168.200.151:1400
    2014.09.13 21:31:35 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="16"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://stream-uk1.radioparadise.com:80/aac-128"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/res&gt;&lt;r:streamContent&gt;Radio Paradise - Commercial-Free, Listener-Supported&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="aac://stream-dc1.radioparadise.com:80/aac-128"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;aac:*:application/octet-stream:*&quot;&gt;aac://stream-dc1.radioparadise.com:80/aac-128&lt;/res&gt;&lt;upnp:albumArtURI&gt;/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;amp;v=130&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;aac-128&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s13606?sid=254&amp;flags=32"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Radio Paradise&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2014.09.13 21:31:35 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s13606?sid=254&amp;flags=32</res><r:streamContent>Radio Paradise - Commercial-Free, Listener-Supported</r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32</upnp:albumArtURI><dc:title>x-sonosapi-stream:s13606?sid=254&amp;flags=32</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:31:35 4: SONOS1: Transport-Event: Stream erkannt!
    2014.09.13 21:31:35 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="aac:*:application/octet-stream:*">aac://stream-dc1.radioparadise.com:80/aac-128</res><upnp:albumArtURI>/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;v=130</upnp:albumArtURI><dc:title>aac-128</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:31:35 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:31:39 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, def, NAME, RINCON_000E5823915201400_MR) -> Sonos_Wohnzimmer
    2014.09.13 21:31:39 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, attr, disable, 0) -> DEFAULT
    2014.09.13 21:31:39 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:31:39 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_000E5823915201400_MR'
    2014.09.13 21:31:39 4: SONOS1: Transport-Event: GroundURL: http://192.168.200.151:1400
    2014.09.13 21:31:39 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="16"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://stream-uk1.radioparadise.com:80/aac-128"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/res&gt;&lt;r:streamContent&gt;Radiohead - Staircase&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s13606?sid=254&amp;amp;flags=32&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="aac://stream-dc1.radioparadise.com:80/aac-128"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;aac:*:application/octet-stream:*&quot;&gt;aac://stream-dc1.radioparadise.com:80/aac-128&lt;/res&gt;&lt;upnp:albumArtURI&gt;/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;amp;v=130&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;aac-128&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s13606?sid=254&amp;flags=32"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;Radio Paradise&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2014.09.13 21:31:39 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s13606?sid=254&amp;flags=32</res><r:streamContent>Radiohead - Staircase</r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32</upnp:albumArtURI><dc:title>x-sonosapi-stream:s13606?sid=254&amp;flags=32</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:31:39 4: SONOS1: Transport-Event: Stream erkannt!
    2014.09.13 21:31:39 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="aac:*:application/octet-stream:*">aac://stream-dc1.radioparadise.com:80/aac-128</res><upnp:albumArtURI>/getaa?u=aac%3a%2f%2fstream-dc1.radioparadise.com%3a80%2faac-128&amp;v=130</upnp:albumArtURI><dc:title>aac-128</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.09.13 21:31:39 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.09.13 21:31:43 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:31:43 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:31:43 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:31:43 5: SONOS2: PingType: syn
    2014.09.13 21:31:43 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:31:43 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:31:43 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:31:43 5: SONOS2: Location: http://192.168.200.151:1400/xml/device_description.xml
    2014.09.13 21:31:43 5: SONOS2: PingType: syn
    2014.09.13 21:31:43 4: SONOS2: 192.168.200.151 is alive
    2014.09.13 21:32:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E582A07B601400_MR
    2014.09.13 21:32:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582A07B601400_MR, reading, location, ) -> http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:32:13 5: SONOS2: Location: http://192.168.200.152:1400/xml/device_description.xml
    2014.09.13 21:32:13 5: SONOS2: PingType: syn
    2014.09.13 21:32:13 4: SONOS2: 192.168.200.152 is alive
    2014.09.13 21:32:13 4: SONOS2: IsAlive-Event UDN=RINCON_000E5823915201400_MR
    2014.09.13 21:32:13 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5823915201400_MR, reading, location, ) -> http://192.168.200.151:1400/xml/device_description.xml
    2014.0
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 September 2014, 00:11:32
    Hi strauch,

    ist das zufällig ein Pi mit einer SD-Karte? Kann es sein, dass diese hinüber ist?

    Er hat mitten im Wegschreiben der Logs mitten im Datum abgebrochen?
    Das ist jetzt nun nichts wirklich Modulspezifisches. Ich meine, klar, es ist das Modul, was loggt :-) Aber das ist ja ein einfacher Perl-Write-Befehl... Das sollte schon vollständig ausgeführt werden können...

    Ich hatte dieses Blockade-Verhalten an meinem Pi, als die Karte nicht mehr so richtig wollte. Da waren dann diverse Speicherzellen defekt, sodass er immer dann hängen blieb, wenn er eine dieser defekten Stellen beschreiben wollte. Da ist dieses Modul mit seinen Mega-Log-Ausgaben natürlich nicht gerade schonend :-)

    Vielleicht kannst du Fehler in dieser Richtung ausschließen? Oder ist die Ausgabe hier nur abgeschnitten übertragen worden?
    Anders gesagt: Bis hierhin sieht die Log-Ausgabe gut und normal aus... Keine Blockaden, keine Aussetzer, nix fehlerhaftes...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 14 September 2014, 08:51:46
    Hallo Reinerlein,

    bis vor kurzem hätte ich ja sagen können. Aber seit 2 Wochen läuft FHEM bei mir in einer VM auf einem MacMini (ESXi). FHEM bleibt bei 100% hängen und immer mit der Kill Meldung. Ich vermute das es Sonos mit irgendwas in Kombination ist. Aber so richtig auf eine zündende Idee was es sein könnte bin ich nicht gekommen.
    Ich hab dir die Protokolle der letzten 4 Abstürze maldrangehangen, of dauert das auch keine 5min. Letzte mal lief er dann aber auch einige Zeit wie man ja am Abstand zwischen meinen Beiträgen sieht.

    Kannst du in dem Kill Prozess irgendwie sonst ein Timeout einbauen das er sich da nicht aufhängen kann.... oder kann ich den Prozess forken? Das muss ich mir malanschauen.

    Grüße

    strauch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 September 2014, 16:13:00
    Hi Strauch,

    das mit der Meldung bzgl. "Signal CHLD" stimmt mich skeptisch. Das könnte das eigentliche Problem sein...
    Zur Erklärung:
    Das verwendete UPnP-Modul meldet unter Unix (und dessen Derivaten) ab und zu einen Stream-Abbruch, wenn die Verbindung zum Client verloren geht (unter Windows nicht). Das wird über ein Signal CHLD gemacht. Das Default-Verhalten ist dann, den Prozess zu beenden (das Signal wurde für die Verarbeitung von Pipe-Ketten erdacht, damit diese auch durchgehend und komplett beendet werden können. SIGPIPE wird beim ersten Prozess aufgerufen, SIGCHLD bei allen anderen).

    Hier ist das aber unerwünscht, da diese Stream-Unterbrechung normal zu sein scheint. Wenn dieses Signal jetzt nicht ignoriert werden kann, wird das Modul bei jeder Kommunikationsunterbrechung zu den Playern beendet werden (bzw. den Versuch unternehmen).
    Das dürfte der Grund sein, warum überhaupt ein Prozess (oder der Thread) beendet werden soll. U.U. kommt das so schnell, dass die Threads noch gar nicht sauber eingerichtet wurden.

    Was ich machen kann, ist, die Thread-Beendigung sicherer zu machen.

    Dazu kannst du bei dir mal bitte die Sub-Definition für Signal 'INT' (um die Zeile 5006 herum) auf folgendes anpassen:
    $SIG{'INT'} = sub {
    # Hauptschleife beenden
    $SONOS_Client_NormalQueueWorking = 0;
    $runEndlessLoop = 0;

    # Sub-Threads beenden, sofern vorhanden
    if (($SONOS_Thread != -1) && defined(threads->object($SONOS_Thread))) {
    threads->object($SONOS_Thread)->kill('INT')->detach();
    }
    if (($SONOS_Thread_IsAlive != -1) && defined(threads->object($SONOS_Thread_IsAlive))) {
    threads->object($SONOS_Thread_IsAlive)->kill('INT')->detach();
    }
    if (($SONOS_Thread_PlayerRestore != -1) && defined(threads->object($SONOS_Thread_PlayerRestore))) {
    threads->object($SONOS_Thread_PlayerRestore)->kill('INT')->detach();
    }
    };

    Damit sollte es nicht mehr zu einem Fehler bzgl. dieses undefined Values kommen.

    Die Ursache wird dadurch aber nicht behoben, die dürfte meiner Vermutung nach in dieser Signal-CHLD-Geschichte liegen. Kannst du da mal bzgl. deiner aktuellen Mac-VM-Umgebung Googeln, ob man das irgendwie konfigurieren kann, dass man dieses Sig-CHLD wieder definieren darf?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 14 September 2014, 21:04:50
    Hallo Reinerlein,

    danke für die Infos, ich werde das mal testen und mich mal schlau machen, was das chld angeht. Wichtig ist auf dem Mac läuft keinerlei MacOS X, da läuft direkt ein ESXI Server drauf auf dem die VMs aufgesetzt sind. In der VM läuft ein Debian 7. Aber ich lese mich da mal etwas ein, bin da sehr unbescholten.

    Grüße

    strauch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 September 2014, 22:26:20
    Hi strauch,

    hmmm... vielleicht liegt es auch an der verwendeten Perl-Distribution (gibt es da überhaupt verschiedene?). Debian ist ja eigentlich kein Problem. Das läuft auf den meisten Raspberries ja auch...

    Leider kenne ich mich da auch wenig aus...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 15 September 2014, 10:16:43
    Also die Perl Version ist
    This is perl 5, version 14, subversion 2 (v5.14.2) built for x86_64-linux-gnu-thread-multi
    (with 88 registered patches, see perl -V for more detail)


    Ich kann auch gleich noch mal Updates einspielen. Ich teste jetzt mal deinen Vorschlag. Wobei das die aktuelle Version für Debian 7 ist wenn ich das richtig sehe.
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 15 September 2014, 15:16:44
    Puh ich finde dazu so gut wie nichts im Internet, hab nur das hier gefunden:
    http://www.perlmonks.org/?node_id=1047688
    http://de.comp.lang.perl.misc.narkive.com/dKswsjoa/can-t-ignore-signal-chld

    Aber keine Ahnung ob das das Modul überhaupt betrifft..... aber ganz nach... denn sie wissen nicht was sie tun, teste ich einfach mal
    $SIG{HUP} = 'IGNORE';... hoffentlich liest das nicht betateilchen, das gibt dann immer (zurecht) ärger.

    Edit: bringt auch nichts
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 September 2014, 17:05:50
    Hi strauch,

    was hat denn das Anpassen des Signal-Handlers mit dem Codebeispiel ergeben?
    Vielleicht wird dieses Ignorieren ja doch gar kein Problem...

    Ich kann auch mal experimentieren, wenn ich das weglasse. Es kann nämlich sein, dass es bei den Sub-Prozessen nicht notwendig ist, sondern nur beim Hauptprozess...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 15 September 2014, 17:34:15
    Aktuell läuft alles..... aber das ist grad auch totaler Blindflug meinerseits. Ich hab
    $SIG{HUP} = 'IGNORE';

    eingetragen und jetzt einfach mal schauen was passiert. Die CHLD Meldung kam trotzdem aber bisher kein Absturz.
    Titel: Antw:Sonos steuern
    Beitrag von: michaelfhem am 28 September 2014, 10:48:32
    Hallo zusammen,

    erstmal  Danke für dieses Megacoole Modul!!!. Damit wird fhem deutlich aufgewertet. Ich habe mir gestern den Play1 zugelegt und alles installiert. Im Prinzip funktioniert alles (Textausgabe und auch abspielen von mp3, Lautstärke einstellen, in Fhem werde alle Readings angezeigt, etc). Allerdings nur sporadisch. Nach einer unbestimmten Zeit (eher minuten) geht keine Textansagae mehr und auch das abspielen von mp3 nicht mehr. Der fhem Prozess braucht dann meist 100% CPU. fhem lässt sich dann auch nicht mit sudo kill abschiessen, es hilft nur reboot. Ich habe schon einiges gelesen hier im Thread (zuminndest bis Seite 50).

    Meine Daten: Play 1, Debian Linux Server (auf einem EEE-PC), fhem 5.5 (update force), apt-get update + upgrade gemacht 
    update thirdparty http://fhem.lmsoft.de/sonos_dev sonos  sagt nothing todo ? (im 00_SONOS steht Version 2.5)
    Die Softwarerevission von SonosPlayer ist 5.1.

    Bin ich auf der aktuellsten Version, bzw. woran kann ich es erkennen?

    Grüße Michi
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 September 2014, 16:26:57
    Hi Michi,

    also die aktuellste Version hast du... Ich habe hier intern nur ein paar Entwicklungen, die leider (immer) noch nicht ganz fertig sind...

    Bitte sende/poste mal die Logausgabe des Sub-Threads. Im Wiki gibt es dazu ein paar Sätze.
    Vielleicht kann man da was erkennen, was die letzte Ausgabe ist, und an was er so hängen bleibt.

    Mehrere Minuten (vielleicht genau 2?) klingt danach, dass Fhem nicht als Root läuft, und der IsAlive-Checker kein Ping absetzen kann/darf...

    Zum Kill: Probier mal folgendes:

    sudo kill -9 <PID>

    Damit sollte auch dieser Prozess sterben. Kill ist ein Kommando, welches ein Signal an den angegebenen Prozess sendet. Dieses Signal kann ausgewertet werden, um ein saubers Beenden der Applikation zu gewährleisten.
    Wenn der Prozess aber "hängt", kann das Signal vielleicht nicht mehr verarbeitet werden.
    Dann hilft der Parameter "-9", der dem Vater-Prozess sagt: "Schiess das Ding jetzt einfach ab!"

    Damit sollte ein Reboot verhindert werden können. Beachte aber, dass es u.U. mehrere Fhem-Perl-Prozesse gibt, da das Sonos-Modul in einem eigenen läuft, und entsprechend extra abgeschossen werden muss...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 29 September 2014, 11:31:11
    @michaelfhem, das klingt nach einem ähnlichen Problem wie ich das habe. Bin mal auf deine Logfiles gespannt ob die ähnliches ausspucken wie bei mir und es vielleicht wirklich das gleiche Problem sein könnte.
    Aktuell läuft aber alles bei mir. Da mir gerade die Zeit fehlt hab ich bisher die Finger von FHEM gelassen. In meinem Urlaub mitte nächster Woche, werde ich mal wieder ein FHEM Update machen und schauen ob er dann wieder los spinnt oder durchläuft und dann werde ich auch eher wissen was meine Zeile da oben gebracht hat.
    Titel: Antw:Sonos steuern
    Beitrag von: Laffer72 am 29 September 2014, 15:09:44
    Hallo,

    vielen Dank für das super-Modul. Soweit funktioniert auch alles, Textansage, Steuerung.... Allerding ahbe ich ein kleines "Schönheitsproblem": Beim Abspielen von Simfy-Titeln (also Streaming) habe ich keine Cover-Anzeige. Sonos selbst hat eine Anzeige.
    Gibt es da eine Möglichkeit etwas einzustellen? Oder liefert Sonos das Cover da in einem falschen Format ab?

    Danke
    Reinhard
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 September 2014, 15:32:38
    Hi Reinhard,

    das sollte kein Problem sein. Leider liefert der SonosPlayer nicht immer einen sauberen Mimetype für die Cover mit. Diesen muss man dann fest setzen.
    Kannst du mir mal bitte das komplette Reading "currentTrackURI" zusenden, und auf dem Rechner, auf dem Fhem läuft, in dem Verzeichnis "www/images/default/SONOSPLAYER/" nachschauen? Dort werden alle Cover-Bilder heruntergeladen. Dort sollte dann auch das von deiner gewünschten Zone liegen (vermutlich mit der Endung "ERROR").
    Dieses bitte auch mitsenden, oder reinschauen, welcher Dateityp wirklich drinsteckt.

    Dann verdrahte ich das auch fest für Simfy...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: michaelfhem am 29 September 2014, 20:08:25
    Hi Reiner,

    ich warte seit gestern auf den nächsten Absturz, aber er kommt nicht. Seit meinem Post gestern läuft alles stabil?
    Ergänzung: fhem läuft nicht als root, als sync habe ich "syn" eingestellt.

    Falls ich doch auf root umstelle: bei mir gibt es kein fhem-startscript unter /etc/init.d/ wo kann das noch bei debian liegen?

    Grüße Michi
    Titel: Antw:Sonos steuern
    Beitrag von: Laffer72 am 29 September 2014, 21:57:20
    Hallo Reiner,

    anbei die Datei des Covers.
    Die currentTrackUri ist "x-sonos-http:track%3a37359658.mp3?sid=28&amp;flags=32&amp;sn=1"

    Hoffe das hilft Dir weiter.

    Falls Du noch was brauchst, einfach Bescheid geben.

    Danke schonmal,

    Reinhard



    Titel: Antw:Sonos steuern
    Beitrag von: michaelfhem am 05 Oktober 2014, 10:05:02
    Hallo Reiner,

    das 100% CPU-Time-Problem für fhem ist wieder da. Ich starte nun fhem mit  sudo perl fhem.pl fhem.cfg > /tmp/logfhem. Kurz danach erscheint auf der Konsole folgende Meldung: Thread 2 terminated abnormally: icmp ping requires root privilege at FHEM/00_SONOS.pm line 3329 thread
    Sonos scheint aber erstmal normal zu funktionieren (presence appeared).
    Nach einem rereadconfig kommt folgende Meldung:
    Unsubscription request failed with error: 412 Precondition Failed at FHEM/lib/UPnP/ControlPoint.pm line 1015 thread 1

    Nach ca. 30min Laufzeit dann wieder die 100%
    letzte Medlungen im logfhem:
    2014.10.05 09:44:55 3: SONOS0: Disconnecting client...
    2014.10.05 09:44:55 3: SONOS0: Trying to kill Sonos_Thread...
    2014.10.05 09:44:55 3: SONOS0: Trying to kill IsAlive_Thread...
    2014.10.05 09:44:55 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2014.10.05 09:44:55 1: SONOS3: Restore-Thread wurde beendet.
    2014.10.05 09:44:56 4: SONOS1: ControlPoint is successfully stopped!
    2014.10.05 09:44:56 3: SONOS1: Controlpoint-Listener wurde beendet.
    2014.10.05 09:44:56 2: SONOS1: Error during UPnP-Handling:
    2014.10.05 09:44:56 3: SONOS1: UPnP-Thread wurde beendet.
    2014.10.05 09:44:57 1: SONOS0: Connection accepted from localhost:60901
    2014.10.05 09:44:57 5: SONOS0: Received: 'disconnect'
    2014.10.05 09:44:57 3: SONOS0: Disconnecting client...
    2014.10.05 09:44:57 3: SONOS0: IsAlive_Thread is already killed!
    2014.10.05 09:44:59 1: SONOS0: Connection accepted from localhost:60917
    2014.10.05 09:44:59 5: SONOS0: Received: 'DoWork:undef:setVerbose:5'

    100% Problem aber erst seit ca. 9:55 wirklich erkennbar
    Letzte Meldungen aus dem fhemlog:

    2014.10.05 09:44:58 5: SW: 53746172745468726561640a
    2014.10.05 09:44:59 5: SONOS0: Received from UPnP-Server: ''This is UPnP-Server calling''
    2014.10.05 09:44:59 5: SONOS0: MainTrigger()-Line: 'This is UPnP-Server calling'
    2014.10.05 09:45:00 3: CUL_HM set Kellerluefter on
    2014.10.05 09:45:03 3: Device BalkontuerRiegel added to ActionDetector with 028:00 time
    2014.10.05 09:45:03 3: Device CUL_HM_HM_SEC_MDIR_21A576 added to ActionDetector with 000:20 time
    2014.10.05 09:45:03 3: Device HaustuerSensor added to ActionDetector with 028:00 time
    2014.10.05 09:45:04 3: CUL_HM set Dimmer statusRequest
    2014.10.05 09:45:05 3: CUL_HM set Kellerluefter statusRequest
    2014.10.05 09:45:06 3: CUL_HM set Multimedia statusRequest
    2014.10.05 09:45:07 3: CUL_HM set Schlafen statusRequest
    2014.10.05 09:45:08 3: CUL_HM set SchlafenSW1 statusRequest
    2014.10.05 09:45:09 3: CUL_HM set SchlafenSW2 statusRequest
    2014.10.05 09:45:21 3: CUL_HM set Dimmer getConfig
    2014.10.05 09:47:38 3: delete Brigthness_at : Please define Brigthness_at first


    Hilft das weiter?

    Grüße Michi
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Oktober 2014, 19:01:49
    Hi Michi,

    yup. Du hast es selber reinkopiert:
    ----------------------snip------------------
    Thread 2 terminated abnormally: icmp ping requires root privilege at FHEM/00_SONOS.pm line 3329
    ----------------------snip------------------

    Der Checker steht auf "icmp" und läuft ohne root-Rechte...

    Da solltest du was dran drehen, also entweder Fhem als Root laufen lassen, oder den pingtype umstellen (notfalls auf "none") :-)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: michaelfhem am 07 Oktober 2014, 22:22:56
    Hi Reiner,

    ja das steht da, aber eigentlich läuft ja alles und ich habe fhem mit sudo gestartet wie oben beschrieben? Merkwürdig.... Ich habe wieder auf syn umgestellt und derzeit läuft es wieder stabil (habe zus. noch meine HTTPMOD Befehle reduziert, scheinbar waren hier auch noch Blockings versteckt.).

    Ein anderes Problem:
    Ich will meine Alarmzeit von fhem anpassen. Dazu verwende ich folgenden Befehl in meiner myUtils.pm:

    fhem("set Sonos_Eingang Alarm Update 1 \{ StartTime => '06:43:00' \}");
    alternativ würde ich das gerne mit einer Variablen machen also
    $time = 06:43:00;
    fhem("set Sonos_Eingang Alarm Update 1 \{ StartTime => '$time' \}");


    Beide Varianten kommen aber nicht an. Unten im Log steht zwar der Update Befehl, aber in der Alarmlist steht immer noch die falsche Zeit? Ideen?

    Grüße Michi

    2014.10.07 22:06:44 5: SONOS2: PingType: syn
    2014.10.07 22:06:44 4: SONOS2: 192.168.0.20 is alive
    2014.10.07 22:07:06 5: SONOS0: Received: 'DoWork:RINCON_B8E9375B222001400_MR:setAlarm:Update,1, { StartTime => '06:43:00' }'
    2014.10.07 22:07:06 5: SONOS0: Received: 'DoWork:RINCON_B8E9375B222001400_MR:setAlarm:Update,1, { Enabled => 1 }'
    2014.10.07 22:07:07 0: SONOS1: Val:  { StartTime => '06:43:00' }
    2014.10.07 22:07:07 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0xb54d96b0)
    2014.10.07 22:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9375B222001400_MR, reading, AlarmListIDs, ) -> 1
    2014.10.07 22:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9375B222001400_MR, reading, AlarmList, {}) -> {'1' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '0','Volume' => '25','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-sonosapi-stream:s42824?sid=254&flags=32','Repeat' => 0,'Recurrence_Once' => 1,'StartTime' => '06:42:00','Duration' => '00:45:00','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_B8E9375B222001400','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/1" parentID="R:0/0" restricted="true"><dc:title>ANTENNE BAYERN</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Recurrence_Monday' => 0}}
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Oktober 2014, 00:39:26
    Hi Michi,

    Fhem macht beim Start automatisch einen Wechsel in den Kontext des Benutzers "fhem" wenn dieser im System gefunden wird... Dann ist es egal, ob man den Prozess als Root gestartet hat...

    Die Ausgabe in der Log-Datei ist der alte Zustand des Alarms, der ja erstmal geholt werden muss, da man ja nicht alle Werte angeben muss (der Sonos-Player aber immer alle Werte haben will).
    Das hat noch nichts zu sagen... Kommt denn weiter hinten im Log dazu noch was?

    Ansonsten würde ich die Back-Slashe (\) vor den geschweiften Klammern weglassen. Anscheinend stören sie nicht, sind aber auch nicht notwendig.

    Allerdings kommen da ja zwei Anweisungen direkt hintereinander... vielleicht stören die sich...
    Du kannst beide Änderungen (sofern sie für denselben Alarm bestimmt sind) auch in eine Anweisung packen:
    my $time = '06:43:00';
    fhem("set Sonos_Eingang Alarm Update 1 { Enabled => 1, StartTime => '$time'}");


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 10 Oktober 2014, 13:10:14
    [gelöst] Lag wohl an fehlenden Perl-Bibliotheken. Scheint jetzt wieder zu gehen.


    Zitat
    Hallo Reiner,

    ich wollte seit längerer Deaktivierung das Sonos-Modul wieder aktivieren. Allerdings laufe ich auf einen mir unerklärlichen Fehler:
    define Sonos SONOS localhost:4711 30
    führt zu
    Cannot load module SONOS

    Im Log erhalte ich noch zusätzlich:

    2014.10.10 13:05:32.462 1: reload: Error:Modul 00_SONOS deactivated:
    Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 246.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 246.

    2014.10.10 13:05:32.463 0: Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 246.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 246.


    Hat sich an den Anforderungen etwas geändert. Im Wiki kann ich nix dazu finden.


    Viele Grüße und Dank
    Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: ostseehuepfer am 11 Oktober 2014, 21:06:56
    Hallo,

    hab bei Fhem auf dem Raspberry Pi installiert und Sonos installiert. Das läuft auch wunderbar. Nach ca. 5-30 Minuten schmiert Fhem ab. Wenn ich den Raspberry neustarte (Stecker rein raus) läuft er wieder. Das Webinterface ist nicht erreichbar. Woran liegt das? Musste die Dienste schon via Hand installieren da sonst keine Sonos Komponenten gefunden wurden.

    Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Oktober 2014, 23:11:19
    Hallo Ostseehüpfer,

    du müsstest mal die Log-Ausgabe des Sonos-Moduls auf 5 stellen, und dann die Konsolenausgabe des Moduls hier posten. Dann können wir weitersehen...

    Ein paar Tipps zur Fehlersuche gibt es auch auf der Wiki-Seite...

    Grüße,
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: michaelfhem am 12 Oktober 2014, 16:51:11
    Hi Reiner,

    in einem Kommando funktioniert esden Wecker zu stellen! Danke.

    Grüße Michi
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 03 November 2014, 14:52:02
    Hallo,

    ich habe FHEM mit Sonos auf einem Raspberry und einem Cubietruck laufen. Nach der Sonos Definition und einem Save erscheinen die folgenden Meldungen:

    Reading Sonos_B__ro->AlarmList must not be used out of statefile.
    Reading Sonos_B__ro->AlarmListIDs must not be used out of statefile.
    Reading Sonos_B__ro->AlarmListVersion must not be used out of statefile.
    Reading Sonos_B__ro->LastActionResult must not be used out of statefile.
    Reading Sonos_B__ro->presence must not be used out of statefile.


    Der Player funktioniert mit FHEM einwandfrei aber was besagen die Meldungen. Konnte hier im Threat nichts dazu finden.

    Mein zweites Problem:

    Gibt es irgenwo ein ganz einfaches Beispiel für die Sprachausgabe ?

    Titel: Antw:Sonos steuern
    Beitrag von: det. am 03 November 2014, 19:35:31
    Sorry, wenn Du die Suchfunktion nutzt und nach
    Zitatused out of statefile
    suchst, dann sollte das Thema oft genug auftauchen und auch die Lösung wie Du diese Mitteilungen des Systeme in Zukunft unterdrücken kannst.
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 03 November 2014, 19:38:16
    zum thema sprachausgabe wirst du im wiki fündig.
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 04 November 2014, 16:37:46
    Zitat von: det. am 03 November 2014, 19:35:31
    Sorry, wenn Du die Suchfunktion nutzt und nachsuchst, dann sollte das Thema oft genug auftauchen und auch die Lösung wie Du diese Mitteilungen des Systeme in Zukunft unterdrücken kannst.

    das mit dem attr global motd none war in der fhemcfg eingetragen. Nur wurde aus nicht ersichtlichen Gründen irgendwann das none durch die Meldungen ersetzt. Warum die config mit Fehlermeldungen bestückt wird ist mir nicht klar.

    Zitat von: der-Lolo am 03 November 2014, 19:38:16
    zum thema sprachausgabe wirst du im wiki fündig.

    also

    set Sonos_B__ro Speak \ 45 de Morgen wird die Papiertonne geleert.

    gibt keinen Text aus es wird dann nur der pausierte Sound gestartet
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 04 November 2014, 18:13:15
    sie notwendigen "Rahmenbedingungen" mit Samba und share hast du eingerichtet?
    Eine Anleitung findest Du im Wiki!
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 04 November 2014, 19:48:51
    Hier der Auszug aus der Samba.conf:

    [SonosSpeak]
      comment = Audio-Files for SonosPlayer to Speak
      read only = false
      path = /media/Platte/SonosSpeak
      guest ok = yes


    Sollte so doch passen
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 04 November 2014, 20:05:27
    Hier noch die Einträge in der Fhem Config

    # Sonos Player


    define Sonos SONOS localhost:4711 30
    attr Sonos targetSpeakDir /media/Platte/SonosSpeak
    attr Sonos targetSpeakURL \\192.200.100.166\SonosSpeak
    define Sonos_B__ro SONOSPLAYER RINCON_B8E9378B251401400_MR
    attr Sonos_B__ro generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_B__ro generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_B__ro generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_B__ro getAlarms 1
    attr Sonos_B__ro group B__ro
    attr Sonos_B__ro icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_B__ro minVolume 0
    attr Sonos_B__ro model Sonos_S1
    attr Sonos_B__ro room Sonos
    attr Sonos_B__ro stateVariable InfoSummarize2
    attr Sonos_B__ro webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_B__ro weblink image /fhem/icons/SONOSPLAYER/Sonos_B__ro_AlbumArt
    attr AlbumArt_B__ro group B__ro
    attr AlbumArt_B__ro htmlattr width='200'
    attr AlbumArt_B__ro room Sonos
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 November 2014, 11:04:36
    Hier noch der Auszug aus dem Log:

    2014.11.04 19:51:30 3: SONOS1: Load Google generated MP3 from "http://translate.google.com/translate_tts?tl=de&q=Morgen%20wird%20die%20Papiertonne%20geleert" to "./RINCON_B8E9378B251401400_MR_Speak.mp3"
    2014.11.04 19:51:31 3: SONOS1: Start temporary playing of "/RINCON_B8E9378B251401400_MR_Speak.mp3"
    Argument "\\45" isn't numeric in numeric ne (!=) at FHEM/00_SONOS.pm line 2546.
    2014.11.04 19:51:35 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_B__ro".
    2014.11.04 19:51:35 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_B__ro".
    2014.11.04 19:51:35 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_B__ro".
    2014.11.04 19:51:36 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_B__ro".
    2014.11.04 19:51:36 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_B__ro".
    2014.11.04 19:51:36 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_B__ro".
    2014.11.04 19:51:41 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_B__ro".
    2014.11.04 19:51:41 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_B__ro".


    Die Samba Freigabe ist von Windows aus erreichbar
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 05 November 2014, 14:10:49
    Ein / wird in der fhem.cfg zum Zeilenumbruch, ich vermute hier liegt das problem...
    Versuch mal den Aufruf anders aufzubauen evtl in "" oder '' zu setzen...
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 November 2014, 14:43:16
    Wie baust Du den Aufruf auf ?

    Ich habe das Beispiel aus dem Wiki genommen
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 05 November 2014, 14:49:50
    ich habe aktuell keinen Aufruf - aber ich hatte es beim einrichten konfiguriert, und auch in Funktion.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 November 2014, 16:18:40
    Hallo raspklaus,

    wie der-lolo bereits geschrieben hat, ist der Backslash das Problem. Dieser ist in meinen Beispielen enthalten, da diese über mehrere Zeilen gehen, und damit in Fhem der unmittelbar folgende Zeilenumbruch maskiert wird.
    Wenn jetzt an dieser Stelle kein Zeilenumbruch folgt, dann wird das als Maskierung für das folgende Zeichen verwendet, was nicht immer zum gewünschten Ergebnis führen dürfte...

    Nimm das mal weg.

    Der Befehl um z.B. im Eingabefeld der Weboberfläche eine Sprachausgabe in der Küche zu erzeugen (wenn sonst alles korrekt konfiguriert ist):

    set Sonos_Kueche Speak 30 de Dies ist ein Test


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 November 2014, 17:13:23
    Wenn ich

    set Sonos_B__ro Speak 45 de Morgen wird die Papiertonne geleert

    eingebe

    steht dies im Log

    2014.11.05 17:10:02 3: SONOS2: Restorethread has found a job. Waiting for stop playing...
    2014.11.05 17:10:02 3: SONOS2: Restoring playerstate...
    2014.11.05 17:10:04 3: SONOS2: Playerstate restored!
    2014.11.05 17:10:04 3: SONOS1: Start temporary playing of "/RINCON_B8E9378B251401400_MR_Speak.mp3"
    2014.11.05 17:10:08 3: SONOS1: SleepTimer berechnet die Laufzeit des Titels selber, da keine Wartezeit uebermittelt wurde!
    2014.11.05 17:10:08 1: SONOS1: Da keine Endzeit ermittelt werden konnte, wird kein Restoring durchgef�hrt werden!
    2014.11.05 17:10:08 3: SONOS1: Load Google generated MP3 from "http://translate.google.com/translate_tts?tl=de&q=Morgen%20wird%20die%20Papiertonne%20geleert" to "./RINCON_B8E9378B251401400_MR_Speak.mp3"
    2014.11.05 17:10:12 3: SONOS1: Start temporary playing of "/RINCON_B8E9378B251401400_MR_Speak.mp3"
    2014.11.05 17:10:15 3: SONOS1: SleepTimer berechnet die Laufzeit des Titels selber, da keine Wartezeit uebermittelt wurde!
    2014.11.05 17:10:15 1: SONOS1: Da keine Endzeit ermittelt werden konnte, wird kein Restoring durchgef�hrt werden!
    2014.11.05 17:10:15 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_B__ro".
    2014.11.05 17:10:15 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_B__ro".
    2014.11.05 17:10:15 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_B__ro".
    2014.11.05 17:10:15 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_B__ro".
    2014.11.05 17:10:15 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_B__ro".
    2014.11.05 17:10:15 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_B__ro".
    2014.11.05 17:10:15 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_B__ro".
    2014.11.05 17:10:15 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_B__ro".
    2014.11.05 17:10:19 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_B__ro".
    2014.11.05 17:10:19 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_B__ro".
    2014.11.05 17:10:19 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_B__ro".
    2014.11.05 17:10:19 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_B__ro".[code]

    aber der Sonos bleibt stumm
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 November 2014, 22:09:37
    Hi raspklaus,

    da scheint mindestens das Reading "targetSpeakDir" nicht (oder auf einen relativen Pfad) gesetzt zu sein.

    Folgendes muss/kann gesetzt werden
    - targetSpeakDir
    - targetSpeakURL
    - targetSpeakFileTimestamp (Optional)
    - targetSpeakFileHashCache (Optional)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 November 2014, 22:18:02
    was meinst du damit ?

    TargetSpeakDir steht auf /media/platte/SonosSpeak

    Siehe Screendump

    Also ich bin der Meinung es ist alles richtig eingestellt

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 November 2014, 22:59:01
    Hi raspklaus,

    laut deiner Log-Ausgabe

    2014.11.05 17:10:08 3: SONOS1: Load Google generated MP3 from "http://translate.google.com/translate_tts?tl=de&q=Morgen%20wird%20die%20Papiertonne%20geleert" to "./RINCON_B8E9378B251401400_MR_Speak.mp3"
    2014.11.05 17:10:12 3: SONOS1: Start temporary playing of "/RINCON_B8E9378B251401400_MR_Speak.mp3"

    steht da aber nix drin (bzw. ein "."). Der Pfad würde in dem MP3-Dateinamen mit auftauchen, da dies der "echte" Dateiname ist, den Fhem verwendet...
    Beim Herunterladen des MP3s ist das noch kein Problem, da dein System ja immer ein aktuelles Verzeichnis hat. Es liegt nur nicht dort, wo es für die Wiedergabe vermutet wird.

    Sind die Attribute denn auf der Weboberfläche auch zu sehen?

    Schon mal einen Neustart nach dem Konfigurieren dieser Attribute gemacht?
    Durch die komplizierte Modulstruktur (extra Prozess mit mehreren Threads) werden solche Attribute nur beim Start des Moduls übertragen. Änderungen im laufenden Betrieb durch Fhem danach werden nicht "rüberaktualisiert".

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 06 November 2014, 20:09:18
    Ich hatte jetzt mal einen Neustart durchgeführt

    Ergebnis immer noch kein Ton

    Im Eventmonitor steht:

    2014-11-06 19:06:50 SONOSPLAYER Sonos_B__ro Speak 45 de Morgen wird die Papiertonne geleert
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro numberOfTracks: 1
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro currentTrackURI: //192.200.100.166/SonosSpeak/RINCON_B8E9378B251401400_MR_Speak_20141106-190651.mp3
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro currentTrackDuration: 0:00:00
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro currentTitle: RINCON_B8E9378B251401400_MR_Speak_20141106-190651.mp3
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro nextTrackDuration:
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro nextTrackURI:
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro nextTitle:
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro nextArtist:
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro nextAlbum:
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro nextAlbumArtist:
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro nextOriginalTrackNumber:
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro infoSummarize1: 'RINCON_B8E9378B251401400_MR_Speak_20141106-190651.mp3'
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro infoSummarize2: STOPPED => 'RINCON_B8E9378B251401400_MR_Speak_20141106-190651.mp3'
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro STOPPED => 'RINCON_B8E9378B251401400_MR_Speak_20141106-190651.mp3'
    2014-11-06 19:06:55 SONOSPLAYER Sonos_B__ro infoSummarize3: Lautstaerke: 45 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhoerer
    2014-11-06 19:07:34 SONOSPLAYER Sonos_B__ro Speak 45 de Morgen wird die Papiertonne geleert
    2014-11-06 19:07:36 SONOSPLAYER Sonos_B__ro LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2014-11-06 19:07:36 SONOSPLAYER Sonos_B__ro currentTrackURI: //192.200.100.166/SonosSpeak/RINCON_B8E9378B251401400_MR_Speak_20141106-190735.mp3
    2014-11-06 19:07:36 SONOSPLAYER Sonos_B__ro currentTitle: RINCON_B8E9378B251401400_MR_Speak_20141106-190735.mp3
    2014-11-06 19:07:36 SONOSPLAYER Sonos_B__ro infoSummarize1: 'RINCON_B8E9378B251401400_MR_Speak_20141106-190735.mp3'
    2014-11-06 19:07:36 SONOSPLAYER Sonos_B__ro infoSummarize2: STOPPED => 'RINCON_B8E9378B251401400_MR_Speak_20141106-190735.mp3'
    2014-11-06 19:07:36 SONOSPLAYER Sonos_B__ro STOPPED => 'RINCON_B8E9378B251401400_MR_Speak_20141106-190735.mp3'
    2014-11-06 19:07:47 FHEMWEB FHEMWEB:192.200.100.81:49155 rereadicons
    2014-11-06 19:07:49 FHEMWEB FHEMWEB:192.200.100.81:49155 rereadicons


    Die Konfiguration:

    define Sonos SONOS localhost:4711 30
    attr Sonos room Sonos
    attr Sonos targetSpeakDir /media/Platte/SonosSpeak
    attr Sonos targetSpeakFileTimestamp 1
    attr Sonos targetSpeakURL \\192.200.100.166\SonosSpeak
    define Sonos_B__ro SONOSPLAYER RINCON_B8E9378B251401400_MR
    attr Sonos_B__ro generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_B__ro generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_B__ro generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_B__ro getAlarms 1
    attr Sonos_B__ro group B__ro
    attr Sonos_B__ro icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_B__ro minVolume 0
    attr Sonos_B__ro model Sonos_S1
    attr Sonos_B__ro room Sonos
    attr Sonos_B__ro stateVariable InfoSummarize2
    attr Sonos_B__ro webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_B__ro weblink image /fhem/icons/SONOSPLAYER/Sonos_B__ro_AlbumArt
    attr AlbumArt_B__ro group B__ro
    attr AlbumArt_B__ro htmlattr width='200'
    attr AlbumArt_B__ro room Sonos

    Titel: Antw:Sonos steuern
    Beitrag von: yetiman am 06 November 2014, 22:12:14
    Hallo,

    erstmal zu raspklaus. Das allergleiche Problem hatte ich Anfangs auch! Das hat sich in Luft aufgelöst und funktioniert jetzt.
    Vielleicht hing es ein irgendeinem Update? Das ist zumindest meine Vermutung...versuchs doch mal...

    Jetzt zu meinem eigentlichen Problem:
    Ich mache vom Prinzip das gleiche wie raspklaus. Ich möchte mich an z.B. den Müll erinnern lassen.
    Also wird zu einem definierten Zeitpunkt sowas hier aufgerufen:

    sub CheckEventToday() {
    my $Eventname;
    my $EventHeute;
    $EventHeute=fhem("get events today");
    print $EventHeute;
    if ($EventHeute ne "none"){
    $Eventname="Ereignis: $EventHeute";
            fhem ("set Sonos_Wohnzimmer Speak 40 de Erinnerung an $Eventname");
    }
    }


    Funktioniert von der Sprachansage erstmal super und schnell.

    Die sonos auf der das läuft ist eine Playbar und hängt an einem Fernseher.
    Der Fernseher läuft und spielt zuvor den Ton vom Fernsehen ab.
    Dann kommt die Ansage. Danach wechselt der Fernseher nicht mehr in das TV Audio, sondern spielt die noch hinterlegte Playliste (Musik) ab :-((

    Kann ich da was machen?

    Ingo
    Titel: Antw:Sonos steuern
    Beitrag von: MartinMuc am 14 November 2014, 18:44:07
    Halo,

    Nachdem bei mir keine Devices gefunden wurden habe ich mal auf die Konsole geschaut.

    Ich hoffe jemand hat eine Idee was mir dieser Fehler sagen müsste. Mit der Zeile habe ich leider nichts passendes per Suche gefunden.

    Pakete habe ich alle wie beschrieben installiert.

    2014.11.14 18:27:18 5: SONOS0: Received: 'StartThread'
    2014.11.14 18:27:18 3: SONOS1: UPnP-Thread gestartet.
    2014.11.14 18:27:19 4: SONOS2: SONOS_Client_Data_Retreive(SONOS, def, INTERVAL, 0) -> 30
    2014.11.14 18:27:19 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2014.11.14 18:27:19 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2014.11.14 18:27:19 2: SONOS1: Error during UPnP-Handling: invalid attribute method: ->descriptionDocument() at FHEM/00_SONOS.pm line 2968 thread 1

    2014.11.14 18:27:19 4: SONOS1: ControlPoint is successfully stopped!
    2014.11.14 18:27:19 3: SONOS1: UPnP-Thread wurde beendet.
    ^C


    Danke schon mal im Vorraus

    Martin
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 November 2014, 19:20:05
    Hi Martin,

    da scheint sich bei dir eine UPnP-Komponente als Sonosplayer auszugeben :-)
    Diese Komponente hat aber bestimmte Methoden nicht, die ich auf dem UPnP-Device abfrage (in diesem Fall "->descriptionDocument()").

    Ich habe hier im Code mal eine Überprüfung dazu reingebaut. Ich denke, dass ich am Wochenende eine neue Developer-Version veröffentliche, damit ich hier mal einiges vom Tisch bekomme. Dann sollten wir da noch mal rangehen.

    Wenn du vorher was probieren möchtest, kannst du ja mit einem UPnP-Client wie dem "Intel Device Spy" schauen, was sich bei dir im Netz alles so meldet, und das fragwürdige Element vielleicht kurz deaktivieren (zum Testen oder vielleicht sogar dauerhaft).

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MartinMuc am 14 November 2014, 19:27:47
    Danke Reinerlein dann schau ich mal wer da stört und wie ich ihn still kriegen :)

    Ok es laufen drei  Einträge von der Fritzbox meine 3 Sonos Komponenten die Philips Hue und Mediatomb.

    Aber keiner davon hat den Sonos  Device Typ (außer die 3 die ihn haben solten)

    Jetzt schau ma mal wie man die alle still bekommt.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 November 2014, 10:15:54
    Hallo zusammen,

    ich habe jetzt eine neue Developerversion hochgeladen. Diese hat eine ganze Menge Dinge der letzten 6 Monate drin, die sich hier leider etwas angehäuft haben.

    Es sind die Änderungen von Marco drin (bis auf eine, wo ich meine, dass die nicht benötigt wird), die für eine bessere Resistenz gegen Playerabschaltungen sorgen.
    Außerdem sollte das Thema von Marcus drin sein. Bitte probieren, ob es was hilft...
    Das Thema von Ingo mit der Playbar sollte auch enthalten sein..

    Auch wenn ich hier normalerweise noch keinen Changelog hinschreibe (das tue ich normalerweise erst beim eigentlichen Release), hier eine Liste der eingebauten Dinge zur Erinnerung:
    Bitte mal probieren, und Feedback geben, damit diese Version 2.6 bald offiziell released werden kann...

    Nachtrag: Sorry, vergessen, die Update Anweisung dazuzuschreiben:

    update all http://fhem.lmsoft.de/sonos_dev/controls_sonos.txt


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 15 November 2014, 15:26:47
    Hallo Reinerlein,
    beschreibst Du noch kurz wie man ein update macht?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 November 2014, 16:05:38
    Hi der-Lolo,

    das hatte ich heute Mittag noch in einem Nachtrag hingeschrieben... Nicht nur die E-Mail Benachrichtigung lesen :-)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 15 November 2014, 17:05:56
    Ok, Danke Dir...
    ich habe das Update gemacht - und einen shutdown erstarrt abgesetzt...
    Dabei kommt das hier im Log raus.

    Zitat2014.11.15 17:04:11 1: SONOS0: Nothing could be read from TCP-Channel even though the Read-Function was called.
    2014.11.15 17:04:11 1: SONOS0: Nothing could be read from TCP-Channel even though the Read-Function was called.
    2014.11.15 17:04:11 1: SONOS0: Nothing could be read from TCP-Channel even though the Read-Function was called.
    2014.11.15 17:04:11 1: SONOS0: Nothing could be read from TCP-Channel even though the Read-Function was called.
    2014.11.15 17:04:11 1: SONOS0: Nothing could be read from TCP-Channel even though the Read-Function was called.
    2014.11.15 17:04:11 1: SONOS0: Nothing could be read from TCP-Channel even though the Read-Function was called.
    2014.11.15 17:04:11 1: SONOS0: Nothing could be read from TCP-Channel even though the Read-Function was called.
    2014.11.15 17:04:11 1: SONOS0: Nothing could be read from TCP-Channel even though the Read-Function was called.

    gefühlt 100 mal pro Sekunde, ohne aufzuhören.
    Hast Du eine Idee was ich tun kann?


    beim gerade nochmal neustarten habe ich die Konsole beobachtet...

    Zitatroot@cubie:/opt/fhem# perl fhem.pl fhem.cfg
    root@cubie:/opt/fhem# Current: "fhem.pl", gPath: "./FHEM"
    Current: "FHEM/00_SONOS.pm", gPath: ""
    2014.11.15 17:08:09 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    2014.11.15 17:08:15 1: SONOS0: Connection accepted from localhost:47033
    2014.11.15 17:08:18 3: SONOS1: UPnP-Thread gestartet.
    Odd number of elements in hash assignment at FHEM/lib/UPnP/ControlPoint.pm line 30, <$client> line 7.
    2014.11.15 17:08:18 1: SONOS2: Restore-Thread gestartet. Warte auf Arbeit...
    2014.11.15 17:08:18 2: SONOS1: Discover Sonosplayer 'DOCK' (WD100) Software Revision 5.1 with ID 'RINCON_000E5861BC7A01400_MR'
    2014.11.15 17:08:20 2: SONOS1: SonosPlayer 'DOCK' (WD100) Software Revision 5.1 with ID 'RINCON_000E5861BC7A01400_MR' is already defined and will only be updated
    2014.11.15 17:08:20 2: SONOS1: SonosPlayer 'DOCK' is now updated
    2014.11.15 17:08:20 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_000E5861BC7A01400_sub0000001461" and Timeout="86400s"
    2014.11.15 17:08:20 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E5861BC7A01400_sub0000001462" and Timeout="86400s"
    2014.11.15 17:08:20 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E5861BC7A01400_sub0000001463" and Timeout="86400s"
    2014.11.15 17:08:20 2: SONOS1: AudioIn-Service-subscribing successful with SID="uuid:RINCON_000E5861BC7A01400_sub0000001464" and Timeout="86400s"
    2014.11.15 17:08:20 3: SONOS1: Discover: End of discover-event for "DOCK".
    2014.11.15 17:08:20 2: SONOS1: Discover Sonosplayer 'Wohnzimmer' (ZP90) Software Revision 5.1 with ID 'RINCON_000E5828236001400_MR'
    2014.11.15 17:08:22 2: SONOS1: SonosPlayer 'Wohnzimmer' (ZP90) Software Revision 5.1 with ID 'RINCON_000E5828236001400_MR' is already defined and will only be updated
    2014.11.15 17:08:22 2: SONOS1: SonosPlayer 'Wohnzimmer' is now updated
    2014.11.15 17:08:22 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_000E5828236001400_sub0000005688" and Timeout="86400s"
    2014.11.15 17:08:22 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_000E5828236001400_sub0000005689" and Timeout="86400s"
    2014.11.15 17:08:22 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_000E5828236001400_sub0000005690" and Timeout="86400s"
    2014.11.15 17:08:22 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E5828236001400_sub0000005691" and Timeout="86400s"
    2014.11.15 17:08:23 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E5828236001400_sub0000005692" and Timeout="86400s"
    2014.11.15 17:08:23 2: SONOS1: AudioIn-Service-subscribing successful with SID="uuid:RINCON_000E5828236001400_sub0000005693" and Timeout="86400s"
    2014.11.15 17:08:23 3: SONOS1: Discover: End of discover-event for "Wohnzimmer".
    2014.11.15 17:08:23 3: SONOS1: Event: Received Transport-Event for Zone "sonos_DOCK".
    2014.11.15 17:08:23 3: SONOS1: Event: End of Transport-Event for Zone "sonos_DOCK".
    2014.11.15 17:08:23 3: SONOS1: Event: Received Transport-Event for Zone "sonos_Wohnzimmer".
    2014.11.15 17:08:23 3: SONOS1: Event: End of Transport-Event for Zone "sonos_Wohnzimmer".
    2014.11.15 17:08:23 3: SONOS1: Event: Received AudioIn-Event for Zone "sonos_DOCK".
    2014.11.15 17:08:23 3: SONOS1: Event: End of AudioIn-Event for Zone "sonos_DOCK".
    Wide character in send at FHEM/00_SONOS.pm line 5108, <$client> line 7.
    Perl exited with active threads:
       2 running and unjoined
       0 finished and unjoined
       0 running and detached

    Das Log wird immernoch voll geschrieben.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 November 2014, 17:59:24
    hi der-Lolo,

    hmm... das ist nicht beabsichtigt... ich hatte Code teilweise übernommen, der Fhem am Absturz hindern sollte, wenn der SubProzess nicht mehr mitspielt.
    Das ging in die Hose, da der Schutz nicht funktioniert, und an anderer Stelle sorgt wohl ein Bug für abstürzende SubProzesse...

    Ich werde da nachher nochmal dran rumbasteln und dann nochmal aktualisieren. Sorry

    Derweil kann jeder, der das schon gemacht haben sollte, und jetzt ein nicht funktionierendes System hat, auf das offizielle Release zurückupdaten:

    update all http://fhem.lmsoft.de/sonos/controls_sonos.txt


    Bis nachher...
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 November 2014, 22:59:19
    Hallo zusammen,

    ich habe noch etwas an der Fhem-Absturz-Verhinderung getan (dieses Endlosschleifenproblem). Ich trenne jetzt bei diesem Fehler die Verbindung ab, sodass Fhem diese wieder neu aufbaut. Die Idee ist dann, dass der SubProzess seine Threads beendet, und dann bei Verbindung wieder neustartet.
    Mal schauen...

    Das eigentliche Problem von der-Lolo löst es aber nicht. Da stand was von "wide-character in send". Wie kommt das zustande? Und warum sollte das ein Problem sein? Kann Perl seine eigene Zeichenkodierung nicht übertragen?
    Hat da jemand eine Idee?

    Danke schon mal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: schalkan56 am 15 November 2014, 23:07:21
    Hallo Reinerlein,

    habe heute versucht dein Modul einzubinden :

    Sprich:
        LWP::Simple
        LWP::UserAgent
        SOAP::Lite
        HTTP::Request

    Dann : update all http://fhem.lmsoft.de/sonos/controls_sonos.txt

    Ein :define Sonos SONOS localhost:4711 30 ergibt folgenden log-Eintrag:
    2014.11.15 23:02:52 1: reload: Error:Modul 00_SONOS deactivated:
    Can't locate SOAP/Lite.pm in @INC (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /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 FHEM/lib/UPnP/Common.pm line 85.
    BEGIN failed--compilation aborted at FHEM/lib/UPnP/Common.pm line 85.
    Compilation failed in require at FHEM/lib/UPnP/ControlPoint.pm line 14.
    BEGIN failed--compilation aborted at FHEM/lib/UPnP/ControlPoint.pm line 14.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 267.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 267.


    Stimmt da generell was bei meiner Instalation nicht?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 November 2014, 23:25:30
    Hi schalkan56,

    da scheint das SOAP::Lite Modul nicht richtig installiert worden zu sein (zumindest findet er es nicht).

    Ich weiß jetzt nicht, was für ein System du hast, aber im Wiki sind zur Installation der Module einige Hinweise:
    Manuelle Installation:
    http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Manuelle_Installation_SOAP::Lite (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Manuelle_Installation_SOAP::Lite)

    Und vereinfachte Installation bei Debian-basierten Systemen:
    http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Hinweis_f.C3.BCr_Debian-Systeme (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Hinweis_f.C3.BCr_Debian-Systeme)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: schalkan56 am 16 November 2014, 01:02:44
    Ja wunderbar, hat geklappt....Den Speaker hat er erkannt...allerdings kann ich nichts schalten.
    Kann das am Umlaut Ü für Küche liegen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 November 2014, 09:53:22
    Hi schalkan56,

    das Modul macht für die Ermittlung des Devicenamens aus den Umlauten des Zonennamen die Schreibweise mit 'e', also bei 'ü' ein 'ue'.
    Sollte bei dir ein doppelter Unterstrich anstatt eines 'ue' stehen, dann kannst du versuchen das Attribut 'characterDecoding' am Sonos-Device einzustellen, dort kann man direkt ein Characterklasse für das Dekodieren einstellen. Bei mir funktioniert das standardmäßig verwendete "ISO8859-15". Bei manch anderem wohl nicht...
    Üblich wäre sowas wie "UTF-8" oder "CP-1252".

    Aber egal wie, das ist nur der Name in Fhem, den du auch selber umbenennen kannst. Das hat keine Auswirkung auf die Funktionalität selbst (ausser natürlich noch die Titelanzeige).
    Wenn also die Steuerung nicht klappt, solltest du nach Absetzen eines Play-Befehls mal zuerst im Fhem-Log schauen. Wenn es dort keine ausreichenden Informationen gibt, dann bitte mal die Konsolenausgabe untersuchen. Im Wiki gibt es noch ein/zwei Hinweise zur Fehlersuche...
    Diese Auszüge kannst du hier einstellen, um damit dem Problem näher auf die Spur zu kommen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: schalkan56 am 16 November 2014, 14:36:48
    Hi Reinerlein,

    habe es hinbekommen....Ansteuerung funktioniert. Allerdings bekomme ich keine Sprachausgabe mittels Speak hin...Samba ist
    konfiguriert ist unter win auch erreichbar......
    targetSpeakDir /mnt/SonosSpeak
    targetSpeakURL \\192.168.178.24\SonosSpeak

    Beim SPeak-Befehl wird allerdings can't create Mp3 ausgewiesen....Habe ich was übersehen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 November 2014, 14:51:39
    Hi schalkan56,

    hat der User / die Gruppe, unter dem Fhem läuft, auch Schreibrechte in dem Ordner "/mnt/SonosSpeak"?
    Auch wenn Fhem als root läuft, darf er nicht überall hinschreiben.

    Am einfachsten ist ein

    chmod 777 /mnt/SonosSpeak

    Damit darf alles und jeder in diesen Ordner reinschreiben (und auch lesen und hineinwechseln). Musst du notfalls verkleinern, wenn es dir zuviele Rechte sind... Hauptsache Fhem darf :-)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 November 2014, 17:35:10
    Hallo zusammen,

    ich habe noch eine Korrektur bei der Zeichenkodierung gemacht. Irgendwie war es eine doofe Annahme, dort "ISO8859–15" als Standard zu definieren.

    Ich habe das nun auf "CP-1252" umgestellt, und denke, dass ich damit die echte Zeichenkodierung der Sonos-Player getroffen habe. Zumindest sieht es bei mir jetzt deutlich besser aus.
    Damit ist diese Fehlermeldung mit dem "wide character" Geschichte. Die hatte ich nämlich vorhin auch, und trat immer bei einem Umlaut in irgendeinem Titel auf (das passiert gar nicht so oft, wie man meinen könnte :-)
    Ich denke, wer Umlaute in Playernamen hat, hatte dann auch massive Probleme beim Erkennen der Player...

    Vielleicht sollten alle die, die Probleme mit Umlauten oder fehlerhaften Playernamen (mit doppelten Unterstrichen anstatt 'ue' o.ä.) das mal probieren.

    Auf Developer-Version aktualisieren:

    update all http://fhem.lmsoft.de/sonos_dev/controls_sonos.txt


    Und falls Probleme auftreten, wieder zurück:

    update all http://fhem.lmsoft.de/sonos/controls_sonos.txt


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MartinMuc am 16 November 2014, 19:53:52
    Hallo Reinerlein,
    Ich bekomme jetzt folgenden Fehler


    2014.11.16 19:45:01 2: SONOS1: Discover-Event: Wrong deviceType "urn:schemas-upnp-org:device:ZonePlayer:1" received!
    2014.11.16 19:45:01 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2014.11.16 19:45:01 2: SONOS1: Error during UPnP-Handling: Can't use string ("
        ") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/Common.pm line 190, <$client> line 4.

    2014.11.16 19:45:01 4: SONOS1: ControlPoint is successfully stopped!
    2014.11.16 19:45:01 3: SONOS1: UPnP-Thread wurde beendet.


    Dann hab ich mal versucht das Problem zu suchen und das return in Zeile 3034 aus kommentiert dann kommt das. Jetzt fehlt mir allerdings das KnowHow was er an meinem Sonos da nicht korrekt auslesen kann.  Habe eine Bridge (Bridge) einen Play1 (Wohnzimmer) und einen Play3 (Schlafzimmer). In Klammern immer die Namen aus dem Sonos Setup

    2014.11.16 20:44:01 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    2014.11.16 20:44:07 1: SONOS0: Connection accepted from localhost:37706
    2014.11.16 20:44:08 5: SONOS0: Received: 'SetValues:SONOS:NAME=Sonos|INTERVAL=30'
    2014.11.16 20:44:08 5: SONOS0: Received: 'StartThread'
    2014.11.16 20:44:09 3: SONOS1: UPnP-Thread gestartet.
    Odd number of elements in hash assignment at FHEM/lib/UPnP/ControlPoint.pm line 28, <$client> line 4.
    2014.11.16 20:44:09 4: SONOS2: SONOS_Client_Data_Retreive(SONOS, def, INTERVAL, 0) -> 30
    2014.11.16 20:44:09 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2014.11.16 20:44:09 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, characterDecoding, CP-1252) -> DEFAULT
    2014.11.16 20:44:09 2: SONOS1: Discover-Event: Wrong deviceType 2"urn:schemas-upnp-org:device:ZonePlayer:1" received!
    Use of uninitialized value $descriptionDocument in concatenation (.) or string at FHEM/00_SONOS.pm line 3036, <$client> line 4.
    2014.11.16 20:44:09 4: SONOS1: Discover-Event: Description-Document:
    Use of uninitialized value $descriptionDocument in pattern match (m//) at FHEM/00_SONOS.pm line 3050, <$client> line 4.
    Use of uninitialized value $descriptionDocument in pattern match (m//) at FHEM/00_SONOS.pm line 3057, <$client> line 4.
    Use of uninitialized value $descriptionDocument in pattern match (m//) at FHEM/00_SONOS.pm line 3060, <$client> line 4.
    Use of uninitialized value $descriptionDocument in pattern match (m//) at FHEM/00_SONOS.pm line 3063, <$client> line 4.
    Use of uninitialized value $descriptionDocument in pattern match (m//) at FHEM/00_SONOS.pm line 3066, <$client> line 4.
    2014.11.16 20:44:09 4: SONOS1: RoomName: '', SaveRoomName: '', ModelNumber: '', DisplayVersion: '', SerialNum: '', IconURI: '', IconOrigPath: 'http://192.168.0.23:1400', IconPath: ''
    2014.11.16 20:44:09 2: SONOS1: Discover Sonosplayer '' () Software Revision  with ID 'RINCON_000E58C306EE01400_MR'
    2014.11.16 20:44:09 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2014.11.16 20:44:10 4: SONOS1: SubDevice found: uuid:RINCON_000E58C306EE01400_MS
    2014.11.16 20:44:10 4: SONOS1: SubDevice found: uuid:RINCON_000E58C306EE01400_MR
    2014.11.16 20:44:11 4: SONOS1: ControlProxies wurden gesichert
    2014.11.16 20:44:11 2: SONOS1: Error during UPnP-Handling: Can't use an undefined value as an ARRAY reference at FHEM/lib/UPnP/Common.pm line 616, <$client> line 4.

    2014.11.16 20:44:11 4: SONOS1: ControlPoint is successfully stopped!
    2014.11.16 20:44:11 3: SONOS1: UPnP-Thread wurde beendet.



    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 November 2014, 21:34:14
    Hallo MartinMuc,

    also, Sicherheitsabfragen zu ändern, und das rausspringen zu entfernen, führt in den seltensten Fällen zur Lösung :-)
    Das return muss da schon hin. Er hat ja festgestellt, dass er mit dem gemeldeten Player nix anfangen kann, und hat das auch deutlich gemacht, als du das return entfernt hattest...

    Die Ursache ist also zu suchen...
    Ich finde zum Beispiel die erste Fehlermeldung, die sich auf die Common.pm bezieht, komischt. Bei mir ist Zeile 190 eine Leerzeile und kann damit eigentlich nicht den gemeldeten Fehler verursachen.

    Hat das Installieren auf normalen Wege geklappt?
    Ich gehe hier davon aus, dass der Fehler beim Abfragen des Description-Documents zu suchen ist. Das habe ich selber nachträglich in das UPnP-Modul eingebaut, und wird im Originalmodul nicht funktionieren. Deswegen ist es wichtig, dass das von mir mitgelieferte verwendet wird.
    Ich werde das im Wiki noch mal deutlich machen, dort geht das vielleicht nicht klar hervor, da der Update-Prozess ja immer die richtigen Dateien installieren sollte...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MartinMuc am 16 November 2014, 21:45:06
    Ah das könnte das Problem sein ich prüfe das mal.

    Das mit dem auskomentiren ist mir klar aber ich bastle nun mal gerne ;)

    Nachdem es Probleme gab hatte ich Manuelle Installation gelesen im Wiki... Da steht das mit dem Original Upnp.

    Danke für die schnelle Hilfe
    Titel: Antw:Sonos steuern
    Beitrag von: Trolli am 19 November 2014, 17:39:32
    Hallo zusammen,

    bei mir läuft FHEM und Sonos seit kurzem auf einem Cubietruck. Allerdings gelingt es mir bei besten Willen nicht FHEM als root laufen zu lassen. Selbst wenn ich es mittels "sudo perl fhem.pl fhem.cfg" starte läuft es unter dem Account fhem:


    fhem      4091 11.0  1.2  27432 24696 pts/0    S    17:27   0:05 perl fhem.pl fhem.cfg
    fhem      4092 11.9  1.5  59216 31628 pts/0    Sl   17:27   0:05 perl FHEM/00_SONOS.pm 4711 3


    Dadurch funktioniert die Erkennung per icmp nicht. Kann mir da jemand einen Tip geben, wie ich das ändern kann? FHEM starte bei mir automatisch wenn ich den Cubie
    boote, aber wie gesagt auch mittels manuellem Start läuft es nicht als root. Auf meinem Cubie läuft Debian (Igors Image).

    Vielen Dank

    Trolli
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 19 November 2014, 18:07:34
    userdel fhem

    fhem ändert den Benutzer während der Laufzeit falls dieser im System angelegt wurde.
    Titel: Antw:Sonos steuern
    Beitrag von: Trolli am 19 November 2014, 18:27:09
    Danke für die Anntwort! Und das ist alles? Keine weiteren Änderungen am Startskript usw. nötig??
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 19 November 2014, 18:28:45
    ZitatUnd das ist alles? Keine weiteren Änderungen am Startskript usw. nötig??
    jup, und jup
    Titel: Antw:Sonos steuern
    Beitrag von: Trolli am 19 November 2014, 19:21:55
    Funktioniert ! Danke  ;D
    Titel: Antw:Sonos steuern
    Beitrag von: schalkan56 am 19 November 2014, 21:58:11
    Hallo , System läuft soweit gut. Nun möchte ich eine normale Mp3 abspielen:


    Dazu habe ich eine Datei namens Airport_Gong.mp3 auf dem Raspberry kopiert. Mittels:
    Set Sonos_Kueche playuritemp //192.168.178.24/SonosSpeak/Airport_Gong.mp3 liefert fhem:

    SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to '\\192.168.178.24\SonosSpeak\Airport_Gong.mp3'. This should not happen!

    Was ist da schief? Kann ich die Datei auch auf der FB ablegen?
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 19 November 2014, 22:00:48
    http://de.wikipedia.org/wiki/Uniform_Naming_Convention / => \
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 23 November 2014, 11:27:14
    Vielleicht kann mir jemand sagen wie ich gruppierten player Muten kann vom FHEM aus, ich bekomme immer nur einen leise...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 November 2014, 12:02:17
    Hallo der-lolo,

    es gibt dafür einen speziellen Gruppen-Mute-Befehl:

    set Einen_Player_der_Gruppe GroupMute on
    Schaltet Mute für die Gruppe an

    Passend dazu gibt es auch zwei Befehle für die Lautstärke:

    set Einen_Player_der_Gruppe SnapshotGroupVolume
    Speichert das aktuelle Lautstärkeverhältnis der Player zueinander


    set Einen_Player_der_Gruppe GroupVolume 30
    Stellt die Gruppenlautstärke auf 30 (passend zum gespeicherten Verhältnis)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 23 November 2014, 12:16:09
    Sehr Geil - damit hast Du mir genau zum richtigem Zeitpunkt geholfen?
    Ich habe aber noch eine Frage, wenn ich von der SonosApp einen Mute absetze bekomme ich das nur über den summarize3 mit, oder?
    Hintergrund - in meiner Konfiguration wird ein Icon rot eingefärbt wenn Mute aktiviert wurde...
    Ich hätte das Icon auch gerne rot wenn der Befehl von der SonosApp kam...

    Ich bekomme es nicht hin mit einem notify auf das ~ Ton zu reagieren.

    Vielleicht hast du auch eine andere Idee...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 November 2014, 12:44:52
    Hallo der-Lolo,

    "infoSummarize" wurde von mir damals gebaut, bevor es sowas wie "stateFormat" gab, und tut ähnliches:
    Es fasst bestehende Readings zusammen.

    Soll heißen, du kannst direkt auf das Reading "Mute" des Players gehen (es gibt nur kein Reading für GroupMute, da sich das in einzelnen Mutes der Gruppenmitglieder widerspiegelt)...
    Dieses Reading kann "0" oder "1" sein...

    Für dieses Reading ist es egal, wie der Zustand zum Player gekommen ist, er wird gemeldet. Dazu kann es aber notwendig sein, das du ein (min/max)Volume am Player festlegst.
    Nur dann wird dir die aktuelle Lautstärke, und alles was dran hängt, gemeldet (Balance, Volume, Mute, Bass usw...):

    attr gewuenschter_Player minVolume 0
    Setzt eine Mindestlautstärke an diesem Player von 0, hat also keine steuernde Auswirkung auf den Betrieb, fordert damit aber Änderungen der Lautstärke an, und bekommt diese fortan direkt geliefert (bei jeder Änderung am Player, egal wie es dazu gekommen ist)...

    Btw.: Das Attribut "maxVolume" habe ich bei den Playern meiner Kinder gesetzt. Damit ist der ultralauten Partybeschallung ein Riegel vorgeschoben. Das kann mit nix umgangen werden (nur mit Abschiessen von Fhem :-)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 November 2014, 16:07:13
    Hallo zusammen,

    ich habe zusammen mit rapster einige Probleme bzgl. des Startvorgangs des Subprozesses beseitigen können. Diese Version steht natürlich wie immer im Developer-Bereich zum allgemeinen Testen zur Verfügung.

    Bitte testen, ich möchte das gerne bald in den normalen Bereich übertragen :)

    Update auf Dev-Version:

    update all http://fhem.lmsoft.de/sonos_dev/controls_sonos.txt


    Danke schon mal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 26 November 2014, 11:46:50
    Hi Reinerlein,

    ich glaub ich habe da noch einen Bug entdeckt..

    In der Icon-Auswahl werden es immer mehr Fhem-Logos.
    Liegt das evtl. am SPDIF-Eingang von der Playbar, oder den Sprachdurchsagen?

    Siehe anhängendes Bild..

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 November 2014, 13:02:17
    Hi Claudiu,

    es werden für jeden Player 2 Bildchen heruntergeladen (das Cover des aktuellen Titels, und das des nächsten Titels).
    Wenn kein Cover geladen werden konnte (bei Audio-Eingängen z.B. oder Fehlern beim Laden), dann wird das Fhem-Logo verwendet, erhält aber trotzdem den entsprechenden Covernamen...

    Die Bilder liegen alle im Ordner "/www/images/default/SONOSPLAYER/" und haben folgendes Namensformat:
    <Sonos-Devicename>_AlbumArt.<Extension>
    und
    <Sonos-Devicename>_NextAlbumArt.<Extension>

    Manchmal bleiben Reste (vor allem, wenn sich die Extension des Covers ändert), aber im Normalfall sollte das automatisch aufgeräumt werden...

    Sind bei dir denn solche Reste?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 26 November 2014, 13:17:20
    Hi Reinerlein,

    Ok hat sich geklärt!, jetz gehn die Bilder von der Anzahl her wieder auf, 6 Bilder für 3 Player.

    Es lagen noch 2 Leichen vom alten K__chen Player herum den es ja jetzt nicht mehr gibt da er Kueche heisst  ;)
    Habe die 2 jetzt manuell gelöscht.

    Danke dir!
    Gruß Claudiu

    Titel: Antw:Sonos steuern
    Beitrag von: yetiman am 26 November 2014, 14:52:11
    Hallo Reinerlein,

    ich würde ja gerne irgendwann mal sagen, dass eine Version gut ist...
    Nur irgendwie kommt jeden Tag ne neue Version raus ;-)

    Ingo
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 November 2014, 14:57:44
    Hi Ingo,

    naja, das bleibt in einer Testphase ja irgendwie nicht aus :)
    Aber es ist ja schon ruhiger geworden, da wohl die gröbsten Kinken raus sind...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 26 November 2014, 15:17:08
    Oh hier ist ja einiges passiert. Abstürze hab ich ab und an immer noch aber deutlich seltener als Früher. Mal schauen am Wochenende werde ich mal FHEM ein Update verpassen.

    Die letzten sahen im Protokoll so aus:
    Starting fhem...
    Current: "fhem.pl", gPath: "./FHEM"
    Current: "FHEM/00_SONOS.pm", gPath: ""
    2014.11.10 17:57:29 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    2014.11.10 17:57:37 1: SONOS0: Connection accepted from localhost:54210
    2014.11.10 17:57:39 5: SONOS0: Received: 'SetValues:SONOS:UserID_Napster=SA_RINCON13_email%2540strau.ch|NAME=Sonos|INTERVAL=30'
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    Can't ignore signal CHLD, forcing to default.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 5006, <$client> line 3.


    Starting fhem...
    Current: "fhem.pl", gPath: "./FHEM"
    Current: "FHEM/00_SONOS.pm", gPath: ""
    2014.11.11 00:21:48 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    2014.11.11 00:21:56 1: SONOS0: Connection accepted from localhost:55032
    2014.11.11 00:21:58 5: SONOS0: Received: 'SetValues:SONOS:UserID_Napster=SA_RINCON13_email%2540strau.ch|NAME=Sonos|INTERVAL=30'
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    Can't ignore signal CHLD, forcing to default.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    ^* matches null string many times in regex; marked by <-- HERE in m/^* <-- HERE .$/ at fhem.pl line 3607.
    Can't call method "kill" on an undefined value at FHEM/00_SONOS.pm line 5006, <$client> line 3.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 November 2014, 15:31:33
    Hi strauch,

    das ist auf jeden Fall noch eine ältere Version. In der aktuellen wird bei Verbose-Level 5 nämlich an der von dir gezeigten Stelle noch etwas mehr ausgegeben...

    Bitte erst auf die neuste Dev-Version updaten, und dann nochmal schauen :-)
    Es hat sich wirklich signifkant viel geändert.

    Danke schon mal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 26 November 2014, 22:53:01
    Hi Reinerlein,

    ist es eigentlich normal dass man kein Speak mit einem , (Komma) im Text machen kann?
    Ein Punkt zumindest funktioniert :-)

    Bin allerdings schon öfters in das Problem reingelaufen..

    Gruß Claudiu

    EDIT:
    Oder gibt es eine andere Möglichkeit eine Sprechpause einzufügen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 November 2014, 23:47:26
    Hi Claudiu,

    das muss schon ziemlich lange so da drin sein :) Auf jeden Fall habe ich es korrigiert.
    Das das noch keinem aufgefallen ist... komisch...

    Für Sprechpausen ist das Text2Speech selbst zuständig. In diesem Fall ja Google. Die können das mit den Kommata auch, allerdings ist dieser Parameter auf dem langen Weg zu Google verstümmelt worden, und die sind dort gar nicht angekommen...

    Grüße
    Reinerlein

    P.S.: Und wieder eine neue Version mit weniger Fehlern :D
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 27 November 2014, 00:20:39
    Hi Reinerlein,

    Danke dir! Funktioniert  :D

    und ja, zumindest für mich ist das schon immer so gewesen ;D

    Was auch schon so lange her ist:
    wenn ich ein "set SonosPlayer Speak 13 de test 1 2 3 test" mache, funktioniert das und er stellt den alten Eingang wieder her.
    bei einem "set SonosPlayer Speak 13 de test" wird der alte Eingang nicht wiederhergestellt und ich erhalte:
    2014.11.27 00:05:30.903 3: SONOS1: SleepTimer berechnet die Laufzeit des Titels selber, da keine Wartezeit uebermittelt wurde!
    2014.11.27 00:05:30.903 1: SONOS1: Da keine Endzeit ermittelt werden konnte, wird kein Restoring durchgef▒hrt werden!

    Liegt das an google oder an dem Sonos-Modul?


    Und dann hätte ich noch ein Feature Request ;D
    Eine (evtl. konfigurierbare über attr, z.B. maxChar?) Funktion welche einen Speak-String bei Überschreitung einer gewissen Länge automatisch auf mehrere Speak bzw. google-Requests aufteilt.

    Momentan löse ich sowas indem ich fhem("set Player Speak de Teilstring1 ; set Player Speak de Teilstring2 ; ..."); aufrufe.
    Das Problem ist nur, in manchen Speaks wird der Text dynamisch erzeugt, und da hat man natürlich nicht wirklich die Kontrolle drüber wie lang der Text nun wirklich ist  :-\


    Danke und Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 November 2014, 12:40:07
    Hi Claudiu,

    also... das mit den kurzen Texten war der übliche Fehler mit der Variablen-Vorhandensein-Prüfung. Das habe ich korrigiert :)

    Des Weiteren habe ich die Google-Abfrage mal umgebaut, sodass ein zu langer Text (hier habe ich erstmal eine Grenze von 15 Worten angenommen) in mehrere Anfragen aufgeteilt werden, und am Ende zusammengefügt werden.
    Damit erhält man auch Texte die sehr lang sind.

    Allerdings gibt es ein Manko:
    Ich trenne auf Wortgrenzen, damit die Sprachausgabe nicht halbe Worte aufsagen muss. Allerdings passt die Betonung u.U. nicht mehr so ganz. Google baut eine Satzmelodie ein, die hier dann nicht mehr richtig passt :-\

    Alternativ kannst du dir ein lokales Text2Speech-Programm einrichten. Im Wiki gibt es dazu ein Beispiel für "espeak". Damit gibt es nach meinen Tests keinerlei Begrenzungen in der Textlänge. Allerdings fand ich die Sprachqualität nicht so berauschend, aber vielleicht gibt es ja auch noch andere Tools, die man sich einrichten kann (du kannst bis zu vier verschiedene Programme im Modul definieren)...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 27 November 2014, 19:28:58
    Hi Reinerlein,

    danke schonmal für die bugfixe! :-)

    Das mit dem Trennen bei Wortgrenzen ist schon auf jedenfall ganz gut, allerdings denke ich sollte nicht die Berechnung der Textlänge hierauf basieren.
    Da es vorkommen kann das einzelne Wörter evtl. länger als erwartet sind (z.B. gibt mir eine Funktion beim gotoSleep-Status alle noch geöffneten Fenster, bzw. Fenster die im Unknown-State sind zurück, und hier kommt es wieder darauf an wie günstig der Aliasname gewählt wurde ;) )

    Schöner wäre es evtl. den Textstring beim Whitespace zu spliten, und anschließend die Länge aller Wortblöcke zu prüfen bis eine Anzahl X von Zeichen erreicht ist, und diese dann als ersten google-Request abzusenden, anschließend mit den nächsten Wortblöcken genauso weiter verfahren, usw..

    Hab hier mal eine  quick & dirty Funktion wie ich mir das vorstelle als Beispiel gebaut:
    my $text = "Das hier ist ein Testtext der eindeutig zu lang fuer das Sonos Speak ist und nicht funktionieren wuerde.";
    my $maxChar = 40;
    my $count = 0;
    my $newtext = '';
    my $tmptext = '';
    my @array = split(/ /,$text);

    foreach (@array) {
    $count += length;
    $tmptext = " $_";
    if ($count > $maxChar || $_ eq $array[-1] ) {
    $newtext .= $tmptext if ($_ eq $array[-1]);
    print $newtext.'|';                                                 #SEND REQUEST TO GOOGLE
    $newtext = '';
    $count = length;
    }
    $newtext .= $tmptext;
    }
    stdout:  Das hier ist ein Testtext der eindeutig zu lang| fuer das Sonos Speak ist und nicht| funktionieren wuerde.|


    Was hälst du von der Idee? Bzw. sogar $maxChar konfigurierbar als attr oder so?

    Gruß Claudiu

    EDIT: Achso das lokale espeak aus dem Wiki hatte ich mal ausprobiert, da ist ja die Sprachqualität ganz grausam  ;D  Hab mich aber noch nicht weiter damit befasst ob das evtl. verbessert werden kann.

    EDIT2: Seh grad hab vergessen die Whitespaces in der Längenberechnung mit einzuschließen :-)
    so z.B.
    $count += length($_)+1;
    Ändert das stdout dann auch auf das hier ab:
    stdout:  Das hier ist ein Testtext der eindeutig| zu lang fuer das Sonos Speak ist und| nicht funktionieren wuerde.|
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 November 2014, 20:00:38
    Hi Claudiu,

    zu der Textlänge:
    ich hatte überlegt, was besser wäre. In meinen Tests war das ganze nicht von der Anzahl der Zeichen abhängig, sondern eher von der Länge des gesprochenen Textes.
    Es fühlt sich so an, als würde der Google-Generator einfach nur bis zu einer gewünschten Dateigröße generieren, und dann einfach abbrechen, und das Ding nicht zurückliefern...

    Der Vorteil von der Anzahl der Worte ist, dass es nur ein regulärer Ausdruck ist:

    my @textList = ($text =~ m/(?:\b(?:[^ ]+)\W*){0,$SONOS_GOOGLETRANSLATOR_CHUNKSIZE}/g);
    Da konnte man sich mal wieder austoben, ist aber natürlich kein Grund :)

    Ich würde das jetzt mal beobachten (vielleicht kannst du mal deine Fensternachricht erzeugen, um mal zu schauen, wie groß da der Puffer ist).
    Umstellen können wir das ja immer noch...

    Außerdem habe ich noch etwas Spielkram eingebaut: Wem das Fhem-Logo im Sonos-Controller bei Sprachdurchsagen zu langweilig ist, kann jetzt ein beliebiges Bild (JPG oder PNG) mittels des Attributs "SpeakCover" konfigurieren :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 27 November 2014, 20:18:35
    Hi Reinerlein,

    ich habe jetzt einfach mal den goodState (open statt closed) in meinerFenster-Check funktion gedreht, so das jetzt alle geschlossenen Fenster eine Sonos-Fehler-Benachrichtigung auslösen.
    Hier gibts. dann z.B. ein 404

    2014.11.27 20:12:50.493 1: CheckContacts: Found 5 devices, open: 0 closed: 5 unknown: 0
    2014.11.27 20:12:50.494 1: Die Kontakte 'Dachfenster Tuer, Dachfenster Hinten, Badezimmer Fenster, Esszimmer Fenster, Schlafzimmer Fenster' befinden sich nicht im goodState

    2014.11.27 20:12:51.238 0: SONOS1: Chunks: ['Achtung die Fenster Dachfenster Tuer, Dachfenster Hinten, Badezimmer Fenster, Esszimmer Fenster, Schlafzimmer Fenster sind noch ', 'geöffnet.']
    2014.11.27 20:12:51.238 3: SONOS1: Load Google generated MP3 (1 Element) from "http://translate.google.com/translate_tts?tl=de&q=Achtung%20die%20Fenster%20Dachfenster%20Tuer%2C%20Dachfenster%20Hinten%2C%20Badezimmer%20Fenster%2C%20Esszimmer%20Fenster%2C%20Schlafzimmer%20Fenster%20sind%20noch%20" to "/opt/fhem/SonosSpeak/RINCON_000E58B7AF1401400_MR_Speak_7c0ab71e733a8270df6f641554b9013b192fd8f3.mp31"
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352.
    2014.11.27 20:12:51.340 1: SONOS1: MP3 Download-Error: 404 Not Found


    Ganz schlimm wirds natürlich wenn z.B. Gerät dabei wären wo kein Alias definiert ist, also z.B. der komplette Device Name ausgegeben werden soll (og.ez.fensterkontakt.hinten.links oder so)...

    Danke dir, Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 November 2014, 22:10:18
    Hi Claudiu,

    ist ja schon gut... ich habe mich von dem regulären Ausdruck verabschiedet, da die andere Funktionalität als Regex nicht in meinen Kopf passt :)

    Also, ich habe das jetzt umgebaut, und habe als Obergrenze nun 95 Zeichen festgelegt. Da ja immer das letzte Wort dann nicht mehr reinkommt, ist das resultierende also sicher kleiner als 95. Und mit 95 hat es bei mir noch gepasst...

    Außerdem habe ich noch eine Kodierungsumwandlung eingebaut, damit Umlaute auch sauber im MP3Tag landen (und auch korrekt an die Google-Maschine gehen)...

    Bitte mal testen :D

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 27 November 2014, 22:30:33
    Hi Reinerlein,

    hihi, hab mir schon gedacht das mit dem "geöffnet" ist ein gutes Beispiel, vll. fällt dir da noch was zu Umlauten auf, und so wars  ;)

    Der Rest schaut allerdings hervorragend aus!, hab mal den filter etwas großzügiger gewählt und ein Sonos-Speak über 15 devices  (5 combined chunks) hat super funktioniert!

    ...jetzt muss ich erstmal die ganzen mehrfachen Speak aus den ganzen Dummys wieder rauswerfen....

    Und nich traurig sein wegen der Regexp, hat ja alles seine Vor und Nachteile  ;)


    Vielen Dank nochmal für den super schnellen Einbau des Features, und hoffe Ingo haut mich jetzt nicht gleich dass schon wieder eine neue Sonos Version da ist ;D  :P
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 November 2014, 22:44:33
    Hi Claudiu,

    schön, das du mich schon so gut einschätzen kannst :)

    Ingo wird wohl nix dagegen haben, dass hier immer weniger Fehler drin sind. Das sind halt alles Features, die ich selber nicht nutze, und dementsprechend auch nicht mitbekomme, wenn da was nicht so richtig funktioniert...

    Auf jeden Fall fühlt sich jede Version besser an, weil man weiß, dass wieder ein Thema vom Tisch ist :D

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 27 November 2014, 23:01:39
    Hi Reinerlein,

    ja das stimmt, jetzt sind zumindest alle Sachen die mir so einfallen (auch die Probleme die man bisher mit irgendeinem Workaround umgangen hat) erstmal vom Tisch.

    Naja, das mit Ingo sagst du  ;D  Da er ja den großteil des Tages in meiner Hörreichweite am 'maulen' ist, werde ich das spätestens Morgen erfahren  ;)

    Zu den von dir nicht genutzten FUnktionen, die Speak Funktion finde ich zumindest das Killer-Feature schlechthin an dem Sonos-Modul!
    ...natürlich lassen sich mit manch anderen Funktionen auch richtig nette Sachen bauen ;)

    P.S. Reminder: Nicht vergessen den Header-Kommentar anzupassen ;-)


    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: yetiman am 27 November 2014, 23:17:14
    Hi,

    ja, die Speak Funktion ist das Killer-Feature!

    Und das mit dem hauen sollte ich mir wirklich überlegen :-))

    Ingo

    P.S.: Bin schon dauernd am updaten ;-)


    Gesendet von iPhone mit Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 27 November 2014, 23:26:07
    P.S. Falls jemand interesse an der KontaktCheck-Funktion hat, habsi mal hier reingestellt => http://forum.fhem.de/index.php?topic=29684

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 November 2014, 18:28:32
    Hallo zusammen,

    im Dev-Bereich habe ich ein neues Feature eingebaut:
    Bei Spotify-Titeln wird das Cover jetzt direkt über die Spotify-API heruntergeladen. Das bedeutet, dass es eine bessere Auflösung hat (640x640 Pixel) und das Spotify-Logo nicht mehr enthält.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 29 November 2014, 20:05:19
    Hallo Reinerlein,
    sag mal hat sich irgendwas im Handling mit dem Sonos-Dock verändert? Meiner will nicht mehr so recht.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 November 2014, 20:10:52
    Hallo der-Lolo,

    also zumindest nicht wissentlich. Ich habe allerdings auch keinen hier, und kann es nicht testen...

    Was klappt denn nicht mehr?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 29 November 2014, 20:16:33
    Ich bekomme keinen Ton mehr - der eingesteckte iPod ist ok, der wiedergebende connect ist ok, die Titelanzeige kommt an. Komisch ist das beim Dock Volume auf 0 steht - und sich nicht verändern lässt...
    Ausserdem fällt mir beim connect das lastActionResult ins Auge
    ZitatLastActionResult CheckProxyObject-ERROR: SonosPlayer disappeared?

    Ich hatte das Ding mal wunderbar am laufen - habe es aber zugegeben jetzt lange nicht benutzt gehabt - und in der Konfiguration die ich jetzt habe ( Cubietruck ) lief es auch noch nicht.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 November 2014, 20:36:35
    Hallo der-Lolo,

    hast du vielleicht das Attribut "maxVolume" an dem Device gesetzt? Das würde zumindest eine Lautstärke größer diesem Wert verhindern...

    Also, geht es nur nicht, wenn du das Fhem-Modul an hast? Oder gibt es auch Probleme, wenn du das ganze ohne Fhem verwendest?

    Ansonsten solltest du mal das Verbose-Attribut hoch setzen, und die Log-Ausgaben mitschneiden. Meistens kann man ja ganz gut erkennen, was er noch macht, und was ihm nicht mehr passt...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 29 November 2014, 20:54:32
    Ich werde später näher dabei schauen und FHEM mal herunterfahren - aus der App heraus bekomme ich so jedenfalls auch keinen Ton. Komisch das ganze...
    maxVolume ist nicht gesetzt...
    ich habe mal ein list gemacht...
    Internals:
       CFGFN      /opt/fhem/FHEM/Sonos.cfg
       DEF        RINCON_000E5861BC7A01400_MR
       NAME       sonos_Dock
       NR         81
       STATE      PLAYING => (Amy Macdonald) 'Youth Of Today' vom Album 'This Is The Life'
       TYPE       SONOSPLAYER
       UDN        RINCON_000E5861BC7A01400_MR
       Readings:
         2014-10-03 19:13:05   AlarmRunning    0
         2014-10-03 19:13:05   AlarmRunningID  0
         2014-10-03 18:20:58   Balance         0
         2014-10-03 18:20:59   CrossfadeMode   0
         2014-10-03 18:20:59   HeadphoneConnected 0
         2014-11-29 20:13:55   LastActionResult CheckProxyObject-ERROR: SonosPlayer disappeared?
         2014-11-29 13:51:12   LineInConnected 1
         2014-10-03 18:20:59   Mute            0
         2014-11-29 13:51:13   Repeat          1
         2014-11-29 13:51:13   Shuffle         1
         2014-10-03 19:13:05   SleepTimer      0
         2014-10-03 18:20:58   Volume          0
         2014-10-25 14:02:41   ZoneGroupID     RINCON_000E5861BC7A01400:__
         2014-11-29 13:53:04   currentAlbum    This Is The Life
         2014-11-29 11:24:38   currentAlbumArtURI ./www/images/default/SONOSPLAYER/sonos_Dock_AlbumArt.png
         2014-11-29 13:49:27   currentAlbumArtist PLAYING
         2014-11-29 13:53:04   currentArtist   Amy Macdonald
         2014-10-03 18:20:59   currentNormalAudio 1
         2014-11-29 14:22:00   currentOriginalTrackNumber
         2014-11-29 14:22:00   currentSender
         2014-11-29 14:22:00   currentSenderCurrent
         2014-11-29 14:22:00   currentSenderInfo
         2014-11-29 14:22:00   currentStreamAudio
         2014-11-29 13:53:04   currentTitle    Youth Of Today
         2014-11-29 13:53:04   currentTrack    3
         2014-11-29 13:53:04   currentTrackDuration 0:03:58
         2014-11-29 13:51:13   currentTrackURI x-sonos-dock:RINCON_000E5861BC7A01400/
         2014-11-29 14:21:59   fieldType
         2014-11-29 13:53:04   infoSummarize1  (Amy Macdonald) 'Youth Of Today' vom Album 'This Is The Life'
         2014-11-29 13:53:04   infoSummarize2  PLAYING => (Amy Macdonald) 'Youth Of Today' vom Album 'This Is The Life'
         2014-10-03 18:20:59   infoSummarize3  Lautstaerke: 0 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhoerer
         2014-11-29 14:22:00   infoSummarize4
         2014-10-03 18:20:58   location        http://192.168.178.51:1400/xml/device_description.xml
         2014-11-29 14:22:00   nextAlbum
         2014-11-29 11:24:38   nextAlbumArtURI ./www/images/default/SONOSPLAYER/sonos_Dock_NextAlbumArt.png
         2014-11-29 14:22:00   nextAlbumArtist
         2014-11-29 14:22:00   nextArtist
         2014-11-29 14:22:00   nextOriginalTrackNumber
         2014-11-29 14:22:00   nextTitle
         2014-11-29 14:22:00   nextTrackDuration
         2014-11-29 14:22:00   nextTrackURI
         2014-11-29 13:51:13   numberOfTracks  152
         2014-10-03 18:20:58   playerType      WD100
         2014-11-29 14:21:59   presence        appeared
         2014-10-03 18:20:59   roomIcon        dock
         2014-10-03 18:20:58   roomName        DOCK
         2014-10-03 18:20:58   saveRoomName    DOCK
         2014-10-03 18:20:58   serialNum       00-0E-58-61-BC-7A:2
         2014-10-03 18:20:58   softwareRevision 5.1
         2014-11-29 14:22:00   state           PLAYING => (Amy Macdonald) 'Youth Of Today' vom Album 'This Is The Life'
         2014-11-29 13:49:27   transportState  PLAYING
    Attributes:
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
       getAlarms  1
       group      DOCK
       icon       icoSONOSPLAYER_icon-WD100.png
       minVolume  0
       model      Sonos_WD100
       room       Geräte,sonos
       stateVariable InfoSummarize2
       webCmd     Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 November 2014, 21:33:29
    Hallo der-Lolo,

    das sieht erstmal alles normal aus.
    Die LastActionResult-Meldung kommt, wenn er einen Befehl an den Player senden will, und der UPnP-Proxy nicht mehr funktioniert...

    Da brauchen wir jetzt die Logs, damit wir sehen, was er eigentlich machen wollte...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 29 November 2014, 22:01:51
    Entwarnung - ich habe den iPod Nano resettet, danach lief die Wiedergabe auf anhieb. Komisch bleibts aber trotzdem, alles ging - play pause, Titelwahl... es kam nur kein ton.

    Tausend Dank für deine Hilfsbereitschaft - btw Sonos lässt sich auch in der Logitech Harmony integrieren.
    Man kann also auch über den Harmony Hub steuern.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Dezember 2014, 23:47:00
    Hallo zusammen,

    auf Anregung von der-Lolo habe ich etwas gebastelt:
    Es gibt jetzt zwei Prozeduren("SONOS_getTitleRG" und "SONOS_getCoverRG"), die als Grundlage für die Verwendung einer ReadingsGroup verwendet werden können.
    Der Automatische Erkennungsmechanismus baut die neuen Devices nun entsprechend mit einer Readingsgroup auf (siehe Screenshot).
    Das ganze kann man so verwenden, oder eben als Kopiervorlage für eigene Ideen benuten.

    Außerdem habe ich mir dabei natürlich auch Gedanken um die Aktualisierung der Coverbilder per longpoll gemacht, und folgende Lösung gebaut (die in dem oben genannten Auto-Mechanismus auch fertig funktioniert):
    Es gibt ein neues Reading "currentAlbumArtURL" (und natürlich auch "nextAlbumArtURL"). Dieses liefert die Original-URL zu dem Coverbild (also den Ort, wo das Modul das Cover herunterlädt, beim Player oder über die Spotify-API). Diese ändert sich, wenn sich das Cover ändert, sodass der longpoll Mechanismus und der Fhemweb/Browser-Cachemechanismus hier kein Problem mehr sind...
    Dadurch ist eine ReadingsGroup nun in der Lage bei jeder Titeländerung die Cover und Titelinformationen life zu aktualisieren...

    Da manche Anwender aber vielleicht über einen Proxy in ihr lokales Netz auf den Fhem-Server zugreifen, und bestimmt nicht die Zoneplayer nach aussen hin zugreifbar machen wollen, habe ich im Modul noch einen kleinen Proxy implementiert.
    Dieser wird durch das Attribut "generateProxyAlbumArtURLs" aktiviert. Gleichzeitig werden dabei auch, wie der Name schon sagt, die URL-Readings so gebaut, dass sie über diesen Proxy zugreifen...
    Ein normaler Anwender mit vollem Zugriff auf das lokale Netzwerk merkt keinen Unterschied in den beiden Varianten. Ich habe es optional gemacht, da die Proxy-Tätigkeit für einen Pi durchaus zusätzliche Arbeit darstellt, die ja eigentlich auch dezentral von den Playern direkt erledigt werden kann.

    Damit habe ich einen wichtigen Punkt meiner persönlichen Ärgernisse behoben, weil ich mich immer über die fehlende Life-Cover-Aktualisierung geärgert habe...

    Wer das ganze sofort testen möchte, braucht nur seine Player neu erkennen zu lassen. Dann hat man erstmal alles da...

    Ach ja, aktualisieren wie immer:

    update all http://fhem.lmsoft.de/sonos_dev/controls_sonos.txt


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 02 Dezember 2014, 23:52:18
    Erstmal tausend Dank für Deine mühe! Du hast ja sogar noch etwas mehr draus gemacht ;-)
    Erläuterst du noch kurz das vorgehen um player neu erkennen zu lassen..?
    Muss die bestehende config gelöscht werden?

    Ich freu mich schon drauf zu schauen ob es auch im Dashboard funktioniert...
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 03 Dezember 2014, 00:03:00
    Hi Reinerlein, die neuen Readinggroups schauen echt super aus, und die Idee mit dem Longpool bei den Covern klingt auch spannend ;-)
    Werde das mal testen..

    @derLolo: ja, die Player löschen, das Sonos-Device kannste lassen.

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 03 Dezember 2014, 00:10:10
    Ok, dann ist das wohl nichts mehr für diese fortgeschrittene Uhrzeit...
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 03 Dezember 2014, 00:15:30
    Hi Reinerlein,

    für meinen Geschmack sind die Cover allerdings fast etwas zu groß (war schon früher so ;)).
    Früher konnte ich das htmlattr width='px' anpassen.
    So wie ich das erkenne funktioniert das nun allerdings nicht mehr, oder?

    Gibt es i.M. eine Möglichkeit die Cover-Größe anzupassen? Bzw. ist es möglich dass du diese Funktion implementierst?


    Danke und Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Dezember 2014, 00:34:34
    Hi Claudiu,

    ich hatte die Größe so gewählt, dass der Text daneben Vertikal gleich groß ist.
    Ein Attribut dafür geht natürlich, ist aber dann mit einem Rattenschwanz gesegnet. Dann muss man eigentlich auch Größe und Design der Titel-Informationen anpassbar machen, und dass ist dann doch ein größeres Fass, als ich mit der Idee eigentlich verfolgen wollte :)

    Ich wollte eine sauber funktionierende Grundlage schaffen, mit der man notfalls auch gut leben kann. Natürlich kann man sich die ReadingsGroup anpassen, und die Idee ist ja auch, dass man sich die beiden Prozeduren herauskopiert und in die eigene 99_myUtils packt (umbenennen nicht vergessen). Dort kann man dann nach Belieben anpassen, in welchem Format das dargestellt werden soll.
    Dann braucht man in den ReadingsGroups nur noch den Perl-Code in den Klammern auf den/die neu vergebenen Prozedurnamen anpassen, und schon hat man sein gewünschtes Design :D

    Bitte versteh mich da nicht falsch, du kennst mich, ich bin eher der Typ der alles konfigurierbar gestaltet, aber ich denke hier ist der bessere Weg, über eigenen Code zu gehen :-\

    Grüße
    Reinerlein

    P.S.: @der-Lolo: löschen heißt ja nicht immer wirklich löschen. Es reicht ja auch ausmarkieren. Die meisten haben das ja in eine eigene Config-Datei ausgelagert, da ist es besonders einfach...
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 03 Dezember 2014, 00:53:54
    Hi Reinerlein,

    ah alles klar, verstanden, werde das mal die Tage testen was sich daraus schönes bauen lässt ;)
    ... hört sich zumindest schonmal gut an!

    Und ja, an den Text nebendran habe ich garnicht gedacht  ;D


    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 03 Dezember 2014, 08:13:15
    Tausend Dank Reinerlein,
    Du bist mein Held!
    Das funktioniert ausgezeichnet... Auch im Dashboard.

    Ist Dir bei dem gebastelt vielleicht noch eine Idee gekommen wie man auf Favoriten und oder Playlisten zugreifen könnte?

    Und vielleicht wäre es noch toll die Gruppierungsverhältnisse anzuzeigen...
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 03 Dezember 2014, 08:29:36
    Leider zu früh gefreut - Anfangs war alles schick, sah toll aus -
    Wenn man den Dashboard Room verlässt und wieder hineingeht knallt es.

    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 03 Dezember 2014, 08:57:59
    Hi Reinerlein,

    ZitatDa manche Anwender aber vielleicht über einen Proxy in ihr lokales Netz auf den Fhem-Server zugreifen, und bestimmt nicht die Zoneplayer nach aussen hin zugreifbar machen wollen, habe ich im Modul noch einen kleinen Proxy implementiert.
    Dieser wird durch das Attribut "generateProxyAlbumArtURLs" aktiviert. Gleichzeitig werden dabei auch, wie der Name schon sagt, die URL-Readings so gebaut, dass sie über diesen Proxy zugreifen...
    Ein normaler

    Mit dem "attr generateProxyAlbumArtURLs 1" funktioniert es bei mir leider nicht....
    Not Found

    The requested URL /fhem/sonos/proxy/https://d3rt1990lpmkn.cloudfront.net/original/d2c237fe42863ec3c4d8aeed31c2537222dcffb2 was not found on this server.


    Mit dem Attribut auf 0 funktioniert es zumindest im LAN.

    Hast du eine Idee?

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Dezember 2014, 09:03:23
    Hallo der-Lolo,

    das ist echt komisch. Der HTML-Code ist in sich geschlossen. da ist ja auch nichts besonderes drin. Ein paar '<br />' für die Umbrüche, ein paar '<b>' für den Fettdruck der aktuellen Informationen und eine zweispaltige Tabelle für die Anzeige der nächsten Wiedergabe.
    Das aktuelle Cover links ist nur ein '<IMG />'.

    Nix, was einen besonderen Aufwand für einen Browser darstellen würde...
    Wie ist denn der Mechanismus für das Auf- und Zuklappen gebaut?

    Zu dem anderen:
    Die Playlisten haben sowieso keine Cover, sodass der bisherige Mechanismus nicht erweitert werden braucht/kann. Du kannst also einfach ein "get sonos_Wohnzimmer Playlists" machen, und erhältst eine kommaseparierte Liste von Strings in doppelten Anführungszeichen, die du in Perl einfach weiterverarbeiten kannst...
    Was ich noch bauen wollte, ist einen zusätzlichen Getter für Sonos- und Radio-Favoriten, der die Liste der Namen der Elemente und die entsprechenden Links zu den Covern enthält.

    Auch der Gruppierungszustand ist ja schon da:
    einfach ein "get sonos Groups" und du erhältst eine kommaseparierte Liste von []-Listen, die die einzelnen Gruppen repräsentieren, wobei das jeweils erste Element der Gruppenmaster ist, von dem die Steuerung und Lieferung der Musik ausgeht.
    Das kann man auch einfach Perl zerlegen und in eine schöne Darstellung umwandeln...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Dezember 2014, 09:04:43
    Hi Claudiu,

    hast du vielleicht deinen Pfad umkonfiguriert?
    Der Mechanismus geht momentan von '/fhem' aus...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 03 Dezember 2014, 09:14:19
    Hi Reinerlein,

    nein Pfad usw. ist standard alles. (z.B. https://fhem.domain.tld/fhem?room=Multimedia )

    Auf der FHEM-Kiste läuft allerdings noch ein apache Reverse-Proxy, siehe => http://forum.fhem.de/index.php/topic,29909.0.html
    Der sollte das allerdings nicht weiter beeinflussen (mit dem attr auf 0 funktioniert es ja auch...)

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Dezember 2014, 09:47:11
    Hi Claudiu,

    genau der Apache beeinflusst es wohl:D

    Kannst du bitte mal prüfen, was im Reading "currentAlbumArtURL" (oder von next, falls das Problem dort auftritt) steht?
    Eigentlich sollte der Teil für das "echte" Cover URL-Encoded sein... das war in deiner Fehlermeldung nicht so...

    Nicht das der Apache da etwas umändert, weil er schlau sein möchte... Ich habe leider keinen Proxy hier, um das mal eben zu testen...

    Danke schon mal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 03 Dezember 2014, 10:38:03
    Hi Reinerlein,

    das Problem tritt sowohl beim aktuellen als auch beim nextAlbumArt auf.


    currentAlbumArtURL   /fhem/sonos/proxy/https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2Fd2c237fe42863ec3c4d8aeed31c2537222dcffb2
    nextAlbumArtURL  /fhem/sonos/proxy/https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2F41a8eccc1946e40981bf41715d06c6444e473ab3

    Im Firefox:
    The requested URL /fhem/sonos/proxy/https://d3rt1990lpmkn.cloudfront.net/original/d2c237fe42863ec3c4d8aeed31c2537222dcffb2 was not found on this server.
    The requested URL /fhem/sonos/proxy/https://d3rt1990lpmkn.cloudfront.net/original/41a8eccc1946e40981bf41715d06c6444e473ab3 was not found on this server.


    Danke und Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Dezember 2014, 11:01:03
    Hi Claudiu,

    ich frage mich gerade, wer für die Fehlermeldung verantwortlich ist.
    Welches Element in deiner Kette produziert diese Meldung, und warum ist der Part hinter "/sonos/" bereits dekodiert?
    Das sollte kodiert beim Sonos-Modul-Proxy ankommen. Nur so bleibt es eine gültige URL und kann auch vom Modul erkannt werden...
    Das Reading selbst ist ja korrekt kodiert.

    Was genau macht denn dein Apache dazwischen?
    Geht es, wenn du mal direkt an dein Fhem gehst, ohne den Apache dazwischen?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 03 Dezember 2014, 11:23:53
    Hallo Reinerlein,

    der Apache macht 0815 ReverseProxy, in dem Thread ist die Config => http://forum.fhem.de/index.php/topic,29909.0.html

    Ja direkt geht es:
    http://192.168.1.12:8083/fhem/sonos/proxy/https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2Fd2c237fe42863ec3c4d8aeed31c2537222dcffb2

    An einer Fehlkonfiguration des Apaches kann es auf jedenfall nicht liegen,
    weil mein normaler Zugriff aus dem WAN läuft sogar über 2 ReverseProxys.
    1x der lokal installierte Apache auf der FHEM-Kiste,
    sowie 1x über die WebserverProtection meiner Sophos UTM (Firewall).

    Ich habe jetzt den Traffic mal nur über die Sophos UTM laufen lassen, ohne irgendwelche Firewall-Profile und selbst da tritt das Problem auf.
    Bei der UTM konnte ich diese Problem noch bei keiner Applikation sei es Sharepoint, OWA, Traveler, iNotes usw. beobachten, deswegen gehe ich mal davon aus dass es weder an dem Apache-Proxy, noch an der UTM liegt (Habe es ja soweit auch jeweils separat getestet).

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Dezember 2014, 12:00:08
    Hi Claudiu,

    hmmm... wir müssten mal feststellen, was beim Sonos-Modul-Proxy eigentlich für eine URL ankommt, wenn überhaupt. Ich denke nämlich, dass es gar nicht soweit kommt. Irgendeine Komponente vorher meint vielleicht das nicht durchreichen zu müssen, weil irgendein regulärer Ausdruck vielleicht nicht ganz genau passt...

    Ich habe noch mal was angepasst, um die Proxy-URL etwas "landläufiger" zu machen. Vielleicht gelingt es den Zwischenstationen dabei besser...

    Testest du bitte nochmal?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 03 Dezember 2014, 12:05:29
    Hi Reinerlein,

    jetzt klappt es! ;D
    Sowohl aus dem LAN (nur apache RevProxy), als auch aus dem WAN (apache + UTM RevProxy).

    Danke dir!
    Gruß Claudiu

    P.S. auch longpool funktioniert einwandfrei!
    Titel: Antw:Sonos steuern
    Beitrag von: yetiman am 05 Dezember 2014, 14:59:46
    Hallo Reinerlein,

    hatte folgenden Fehler:
    Can't locate object method "tid" via package "threads" at ./FHEM/21_SONOSPLAYER.pm line 707, <$fh> line 219.

    Nach dem heutigen Update habe ich folgenden Fehler:
    Undefined subroutine &main::SONOS_getDeviceDefHash called at ./FHEM/21_SONOSPLAYER.pm line 357.

    Bei beiden Fehlern stürzt komplett FHEM ab.

    P.S. Hattest du mal eine neue Release Version hochgeladen die letzten tage?

    Ingo
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Dezember 2014, 15:12:38
    Hi Ingo,

    ich hatte vorhin etwas aktualisiert, aber dieser Fehler deutet auf Grundlegenderes hin.
    Das Thread-Paket sollte verfügbar sein, sodass auch die Methode "->tid()" im Thread-Objekt verfügbar sein sollte.

    Genauso verhält es sich mit der Prozedur "getDeviceDefHash", die ich selber im Sonos-Modul (in der Datei 00_SONOS.pm) einführe und mitbringe...
    Gibt es im Log weite vorne noch andere Ladefehler?
    Kannst du mal einen sauberen, kompletten Neustart von Fhem versuchen (Shutdownvon Fhem + anschließendem Prüfen, ob alle Perl-Prozesse dazu auch weg sind + Wiederanstarten von Fhem)?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: yetiman am 05 Dezember 2014, 15:38:48
    Hallo,

    es hängt scheinbar nicht an dem Sonos Modul sondern an irgendeinem Perl Problem?!?
    Habe heute ein Update des RasPi gemacht...

    Auch mit dem Stable Sonos geht es nicht. Sobald ich in einen "Sonos-Raum" gehe stürtzt alles ab ,-)

    Ingo
    Titel: Antw:Sonos steuern
    Beitrag von: yetiman am 05 Dezember 2014, 16:37:58
    Hi,

    also es schien an einem fehlenden Modul "libxml-parser-lite-perl" zu hängen.
    Warum auch immer er das beim Update verworfen hat. Jetzt funktionierts zumindest wiedeer :-)

    Ingo
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 06 Dezember 2014, 08:57:02
    Guten Morgen Reinerlein,
    ich habe da noch eine Perl Warnung entdeckt - im Radiobetrieb ist currentNormalAudio nicht numerisch

    ZitatPERL WARNING: Argument "" isn't numeric in numeric eq (==) at ./FHEM/00_SONOS.pm line 463.

    Ich denke das ist auch in der "originalen" 00_SONOS.pm so - oder doch nur in meiner "Sonder-Config"?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Dezember 2014, 09:48:18
    Hallo der-Lolo,

    das ist noch ein Fehler. Danke für den Hinweis.
    Ich baue das gleich mal aus...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 Dezember 2014, 13:56:16
    Hallo zusammen,

    ich würde gerne am nächsten Wochenende den aktuellen Entwicklerstand in den normalen Bereich übertragen. Es hat sich mittlerweile doch wieder einiges angesammelt und auch die Wiki-Dokumentation ist in meinem Offline-Editor bereits mit den neuen Features und Beispielen gefüttert...
    Deswegen möchte ich his dahin einen Featurefreeze, und nur noch Bugfixings durchführen.

    Also bitte nochmal testen, ob ihr Ungereimtheiten finden könnt, und diese hier melden. Wenn diese auf Bugs zurückzuführen sind, möchte ich diese gerne noch vor dem Wochenende beseitigen...

    Danke schon mal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: yetiman am 07 Dezember 2014, 15:21:56
    Hallo Reinerlein,

    bei mir ist der aktuelle Titel jetztüber dem Album Cover?!?

    Ingo
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 Dezember 2014, 16:06:46
    Hi Ingo,

    also wenn es der Automechanismus war, der macht eigentlich eine feste Reihenfolge per "sortby" innerhalb der Group des jeweiligen Players fest:
    1: Sonos Device, nur noch mit dem Status von Presence
    2: ReadingsGroup mit den aktuellen und nächsten Titelinformationen (und den jeweiligen Covern)
    3: RemoteControl zum Steuern des Players

    Wenn da bei dir eine andere Reihenfolge ist, müsste das eigentlich von einem eigenen Eingriff herrühren:-)

    Oder meinst du innerhalb der ReadingsGroup selbst? Kannst du dann bitte mal aktualisieren, und vielleicht einen Screenshot von dem Bereich machen?
    Ich habe die ReadingsGroup (bzw. den Code dazu) auf DIV-Container umgestellt, da diese weniger Probleme beim Anzeigen im Dashboard machen, allerdings könnte es natürlich woanders klemmen, da ich dort natürlich viel mit float-Styles arbeiten musste, da ich die DIVs sonst nicht nebeneinander bekomme...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 Dezember 2014, 16:12:17
    Hallo zusammen,

    habe gerade noch ein Bugfixing eingeworfen:
    Einige Radiosender haben verbotenerweise Newlines in den Metadaten mitgeliefert, die dann zu einem Absturz der Titelerkennung u.ä. führte.
    Passiert war das z.B. bei "Capital Radio Türkiye".

    Das ist nun korrigiert...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 12 Dezember 2014, 06:40:24
    Hallo Reinerlein,
    erst mal möchte ich mich bei dir für dieses tolle Modul bedanken.

    Ich habe ein Frage: Wäre es möglich, dass wenn auf der PLAYBAR, der Fernseher aktiv ist , dass da nicht ein leeres icon kommt sonder ein TV Icon.
    In der Sonos APP wird ja auch erkannt dass dann der TV aktiv ist. Könntest Du dies implementieren?

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Dezember 2014, 09:24:48
    Hallo Avatar,

    auf jeden Fall kann ich es mir anschauen. Was ich auf jeden Fall nur über Umwege herausfinden kann, ist wenn es noch einen zweiten Player in einer Gruppe gibt, der auch TV wiedergibt, dort auch das Icon anzuzeigen...

    Aber direkt am Player sollte gehen. Ich bräuchte das Icon nur mal als jpg, und möglichst in großer nativer Auflösung (vielleicht einen Screenshot der Vollbildanzeige:-)

    Da ich die Playbar nicht habe, kann ich es mir leider nicht aus dem Controller fischen.
    Ich werde dann auch gleich bei den anderen Eingangs-Wiedergaben das Icon für den Eingang einbauen... Dann haben wir das da rund...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: strauch am 12 Dezember 2014, 09:43:10
    @Reinerlein mit der aktuellen dev Version hab ich bisher keine Abstürze gehabt. Danke
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 12 Dezember 2014, 15:24:11
    Hallo Reibereien
    wie findest du dieses. Ich meine, jeder kann dann ein eigenes Icon ablegen und entsprechend umbenennen.

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Dezember 2014, 16:16:30
    Hallo Eric,

    gibt es denn kein offizielles von Sonos dafür?

    Ich persönlich finde das eindeutig zu verspielt und würde lieber ein zum übrigen Konzept passendes mitliefern. Natürlich kann man sich das austauschen, allerdings würde ein Update das immer wieder zunichte machen, da diese ja mitgeliefert werden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 12 Dezember 2014, 17:57:01
    Hi Reinerlein,

    im Anhang mal ein Screenshot aus der Sonos-App am iPhone

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Otto am 12 Dezember 2014, 21:37:33
    Hallo Reinerlein,

    ich habe dein Modul auch zum Laufen bekommen, danke dafür  :)

    Habe noch Fehlermeldungen, wie bekomme ich die weg?

    Error messages while initializing FHEM:
    statefile: Reading Sonos_Arbeitszimmer->AlarmList must not be used out of statefile.
    Reading Sonos_Arbeitszimmer->AlarmListIDs must not be used out of statefile.
    Reading Sonos_Arbeitszimmer->AlarmListVersion must not be used out of statefile.
    Reading Sonos_Arbeitszimmer->presence must not be used out of statefile.


    define Sonos_Arbeitszimmer SONOSPLAYER RINCON_B8xxxxxx_MR
    attr Sonos_Arbeitszimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Arbeitszimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Arbeitszimmer generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Arbeitszimmer getAlarms 1
    attr Sonos_Arbeitszimmer group Arbeitszimmer
    attr Sonos_Arbeitszimmer icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Arbeitszimmer minVolume 0
    attr Sonos_Arbeitszimmer model Sonos_S1
    attr Sonos_Arbeitszimmer room Sonos
    attr Sonos_Arbeitszimmer stateVariable InfoSummarize2
    attr Sonos_Arbeitszimmer webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT


    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 12 Dezember 2014, 21:51:18
    Hallo Otto,
    das sind nicht wirklich Fehler, die readings sollen nur nicht aus dem Statefile gelesen werden. Das wurde schonmal diskutiert.
    Ein

    attr global motd none

    per fhem eingabefeld absetzen, das sollte helfen.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Dezember 2014, 21:59:31
    Hallo Otto,

    in der neuen Version (aus dem Dev-Bereich installierbar) werden die Readings auf eine andere Art nicht geladen, sodass diese Meldungen nicht mehr auftauchen...

    Bis dahin: Ignorieren :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Dezember 2014, 12:14:32
    Hallo zusammen,

    ich habe noch das halbfertige Feature mit dem Vollbild (klick auf das Cover des aktuellen Titels in der neuen ReadingsGroup-Darstellung im Raum) fertiggestellt.
    Dort wird nun der Abspielstatus (Play, Pause und Stop) und bei aktivem Abspielen ein laufender Prozentbalken angezeigt, der die ungefähre Position im Titel darstellt (das geht leider nicht genau, da es zwischen Zeitstempel des Readings und der Realität eine Differenz gibt, die wohl aus der Bearbeitungszeit folgt).
    Außerdem wird im Pause- und Stop-Zustand die Position im Titel mit diesem Balken angezeigt (das ist genauer, da der aktuelle, reale Zeitpunkt unwichtig ist).

    Damit einhergehend wurde ein Reading 'currentTrackPosition' eingeführt. Dieses wird bei jedem Wechsel des Abspielzustands aktualisiert. Z.B. wenn man aktuell im Modus 'Pause' ist, zeigt dieses Reading die Position im Lied zum Zeitpunkt des Beginns der Pause...

    Außerdem wurden neue Bildchen eingeführt, wenn der Eingang auf LineIn oder TV steht und Darstellungsprobleme der Cover-Bilder bei Verwendung des Sonos-Modul-Proxy behoben...

    Wie immer:

    update all http://fhem.lmsoft.de/sonos_dev/controls_sonos.txt


    Damit sind, meiner Meinung nach, die letzten halbfertigen Features soweit durch. Jetzt nur noch Bugfixing. Leider etwas verzögert, da ich krank im Bett rumliege...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 13 Dezember 2014, 15:09:50
    Hallo Reinerlein,

    habe heut das Sonos Modul geupdated (meine alte Sonos.pm war vom 08.12.).

    Jetzt habe ich allerdings wieder ein Problem mit generateProxyAlbumArtURLs.
    Hinter einem reverseProxy werden mir die Cover nicht mehr angezeigt, nur noch das neue TV-Cover (P.S. schaut gut aus ;)), und die Seite mit den Sonos-Devices ist ewig am laden.

    Im Fhem log erscheint folgendes:
    2014.12.13 15:03:42.400 2: FHEMWEB WEB /tmp/CbvWVT1JgW.: No such file or directory
    2014.12.13 15:03:42.855 2: FHEMWEB WEB /tmp/f5Yybs6dLk.: No such file or directory


    Im stdout auf Verbose3 ist zumindest nix los.

    Der Firefox versucht z.B. ein Cover von dieser Adresse zu laden:
    https://fhem.domain.tld/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.1.150%3A1400%2Fgetaa%3Fs%3D1%26u%3Dx-sonosapi-stream%253as153326%253fsid%253d254%2526flags%253d32%2526sn%253d0
    Das sieht für mich so aus als ob in der Cover URL trotz generateProxyAlbumArtURLs 1 immer noch die lokale Player-IP drin ist.

    Allerdings werden selbst hinter dem fhem-lokalen revProxy (also zugriff auf fhem, aus dem lokalen LAN) keine Cover angezeigt.
    Der Zugriff hinter dem fhem-lokalen revProxy mit generateProxyAlbumArtURLs 0 funktioniert allerdings, hier dann natürlich aus dem WAN nicht mehr.

    Danke und Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Dezember 2014, 15:53:23
    Hi Claudiu,

    ok, mit dir hatte ich gerechnet  :)
    Ich kenne sonst keinen, der das alles hinter einem revProxy stehen hat :-)

    Ok, ich musste, wie geschrieben, ja einiges an der Bilderauslieferung rumschrauben, da entweder der Firefox oder das iPad irgendwas nicht angezeigt hatten...

    Das bedeutet, ich verwende eine Standardauslieferungsprozedur von FHEMWEB. Dazu muss das Bild allerdings als lokale Datei vorliegen.
    Dazu verwende ich ein Perl-Modul, welches einen eindeutigen, temporären Dateinamen erzeugt, in dem dann der Inhalt abgelegt wird, damit FHEMWEB es ausliefern kann.
    Irgendwie klappt das anscheinend nicht...

    Könntest du mal Verbose auf 5 stellen? Dann gibt der Proxy nämlich die Namen aus, die er für die lokale Ablage verwendet...

    Das in der Proxy-URL die Original-URL zum Player steht, ist korrekt. Damit geht das Proxy-Modul ja dann weiter...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 13 Dezember 2014, 16:04:38
    Hi Reinerlein,

    du meinst hinter 2 revProxys  ;)  .... geht ja leider nicht anders wenn man eine Form-Authentication für fhem möchte  :-\

    Hab jetzt mal das Sonos Device auf Verbose 5 gestellt (fhem verbose 3):
    2014.12.13 15:58:46.032 5: SONOS0: Cover wurde neu geladen: http://192.168.1.150:1400/getaa?s=1&u=x-sonosapi-stream%3as153326%3fsid%3d254%26flags%3d32%26sn%3d0
    2014.12.13 15:58:46.033 5: SONOS0: TempFilename: /tmp/IdMopJcej9
    2014.12.13 15:58:46.033 2: FHEMWEB WEB /tmp/IdMopJcej9.: No such file or directory
    2014.12.13 15:58:46.634 5: SONOS0: Cover wurde neu geladen: http://192.168.1.104:1400/getaa?s=1&u=x-sonosapi-stream%3as45087%3fsid%3d254%26flags%3d32
    2014.12.13 15:58:46.635 5: SONOS0: TempFilename: /tmp/0dA7r7vpnb
    2014.12.13 15:58:46.635 2: FHEMWEB WEB /tmp/0dA7r7vpnb.: No such file or directory
    2014.12.13 15:58:54.010 4: SONOS0: Got correct Answer from Subprocess...
    ^C
    root@fhem:/opt/fhem>l /tmp
    insgesamt 12K
    drwxrwxrwt 2 root root 4,0K Dez 13 14:36 .ICE-unix
    drwx------ 2 root root 4,0K Dez 13 14:36 vmware-root
    drwxrwxrwt 2 root root 4,0K Dez 13 14:36 .X11-unix
    root@fhem:/opt/fhem>


    stdout passiert nichts...

    Mit der alten Version hat bei mir bzgl. Covers allerdings sowohl auf iPhone/iPad/Firefox alles sauber funktioniert.


    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Dezember 2014, 16:33:49
    Hi Claudiu,

    wieder mal ein kleiner Unterschied zwischen Windows und Linux...
    Ich habe das natürlich nur ausführlich auf meinem Windows-Entwicklungssystem getestet; auf meinem Pi läuft das ohne Proxy...

    Das Problem ist der kleine Punkt hinter der Ausgabe von FHEMWEB. Den gibt es eigentlich gar nicht, und der ist unter Windows anscheinend auch kein Problem...

    Ich habe bei den Temporären- und Cache-Dateinamen nun eine Endung '.image' angehangen. Damit gibt es nun eine Endung...

    Kannst du bitte nochmal testen?
    Danke schon mal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 13 Dezember 2014, 16:47:23
    Hi Reinerlein,

    super, das scheint zu klappen  ;D
    .. hab jetzt mal aus LAN/WAN von Firefox+iPhone getestet.

    Danke dir!

    Was mir noch aufgefallen ist in der Standard Readinggroup (hab die Devices vorhin neu generieren lassen, hab gedacht es liegt evtl. daran),
    - bei normaler Wiedergabe wir der aktuelle Track + der nächste angezeigt (Bsp. im angehängten Bild Sonos_Bad). => sinnvoll
    - bei wiedergabe eines Radio-Stream wird nur der aktuelle Track angezeigt (Bsp. im angehängten Bild Sonos_Schlafzimmer) => sinnvoll
    - bei wiedergabe von SPDIF/TV wird der aktuelle Track angezeigt + ein leerer nächster Track (Bsp. im angehängten Bild Sonos_Kueche) => nicht wirklich sinnvoll

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Dezember 2014, 17:17:56
    Hi Claudiu,

    schön, das es geht :)

    das mit der Anzeige des leeren nächsten Titels habe ich entfernt...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 13 Dezember 2014, 17:55:20
    Hi Reinerlein,

    spitze, das funktioniert auch!

    Hab schon überlegt ob ichs vorhin mit dazu schreiben soll, aber das Problem mit dem leeren nächsten Titel ist nun auch beim normalen abspielen eines Einzelnen Tracks weg, Thumbs up! :)

    Danke und noch schönes Wochenende ;-)
    Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 13 Dezember 2014, 19:01:47
    Hi @ll,

    hoffe ich darf mich hier mit dranhängen  ???

    habe alles so wie im wiki gemacht
    bekomme aber keinen ton aus den sonos-speakern bei der speak funktion und bei direktem senden eines files von meiner NAS
    rechte habe ich geprüft und den sambashare habe ich auf dem raspb. so eingerichtet wie im wiki

    leider finde ich keine Lösung hier im forum habe gesucht aber leider nichts gefunden
    kann wer helfen ?

    ich sende set Sonos_Flur Speak +0 de Hier dann die Textnachricht

    das kommt im eventmon.

    014-12-13 18:46:39 SONOSPLAYER Sonos_Flur LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2014-12-13 18:46:39 SONOSPLAYER Sonos_Flur currentTrackURI: //192.168.0.91/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141213-184629.mp3
    2014-12-13 18:46:39 SONOSPLAYER Sonos_Flur currentTitle: RINCON_B8E9378F49E001400_MR_Speak_20141213-184629.mp3
    2014-12-13 18:46:39 SONOSPLAYER Sonos_Flur infoSummarize1: 'RINCON_B8E9378F49E001400_MR_Speak_20141213-184629.mp3'
    2014-12-13 18:46:39 SONOSPLAYER Sonos_Flur infoSummarize2: STOPPED => 'RINCON_B8E9378F49E001400_MR_Speak_20141213-184629.mp3'
    2014-12-13 18:46:39 SONOSPLAYER Sonos_Flur STOPPED => 'RINCON_B8E9378F49E001400_MR_Speak_20141213-184629.mp3'
    2014-12-13 18:46:45 CUL_HM WTM.Badezimmer_Weather temperature: 22.2


    die IP ist die vom Raspb. 

    wenn ich einen file von der NAS nehme kommt
    2014-12-13 18:50:10 SONOSPLAYER Sonos_Flur PlayURITemp \\192.168.0.23\SonosSpeak\test.mp3 30
    2014-12-13 18:50:16 SONOSPLAYER Sonos_Flur LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2014-12-13 18:50:16 SONOSPLAYER Sonos_Flur currentTrackURI: //192.168.0.23/SonosSpeak/test.mp3
    2014-12-13 18:50:16 SONOSPLAYER Sonos_Flur currentTitle: test.mp3
    2014-12-13 18:50:16 SONOSPLAYER Sonos_Flur infoSummarize1: 'test.mp3'
    2014-12-13 18:50:16 SONOSPLAYER Sonos_Flur infoSummarize2: STOPPED => 'test.mp3'
    2014-12-13 18:50:16 SONOSPLAYER Sonos_Flur STOPPED => 'test.mp3'


    die Sonos conf. und die dev.

    ################################### Sonos Audio ##############################################################

    define Sonos SONOS localhost:4711 30
    attr Sonos Speak1 1
    attr Sonos targetSpeakDir /mnt/SonosSpeak
    attr Sonos targetSpeakFileTimestamp 1
    attr Sonos targetSpeakURL \\192.168.0.91\SonosSpeak


    define Sonos_Wohnzimmer SONOSPLAYER RINCON_B8E9373F83EC01400_MR
    attr Sonos_Wohnzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Wohnzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Wohnzimmer generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Wohnzimmer getAlarms 1
    attr Sonos_Wohnzimmer group Wohnzimmer
    attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-S3.png
    attr Sonos_Wohnzimmer minVolume 0
    attr Sonos_Wohnzimmer model Sonos_S3
    attr Sonos_Wohnzimmer room Sonos
    attr Sonos_Wohnzimmer stateVariable InfoSummarize2
    attr Sonos_Wohnzimmer webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_Wohnzimmer weblink image /fhem/icons/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt
    attr AlbumArt_Wohnzimmer group Wohnzimmer
    attr AlbumArt_Wohnzimmer htmlattr width='200'
    attr AlbumArt_Wohnzimmer room Sonos
    define Sonos_Flur SONOSPLAYER RINCON_B8E9378F49E001400_MR
    attr Sonos_Flur generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Flur generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Flur generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Flur getAlarms 1
    attr Sonos_Flur group Flur
    attr Sonos_Flur icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Flur minVolume 0
    attr Sonos_Flur model Sonos_S1
    attr Sonos_Flur room Sonos
    attr Sonos_Flur stateVariable InfoSummarize2
    attr Sonos_Flur webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_Flur weblink image /fhem/icons/SONOSPLAYER/Sonos_Flur_AlbumArt
    attr AlbumArt_Flur group Flur
    attr AlbumArt_Flur htmlattr width='200'
    attr AlbumArt_Flur room Sonos
    define Sonos_Eingang SONOSPLAYER RINCON_B8E9378F49A001400_MR
    attr Sonos_Eingang generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Eingang generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Eingang generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Eingang getAlarms 1
    attr Sonos_Eingang group Eingang
    attr Sonos_Eingang icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Eingang minVolume 0
    attr Sonos_Eingang model Sonos_S1
    attr Sonos_Eingang room Sonos
    attr Sonos_Eingang stateVariable InfoSummarize2
    attr Sonos_Eingang webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_Eingang weblink image /fhem/icons/SONOSPLAYER/Sonos_Eingang_AlbumArt
    attr AlbumArt_Eingang group Eingang
    attr AlbumArt_Eingang htmlattr width='200'
    attr AlbumArt_Eingang room Sonos
    define Sonos_Bad SONOSPLAYER RINCON_B8E93782C0E601400_MR
    attr Sonos_Bad generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Bad generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Bad generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Bad getAlarms 1
    attr Sonos_Bad group Bad
    attr Sonos_Bad icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Bad minVolume 0
    attr Sonos_Bad model Sonos_S1
    attr Sonos_Bad room Sonos
    attr Sonos_Bad stateVariable InfoSummarize2
    attr Sonos_Bad webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_Bad weblink image /fhem/icons/SONOSPLAYER/Sonos_Bad_AlbumArt
    attr AlbumArt_Bad group Bad
    attr AlbumArt_Bad htmlattr width='200'
    attr AlbumArt_Bad room Sonos
    define Sonos_Waschk__che SONOSPLAYER RINCON_B8E93782C16801400_MR
    attr Sonos_Waschk__che generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Waschk__che generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Waschk__che generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Waschk__che getAlarms 1
    attr Sonos_Waschk__che group Waschk__che
    attr Sonos_Waschk__che icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Waschk__che minVolume 0
    attr Sonos_Waschk__che model Sonos_S1
    attr Sonos_Waschk__che room Sonos
    attr Sonos_Waschk__che stateVariable InfoSummarize2
    attr Sonos_Waschk__che webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT
    define AlbumArt_Waschk__che weblink image /fhem/icons/SONOSPLAYER/Sonos_Waschk__che_AlbumArt
    attr AlbumArt_Waschk__che group Waschk__che
    attr AlbumArt_Waschk__che htmlattr width='200'
    attr AlbumArt_Waschk__che room Sonos


    die Ausgabe des Subprocesses würde ich auch gern noch posten aber ich weiss nicht mehr wie
    und den Befehl finde ich irgendwie auch nicht mehr ???  hatte das doch schon in einem Beitrag gelesen  :(


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Dezember 2014, 20:11:27
    Hi m311331,

    ich habe in der aktuellen Dev-Version einiges an der Speak-Funktionalität geschraubt. Vielleicht ist dein Problem dort bereits gelöst?
    Z.B. fällt die Längenbegrenzung bei Google-Text2Speech weg. Und auch die Umlaute funktionieren sauber...

    Bitte einen Update-Versuch unternehmen, und dabei die Player mal neu erkennen lassen (nur die Player)...


    update all http://fhem.lmsoft.de/sonos_dev/controls_sonos.txt


    So auf Anhieb konnte ich jetzt keine Fehler in deiner Config erkennen.
    Du kannst nur das Attribut Speak1 am Sonos-Device weglassen (ist bei dir auf "1" gesetzt, was sicherlich nur ein Versehen war :-). Das benötigst du nur, wenn du eine eigene Software für die Sprachdateierzeugung verwenden möchtest...

    Grüße
    Reinerlein

    P.S.: Im Wiki stehen ein paar Hinweise zur Fehlersuche http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Fehlersuche (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Fehlersuche)
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 13 Dezember 2014, 22:19:41
    Hallo Reinerlein

    Ich habe den Update durchgeführt, bei mir läuft es mit der Planbar nicht. Aktuell wird das empty Icon angezeigt.
    -> PLAYING => 'SPDIF-Wiedergabe' vom Album 'Wohnzimmer'

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 14 Dezember 2014, 01:08:31
    Hi Reinerlein,

    Danke für deine Antwort

    Zitatdas Attribut Speak1 am Sonos-Device
    habe ich entfernt Danke  :)

    nach dem update kommt jetzt
    Zitat2014-12-14 01:03:13 SONOSPLAYER Sonos_Flur LastActionResult: Speak0: MP3-Creation ERROR


    hast du noch eine idee ?

    mfg. m311331




    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Dezember 2014, 01:09:23
    Hi Eric,

    so ohne weitere Informationen ist eine Fehlersuche etwas schwierig. Du müsstest zumindest mal sicherstellen, dass du wirklich die aktuellste Dev Version hast (mit dem Befehl 'version' werden die Versionsnummern aller geladener Module angezeigt).
    Außerdem die Tipps zur Fehlersuche auf der Wikiseite durchlesen. Mit den damit gewonnenen Informationen können wir hier schon eine Menge mehr anfangen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Dezember 2014, 01:12:42
    Hi m311331,

    du müsstest mal den Loglevel mindestens auf 4 stellen, und den Versuch dann in der Logdatei untersuchen.
    Dort müsste ein Eintrag vorhanden sein, der mit "MP3 Download-Error" beginnt. Die Fehlermeldung dahinter ist die Meldung, die vom Webserver geliefert wird...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 14 Dezember 2014, 02:06:46
    Hi Reinerlein,

    habe das loglevel auf 4 gestellt
    und mal etwas mehr log rauskopeiert evtl. kannst ja was sehen


    2014.12.14 01:54:46 4: eventTypes: CUL_HM LED.Statusanzeige state: 8008AA1A -> state: 8008AA1A
    2014.12.14 01:54:47 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Flur_AlbumArt.png');
    2014.12.14 01:54:47 4: SONOS0: Couldn't retrieve file "./FHEM/lib/UPnP/sonos_empty.jpg" via web. Trying to copy directly...
    2014.12.14 01:54:47 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Flur_AlbumArt.png'!
    2014.12.14 01:54:47 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Flur_NextAlbumArt.png');
    2014.12.14 01:54:47 4: SONOS0: Couldn't retrieve file "./FHEM/lib/UPnP/sonos_empty.jpg" via web. Trying to copy directly...
    2014.12.14 01:54:47 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Flur_NextAlbumArt.png'!
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur AlarmRunningID:  -> AlarmRunningID:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur currentArtist:  -> currentArtist:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur currentAlbum:  -> currentAlbum:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur currentOriginalTrackNumber:  -> currentOriginalTrackNumber:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur currentSender:  -> currentSender:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur currentSenderCurrent:  -> currentSenderCurrent:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur currentSenderInfo:  -> currentSenderInfo:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur nextTrackDuration:  -> nextTrackDuration:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur nextTrackURI:  -> nextTrackURI:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur nextTitle:  -> nextTitle:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur nextArtist:  -> nextArtist:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur nextAlbum:  -> nextAlbum:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur nextAlbumArtist:  -> nextAlbumArtist:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur nextOriginalTrackNumber:  -> nextOriginalTrackNumber:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur infoSummarize1:  'RINCON_B8E9378F49E001400_MR_Speak_20141214-014517.mp3' -> infoSummarize1:  'RINCON_B8E9378F49E001400_MR_Speak_20141214.*.mp3'
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur infoSummarize4:  -> infoSummarize4:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur STOPPED =>  'RINCON_B8E9378F49E001400_MR_Speak_20141214-014517.mp3' -> STOPPED =>  'RINCON_B8E9378F49E001400_MR_Speak_20141214.*.mp3'
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur state: STOPPED =>  'RINCON_B8E9378F49E001400_MR_Speak_20141214-014517.mp3' -> state: STOPPED =>  'RINCON_B8E9378F49E001400_MR_Speak_20141214.*.mp3'
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur AlarmList: {} -> AlarmList: {}
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur AlarmListIDs:  -> AlarmListIDs:
    2014.12.14 01:54:47 4: eventTypes: SONOSPLAYER Sonos_Flur AlarmListVersion: RINCON_B8E9378F49E001400:0 -> AlarmListVersion: RINCON_B8E9378F49E001400:.*
    2014.12.14 01:54:47 4: eventTypes: SONOS Sonos ZoneGroupState: <ZoneGroups><ZoneGroup Coordinator="RINCON_B8E9373F83EC01400" ID="RINCON_B8E9373F83EC01400:1"><ZoneGroupMember UUID="RINCON_B8E9373F83EC01400" Location="http://192.168.0.62:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="28.1-83040" MinCompatibleVersion="27.0-00000" LegacyCompatibleVersion="24.0-0000" BootSeq="6" WirelessMode="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E93782C16801400" ID="RINCON_B8E93782C16801400:1"><ZoneGroupMember UUID="RINCON_B8E93782C16801400" Location="http://192.168.0.65:1400/xml/device_description.xml" ZoneName="Waschküche" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="28.1-83040" MinCompatibleVersion="27.0-00000" LegacyCompatibleVersion="24.0-0000" BootSeq="6" WirelessMode="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E93782C0E601400" ID="RINCON_B8E93782C0E601400:1"><ZoneGroupMember UUID="RINCON_B8E93782C0E601400" Location="http://192.168.0.63:1400/xml/device_description.xml" ZoneName="Bad" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="28.1-83040" MinCompatibleVersion="27.0-00000" LegacyCompatibleVersion="24.0-0000" BootSeq="5" WirelessMode="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9378F49A001400" ID="RINCON_B8E9378F49A001400:1"><ZoneGroupMember UUID="RINCON_B8E9378F49A001400" Location="http://192.168.0.64:1400/xml/device_description.xml" ZoneName="Eingang" Icon="x-rincon-roomicon:foyer" Configuration="1" SoftwareVersion="28.1-83040" MinCompatibleVersion="27.0-00000" LegacyCompatibleVersion="24.0-0000" BootSeq="4" WirelessMode="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9378F49E001400" ID="RINCON_B8E9378F49E001400:1"><ZoneGroupMember UUID="RINCON_B8E9378F49E001400" Location="http://192.168.0.61:1400/xml/device_description.xml" ZoneName="Flur" Icon="x-rincon-roomicon:hallway" Configuration="1" SoftwareVersion="28.1-83040" MinCompatibleVersion="27.0-00000" LegacyCompatibleVersion="24.0-0000" BootSeq="9" WirelessMode="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1"/></ZoneGroup></ZoneGroups> -> ZoneGroupState: <ZoneGroups><ZoneGroup Coordinator="RINCON_B8E9373F83EC01400" ID="RINCON_B8E9373F83EC01400:.*"><ZoneGroupMember UUID="RINCON_B8E9373F83EC01400" Location="http://.*.*.*:.*/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration=".*" SoftwareVersion=".*.*" MinCompatibleVersion=".*.*" LegacyCompatibleVersion=".*.*" BootSeq=".*" WirelessMode=".*" ChannelFreq=".*" BehindWifiExtender=".*" WifiEnabled=".*"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E93782C16801400" ID="RINCON_B8E93782C16801400:.*"><ZoneGroupMember UUID="RINCON_B8E93782C16801400" Location="http://.*.*.*:.*/xml/device_description.xml" ZoneName="Waschküche" Icon="x-rincon-roomicon:kitchen" Configuration=".*" SoftwareVersion=".*.*" MinCompatibleVersion=".*.*" LegacyCompatibleVersion=".*.*" BootSeq=".*" WirelessMode=".*" ChannelFreq=".*" BehindWifiExtender=".*" WifiEnabled=".*"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E93782C0E601400" ID="RINCON_B8E93782C0E601400:.*"><ZoneGroupMember UUID="RINCON_B8E93782C0E601400" Location="http://.*.*.*:.*/xml/device_description.xml" ZoneName="Bad" Icon="x-rincon-roomicon:bathroom" Configuration=".*" SoftwareVersion=".*.*" MinCompatibleVersion=".*.*" LegacyCompatibleVersion=".*.*" BootSeq=".*" WirelessMode=".*" ChannelFreq=".*" BehindWifiExtender=".*" WifiEnabled=".*"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9378F49A001400" ID="RINCON_B8E9378F49A001400:.*"><ZoneGroupMember UUID="RINCON_B8E9378F49A001400" Location="http://.*.*.*:.*/xml/device_description.xml" ZoneName="Eingang" Icon="x-rincon-roomicon:foyer" Configuration=".*" SoftwareVersion=".*.*" MinCompatibleVersion=".*.*" LegacyCompatibleVersion=".*.*" BootSeq=".*" WirelessMode=".*" ChannelFreq=".*" BehindWifiExtender=".*" WifiEnabled=".*"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9378F49E001400" ID="RINCON_B8E9378F49E001400:.*"><ZoneGroupMember UUID="RINCON_B8E9378F49E001400" Location="http://.*.*.*:.*/xml/device_description.xml" ZoneName="Flur" Icon="x-rincon-roomicon:hallway" Configuration=".*" SoftwareVersion=".*.*" MinCompatibleVersion=".*.*" LegacyCompatibleVersion=".*.*" BootSeq=".*" WirelessMode=".*" ChannelFreq=".*" BehindWifiExtender=".*" WifiEnabled=".*"/></ZoneGroup></ZoneGroups>
    2014.12.14 01:54:47 4: CUL_HM LED.Statusanzeige dupe: dont process
    2014.12.14 01:54:47 4: eventTypes: CUL_HM LED.Statusanzeige color: 8008AA1A -> color: 8008AA1A
    2014.12.14 01:54:47 4: eventTypes: CUL_HM LED.Statusanzeige 8008AA1A -> 8008AA1A
    2014.12.14 01:54:47 4: eventTypes: CUL_HM LED.Statusanzeige state: 8008AA1A -> state: 8008AA1A
    2014.12.14 01:54:47 4: HMLAN_ack: timeout - clear queue
    2014.12.14 01:54:47 4: CUL_HM LED.Statusanzeige dupe: dont process
    2014.12.14 01:54:47 3: CUL_HM set Rauchmelder2 statusRequest
    2014.12.14 01:54:47 4: eventTypes: CUL_HM LED.Statusanzeige color: 8008AA1A -> color: 8008AA1A
    2014.12.14 01:54:47 4: eventTypes: CUL_HM LED.Statusanzeige 8008AA1A -> 8008AA1A
    2014.12.14 01:54:47 4: eventTypes: CUL_HM LED.Statusanzeige state: 8008AA1A -> state: 8008AA1A
    2014.12.14 01:54:48 4: HMLAN_ack: timeout - clear queue
    2014.12.14 01:54:48 4: CUL_HM LED.Statusanzeige dupe: dont process
    2014.12.14 01:54:48 4: eventTypes: CUL_HM LED.Statusanzeige color: 8008AA1A -> color: 8008AA1A
    2014.12.14 01:54:48 4: eventTypes: CUL_HM LED.Statusanzeige 8008AA1A -> 8008AA1A
    2014.12.14 01:54:48 4: eventTypes: CUL_HM LED.Statusanzeige state: 8008AA1A -> state: 8008AA1A
    2014.12.14 01:54:48 4: HMLAN_ack: timeout - clear queue
    2014.12.14 01:54:48 4: CUL_HM LED.Statusanzeige dupe: dont process
    2014.12.14 01:54:48 4: eventTypes: CUL_HM Trockner CMDs_pending -> CMDs_pending
    2014.12.14 01:54:48 4: eventTypes: CUL_HM Trockner state: CMDs_pending -> state: CMDs_pending
    2014.12.14 01:54:48 3: CUL_HM set Trockner_Sw statusRequest
    2014.12.14 01:54:48 4: HTTP FHEMWEB:192.168.0.5:49559 GET /fhem&room=all&cmd=set+Sonos_Flur+Speak+%2B0+de+Hier+dann+die+Textnachricht
    2014.12.14 01:54:48 4: Connection closed for FHEMWEB:192.168.0.5:49562
    2014.12.14 01:54:48 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem?room=all
    2014.12.14 01:54:48 4: /fhem?room=all / RL:75026 / text/html; charset=UTF-8 / Content-Encoding: gzip
    /
    2014.12.14 01:54:48 4: HMLAN_ack: timeout - clear queue
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/pgm2/style.css
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49563 GET /fhem/jscolor/jscolor.js
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/pgm2/svg.js
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49560 GET /fhem/pgm2/fhemweb.js
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/pgm2/fhemweb_colorpicker.js
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49559 GET /fhem/pgm2/fhemweb_multiple.js
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/pgm2/fhemweb_noArg.js
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49559 GET /fhem/pgm2/fhemweb_readingsHistory.js
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/pgm2/fhemweb_slider.js
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49559 GET /fhem/pgm2/fhemweb_svg.js
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/pgm2/fhemweb_textField.js
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49559 GET /fhem/pgm2/fhemweb_time.js
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/icons/favicon
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/pgm2/darkCommon.css
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/pgm2/dashboard_darkstyle.css
    2014.12.14 01:54:49 4: SONOS0: DoWorkAnswer arrived for Sonos_Flur->LastActionResult: 'Speak0: MP3-Creation ERROR'
    2014.12.14 01:54:49 4: eventTypes: SONOSPLAYER Sonos_Flur LastActionResult: Speak0: MP3-Creation ERROR -> LastActionResult: Speak0: MP3-Creation ERROR
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/images/default/fhemicon_dark.png
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/images/default/icoEverything.png
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49559 GET /fhem/icons/SONOSPLAYER/Sonos_Bad_AlbumArt
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49563 GET /fhem/images/default/off.png
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49560 GET /fhem/images/default/on.png
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/icons/SONOSPLAYER/Sonos_Eingang_AlbumArt
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49563 GET /fhem/images/default/Wecker.Immer.png
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/images/default/li_wht_on.png
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49559 GET /fhem/images/default/li_wht_off.png
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49563 GET /fhem/images/default/hc_wht_regler.png
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/jscolor/hs.png
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49560 GET /fhem/jscolor/cross.gif
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem/jscolor/arrow.gif
    2014.12.14 01:54:49 4: HTTP FHEMWEB:192.168.0.5:49564 GET /fhem?XHR=1&inform=type=status;filter=room=all×tamp=1418518491483
    2014.12.14 01:54:49 4: HMLAN_ack: timeout - clear queue


    ???

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Dezember 2014, 02:28:54
    Hi 311331,

    sorry, mein Fehler, ich meinte die Logausgaben auf der Konsole. Der Fehler wird im Subprozess erzeugt, und entsprechend auch dort gelogged...

    Auf der Ebene von Fhem (das, was du gepostet hast), wird nur noch das (bekannte) Ergebnis gemeldet.

    Grüße Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 14 Dezember 2014, 10:02:09
    Hallo Reibereien

    Ich habe die version Songs wie auch sonosplayer - Version 2.6-Dev

    currentAlbumArtURI  ./www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt.png
    currentAlbumArtURL  /fhem/sonos/cover/empty.jpg

    Mit dem Update gestern wurden auch die beiden jpg Dateien ins .lib Verzeichnis kopieren.
    Somit denke ich schon dass ich die aktuellste Version habe.

    Sobald ich ein Radiosender, oder Musikdatei auswähle wird das Album entsprechend korrekt angezeigt nur bei TV wenn der SPDIF Eingang genutzt nicht nicht.

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Dezember 2014, 10:36:03
    Hi Eric,

    hmm, das ist mit der aktuellsten Version mitgekommen... Ist denn die Datei "sonos_input_tv.jpg" im Verzeichnis "./lib/UPnP" angekommen?
    Ist die Zeile 4573 in def Datei 00_SONOS.pm die folgende?

    SONOS_Client_Notifier('ProcessCover:'.$udn.':0:/fhem/sonos/cover/input_tv.jpg:');

    Demnach sollte auch das Reading "currentAlbumArtURL" auf "/fhem/sonos/cover/input_tv.jpg" stehen.

    Das TV-Bildchen wird nur an dem Player angezeigt, der den Eingang physikalisch besitzt. Nicht an den in einer Gruppe mitspielenden Player.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 14 Dezember 2014, 11:23:02
    Hallo Reinerlein

    Ja die jpg ist im Verzeichnis , und in der 4573 steht auch so wie von dir angegeben.
    Dennoch ist im currentAlbumArtURL  der Eintraf /fhem/sonos/cover/empty.jpg.

    Es ist auch keine Gruppe definiert, sonder nur die Playbar.

    currentTrackURI
    x-sonos-htastream:RINCON_000E58BA3C9301400:spdif

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 14 Dezember 2014, 13:40:17
    Hi Reinerlein,


    Kannst du mir sagen wie ich das mit dem Log auf der Console machen muss
    finde den Beitrag hier im Forum irgendwie nicht mehr :-\



    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 14 Dezember 2014, 13:46:11
    Hi m311331, da steht es beschrieben => http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Fehlersuche
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 14 Dezember 2014, 14:12:18
    Hallo Reinerlein

    als Ergänzung, wenn ich das Modul 00_SONOS.pm mit reload 00_SONOS.pm neu laden möchte bekomme ich folgende Meldung:

    Too many arguments for main::SONOS_MakeCoverURL at ./FHEM/00_SONOS.pm line 2208, near "$3)"
    Too many arguments for main::SONOS_MakeCoverURL at ./FHEM/00_SONOS.pm line 2237, near "$3)"
    Too many arguments for main::SONOS_MakeCoverURL at ./FHEM/00_SONOS.pm line 2266, near "$3)"
    BEGIN not safe after errors--compilation aborted at ./FHEM/00_SONOS.pm line 3332.

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Dezember 2014, 14:24:39
    Hallo Eric,

    der Fehler ist raus. Komisch dass der bei mir nicht aufgetaucht ist, aber vielleicht werden bei mir Prototypes nicht so genau geprüft...

    Aber zu dem anderen benötigen wir mehr Logausgaben, da das so nur gestochere im Dunkeln ist...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 14 Dezember 2014, 15:04:45
    Hallo Reinerlein

    Hier noch das Log. ich weiss nicht ob es dir wirklich weiter hilft. Mir scheint es, dass er automatisch zum Bereich empty cover wählen geht.
    Ich kenne mich da nicht wirklich aus, aber könnte sein dass es im Bereich der Zeilen 1194 1221 ist. k.a.

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Dezember 2014, 16:22:01
    Hi Eric,

    hmm... da erkennt man nur, dass er genau die Zeile 4573 anscheinend überspringt (bzw, das was da gemacht werden soll nicht ausgeführt wird). Ich bin momentan echt überfragt...

    Gibt es vorher oder nachher irgendwelche Fehlermeldungen bzgl. Sonos im Log?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 14 Dezember 2014, 17:03:04
    Hi

    @rapster danke

    ich komme nicht wirklich weiter
    habe in der console sudo perl fhem.pl fhem.cfg
    und jetz habe ich im log

    2014.12.14 16:57:41 1: Including fhem.cfg
    2014.12.14 16:57:41 1: WEB: Can't open server port at 8083: Die Adresse wird bereits verwendet. Exiting.


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 14 Dezember 2014, 17:09:21
    Hi m311331,

    die Fehlermeldung bedeutet das Fhem bereits läuft.

    Gib in der Fhem-Kommandozeile den Befehl "shutdown" ein, und anschließend nochmal.

    Das Log was Reinerlein braucht wird dir anschließend direkt ins Terminal reingeschrieben.
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 14 Dezember 2014, 18:03:48
    Hallo Reinerlein

    Der Punkt ist, dass wenn auf TV geschaltet wird die Variable $tempURI leer ist, dann springt er natürlich auf "else" und definiert das das Album auf sosnos_empty.jpg
    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Dezember 2014, 18:40:38
    Hi Eric,

    aber $tempURI ist nicht leer. Der dritte Ergebnis-Parameter des regulären Ausdrucks enthält dann "/fhem/sonos/cover/input_tv.jpg". Das Problem ist, dass dieser Aufruf von ProcessCover gar nicht am Ziel ankommt.
    Im Log müsste für diesen TV-Fall zweimal der Aufruf von ProcessCover drin stehen. Einmal wird empty erarbeitet, und beim zweitenmal würde er das TV-Cover setzen (es folgt noch ein dritter Aufruf für das Cover des nächsten Titels, erkennbar an der "1" als zweiten Parameter).

    So wie ich rapster verstanden habe (und sein Screenshot zeigt das auch), kann es kein prinzipielles Problem sein. Es gibt also jemanden wo es funktioniert... Wir müssen jetzt herausfinden, was bei deiner Installation falsch/anders läuft...

    Hast du vielleicht noch einen anderen Player mit einem Line-In-Eingang? Dann könntest du mal probieren, ob da das Default-Cover für den Eingang angezeigt wird (das Ding mit dem Stecker und dem Stück Kabel)...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 14 Dezember 2014, 19:17:44
    Hi rapster,

    warscheinlich bin ich zu deppert dafür
    aber ich komme nicht an den log

    habe das probiert
    Zitat
    Gib in der Fhem-Kommandozeile den Befehl "shutdown" ein, und anschließend nochmal.

    Das Log was Reinerlein braucht wird dir anschließend direkt ins Terminal reingeschrieben.

    ich habe per putty eine console auf und habe in /opt/fhem  sudo perl fhem.pl fhem.cfg ausgeführt

    in fhem
    set Sonos_Flur Speak +0 de Hier dann die Textnachricht


    aber ich bekomme keinen log ausser das was im eventmon steht und im fhem log  :(

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 14 Dezember 2014, 20:40:28
    Also bei mir ist es immer leer.

    Ich Habe noch einen Songs Connect, da über den Analogen Eingang. Auch hier wird empty.jpg genommen.

    currentTrackURI
    x-rincon-stream:RINCON_000E58AEB6EA01400

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 15 Dezember 2014, 01:25:03
    Hi m311331,

    du musst erstmal dein fhem beenden, dies kannst du über das init-Script machen, den Linux Prozess abschießen, über die Fhem Befehl 'shutdown', oder auf welche Art auch immer. Evtl. hilft dir auch das weiter => http://www.fhemwiki.de/wiki/Raspberry_Pi:_FHEM_starten/stoppen

    Dann in deiner Putty Sitzung im Verzeichnis /opt/fhem entweder als root "perl fhem.pl fhem.cfg" oder als Benutzer "sudo perl fhem.pl fhem.cfg" ausführen.

    Anschließend landet einiges an logging direkt in deinem Putty Fenster, selbst ohne dass du irgend einen Befehl in Fhem ausführst.

    Alternativ kannst du dein Init-Script unter /etc/init.d/... (warscheinlich /etc/init.d/fhem) anpassen und in der Zeile wo fhem gestartet wird stdout & stderr in eine Datei umlenken.
    z.B. in irgend einer Zeile des Init-scripts steht:
    perl fhem.pl fhem.cfg
    hieraus machst du dann ein:
    perl fhem.pl fhem.cfg >>log/stdout.log 2>&1
    Jetzt starte einfach mal deine Maschine neu, anschließend findest du die benötigte Ausgabe unter /opt/fhem/log/stdout.log
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 15 Dezember 2014, 10:16:12
    Hi rapster,


    vielen Dank !  :) für die kurze Anleitung
    werde es heute Abend probieren


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 15 Dezember 2014, 16:07:37
    Hallo Reinerlein
    Kann ich dies irgendwie Debugger oder geht dies nur mittels dem logfite?

    Ich habe die Songs Version 5.2 , die haben alle also rapstar auch, oder?

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Dezember 2014, 16:16:52
    Hallo Eric,

    ich habe die auch, und bei mir klappt das mit dem Input-Default-Icon auf jeden Fall...

    Du kannst nur das Log nach Fehlern im kompletten Ablauf durchforsten... Da muss irgendwas vorher sein...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 15 Dezember 2014, 16:18:21
    Läuft fhem unter root? Evtl liegts ja daran, mal probieren wenn nicht?
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 15 Dezember 2014, 17:10:58
    Fhem läuft nicht unter root - user hem.

    Und wie kann ich einfach Hem unter root laufen lassen?
    Grüsse
    Eric

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Dezember 2014, 17:31:25
    Hi Eric,

    du brauchst nur den User Fhem zu deaktivieren oder zu löschen.

    Deaktivieren:
    In der Datei /etc/passwd den Eintrag für den Benutzer Fhem ausmarkieren.
    Dann kannst du ihn später einfach wieder aktivieren...

    Löschen:

    sudo userdel fhem
    Dann ist er aber auch für immer weg...

    Einen Neustart der Kiste (nicht nur Fhem) nicht vergessen...

    Grüße
    Reinerleim
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 15 Dezember 2014, 18:35:46
    Hallo Reinerlein

    Definitiv hat es mit den User-Rechten zu tun.

    FHEM unter root -> läuft einwandfrei
    FHEM unter fhem -> kommt nur empty.jpg

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 15 Dezember 2014, 18:54:37
    Hi Reinerlein,

    hat etwas gedauert  ::) aber jetzt habe ich den logfile


    m311331@Home-Server:/opt/fhem$ Smartmatch is experimental at ./FHEM/00_SONOS.pm line 4177.
    Current: "fhem.pl", gPath: "./FHEM"
    Smartmatch is experimental at FHEM/00_SONOS.pm line 4177.
    Current: "FHEM/00_SONOS.pm", gPath: ""
    2014.12.15 18:48:05 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    2014.12.15 18:48:13 1: SONOS0: Connection accepted from localhost:55954
    2014.12.15 18:48:14 3: SONOS1: UPnP-Thread gestartet.
    2014.12.15 18:48:14 1: SONOS2: Restore-Thread gestartet. Warte auf Arbeit...
    2014.12.15 18:48:14 2: SONOS1: Discover Sonosplayer 'Flur' (S1) Software Revision 5.2 with ID 'RINCON_B8E9378F49E001400_MR'
    2014.12.15 18:48:14 2: SONOS1: SonosPlayer 'Flur' (S1) with ID 'RINCON_B8E9378F49E001400_MR' is already defined and will only be updated
    2014.12.15 18:48:14 2: SONOS1: SonosPlayer 'Flur' is now updated
    2014.12.15 18:48:14 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_B8E9378F49E001400_sub0000001770" and Timeout="86400s"
    2014.12.15 18:48:14 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49E001400_sub0000001771" and Timeout="86400s"
    2014.12.15 18:48:14 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49E001400_sub0000001772" and Timeout="86400s"
    2014.12.15 18:48:14 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49E001400_sub0000001773" and Timeout="86400s"
    2014.12.15 18:48:14 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49E001400_sub0000001774" and Timeout="86400s"
    2014.12.15 18:48:14 3: SONOS1: Discover: End of discover-event for "Flur".
    2014.12.15 18:48:14 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:14 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:14 2: SONOS1: Discover Sonosplayer 'Wohnzimmer' (S3) Software Revision 5.2 with ID 'RINCON_B8E9373F83EC01400_MR'
    2014.12.15 18:48:15 2: SONOS1: SonosPlayer 'Wohnzimmer' (S3) with ID 'RINCON_B8E9373F83EC01400_MR' is already defined and will only be updated
    2014.12.15 18:48:15 2: SONOS1: SonosPlayer 'Wohnzimmer' is now updated
    2014.12.15 18:48:15 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_B8E9373F83EC01400_sub0000000726" and Timeout="86400s"
    2014.12.15 18:48:15 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_B8E9373F83EC01400_sub0000000727" and Timeout="86400s"
    2014.12.15 18:48:15 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_B8E9373F83EC01400_sub0000000728" and Timeout="86400s"
    2014.12.15 18:48:15 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_B8E9373F83EC01400_sub0000000729" and Timeout="86400s"
    2014.12.15 18:48:15 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_B8E9373F83EC01400_sub0000000730" and Timeout="86400s"
    2014.12.15 18:48:15 3: SONOS1: Discover: End of discover-event for "Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 2: SONOS1: Discover Sonosplayer 'Bad' (S1) Software Revision 5.2 with ID 'RINCON_B8E93782C0E601400_MR'
    2014.12.15 18:48:15 2: SONOS1: SonosPlayer 'Bad' (S1) with ID 'RINCON_B8E93782C0E601400_MR' is already defined and will only be updated
    2014.12.15 18:48:15 2: SONOS1: SonosPlayer 'Bad' is now updated
    2014.12.15 18:48:15 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_B8E93782C0E601400_sub0000002040" and Timeout="86400s"
    2014.12.15 18:48:15 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_B8E93782C0E601400_sub0000002041" and Timeout="86400s"
    2014.12.15 18:48:15 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_B8E93782C0E601400_sub0000002042" and Timeout="86400s"
    2014.12.15 18:48:15 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_B8E93782C0E601400_sub0000002043" and Timeout="86400s"
    2014.12.15 18:48:15 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_B8E93782C0E601400_sub0000002044" and Timeout="86400s"
    2014.12.15 18:48:15 3: SONOS1: Discover: End of discover-event for "Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Bad".


    hoffe du kannst mir damit helfen ?


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Dezember 2014, 19:05:09
    Hi m311331,

    im Prinzip ist es das, was ich sehen möchte. Allerdings müsstest du noch den Verbose-Level auf 5 setzen, und dann einen Speak-Aufruf durchführen.

    Auf diesem Level sieht man schonmal, dass kein "Fehler" geloggt wurde, allerdings sieht man nicht was er so macht. Und hier brauchen wir ja die Info, was er noch macht, und was nicht mehr...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Dezember 2014, 19:07:30
    Hi Eric,

    Das ist echt komisch, da die beiden Bilder auf die gleiche Art geladen werden... An dieser Stelle ist auf den ersten Blick nix drin, was root-Rechte brauchen sollte...

    Naja, jetzt geht es ja :-)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 15 Dezember 2014, 19:13:47
    Hallo Reinerlein

    Ich habe daraufhin im fhem directory nochmals den Befehl
    chmod -R a+w fhem
    durchgeführt. Jetzt läuft es auch mit dem fhem user.
    nun ist es bereinigt.

    Vielen Dank und Grüsse
    Eric


    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 15 Dezember 2014, 19:36:09
    Hi Reinerlein,

    gerade gemacht hier der output


    m311331@Home-Server:/opt/fhem$ Smartmatch is experimental at ./FHEM/00_SONOS.pm line 4177.
    Current: "fhem.pl", gPath: "./FHEM"
    Smartmatch is experimental at FHEM/00_SONOS.pm line 4177.
    Current: "FHEM/00_SONOS.pm", gPath: ""
    2014.12.15 19:32:58 0: SONOS0: Can't bind Port 4711: Bind failed: Die Adresse wird bereits verwendet at FHEM/00_SONOS.pm line 5904.

    2014.12.15 19:32:58 0: SONOS0: Retries left (wait 30s): 9
    ^C
    manu@Home-Server:/opt/fhem$ 2014.12.15 19:33:28 0: SONOS0: Can't bind Port 4711: Bind failed: Die Adresse wird bereits verwendet at FHEM/00_SONOS.pm line 5904.

    2014.12.15 19:33:28 0: SONOS0: Retries left (wait 30s): 8
    2014.12.15 19:33:58 1: SONOS0: FHEM/00_SONOS.pm is listening to Port 4711
    2014.12.15 19:34:07 1: SONOS0: Connection accepted from localhost:56347
    2014.12.15 19:34:08 3: SONOS1: UPnP-Thread gestartet.
    2014.12.15 19:34:08 1: SONOS2: Restore-Thread gestartet. Warte auf Arbeit...
    2014.12.15 19:34:09 2: SONOS1: Discover Sonosplayer 'Bad' (S1) Software Revision 5.2 with ID 'RINCON_B8E93782C0E601400_MR'
    2014.12.15 19:34:09 2: SONOS1: SonosPlayer 'Bad' (S1) with ID 'RINCON_B8E93782C0E601400_MR' is already defined and will only be updated
    2014.12.15 19:34:09 2: SONOS1: SonosPlayer 'Bad' is now updated
    2014.12.15 19:34:09 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_B8E93782C0E601400_sub0000002076" and Timeout="86400s"
    2014.12.15 19:34:09 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_B8E93782C0E601400_sub0000002077" and Timeout="86400s"
    2014.12.15 19:34:09 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_B8E93782C0E601400_sub0000002078" and Timeout="86400s"
    2014.12.15 19:34:09 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_B8E93782C0E601400_sub0000002079" and Timeout="86400s"
    2014.12.15 19:34:09 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_B8E93782C0E601400_sub0000002080" and Timeout="86400s"
    2014.12.15 19:34:09 3: SONOS1: Discover: End of discover-event for "Bad".
    2014.12.15 19:34:09 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2014.12.15 19:34:09 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2014.12.15 19:34:09 2: SONOS1: Discover Sonosplayer 'Eingang' (S1) Software Revision 5.2 with ID 'RINCON_B8E9378F49A001400_MR'
    2014.12.15 19:34:11 2: SONOS1: SonosPlayer 'Eingang' (S1) with ID 'RINCON_B8E9378F49A001400_MR' is already defined and will only be updated
    2014.12.15 19:34:11 2: SONOS1: SonosPlayer 'Eingang' is now updated
    2014.12.15 19:34:11 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_B8E9378F49A001400_sub0000001735" and Timeout="86400s"
    2014.12.15 19:34:11 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49A001400_sub0000001736" and Timeout="86400s"
    2014.12.15 19:34:11 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49A001400_sub0000001737" and Timeout="86400s"
    2014.12.15 19:34:11 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49A001400_sub0000001738" and Timeout="86400s"
    2014.12.15 19:34:11 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49A001400_sub0000001739" and Timeout="86400s"
    2014.12.15 19:34:11 3: SONOS1: Discover: End of discover-event for "Eingang".
    2014.12.15 19:34:11 2: SONOS1: Discover Sonosplayer 'Flur' (S1) Software Revision 5.2 with ID 'RINCON_B8E9378F49E001400_MR'
    2014.12.15 19:34:11 2: SONOS1: SonosPlayer 'Flur' (S1) with ID 'RINCON_B8E9378F49E001400_MR' is already defined and will only be updated
    2014.12.15 19:34:11 2: SONOS1: SonosPlayer 'Flur' is now updated
    2014.12.15 19:34:11 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_B8E9378F49E001400_sub0000001806" and Timeout="86400s"
    2014.12.15 19:34:11 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49E001400_sub0000001807" and Timeout="86400s"
    2014.12.15 19:34:11 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49E001400_sub0000001808" and Timeout="86400s"
    2014.12.15 19:34:11 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49E001400_sub0000001809" and Timeout="86400s"
    2014.12.15 19:34:11 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_B8E9378F49E001400_sub0000001810" and Timeout="86400s"
    2014.12.15 19:34:11 3: SONOS1: Discover: End of discover-event for "Flur".
    2014.12.15 19:34:11 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Bad".
    2014.12.15 19:34:11 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Bad".
    2014.12.15 19:34:11 2: SONOS1: Discover Sonosplayer 'Wohnzimmer' (S3) Software Revision 5.2 with ID 'RINCON_B8E9373F83EC01400_MR'
    2014.12.15 19:34:12 2: SONOS1: SonosPlayer 'Wohnzimmer' (S3) with ID 'RINCON_B8E9373F83EC01400_MR' is already defined and will only be updated
    2014.12.15 19:34:12 2: SONOS1: SonosPlayer 'Wohnzimmer' is now updated
    2014.12.15 19:34:12 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_B8E9373F83EC01400_sub0000000752" and Timeout="86400s"
    2014.12.15 19:34:12 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_B8E9373F83EC01400_sub0000000753" and Timeout="86400s"
    2014.12.15 19:34:12 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_B8E9373F83EC01400_sub0000000754" and Timeout="86400s"
    2014.12.15 19:34:12 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_B8E9373F83EC01400_sub0000000755" and Timeout="86400s"
    2014.12.15 19:34:12 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_B8E9373F83EC01400_sub0000000756" and Timeout="86400s"
    2014.12.15 19:34:12 3: SONOS1: Discover: End of discover-event for "Wohnzimmer".
    2014.12.15 19:34:12 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Eingang".
    2014.12.15 19:34:12 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Eingang".
    2014.12.15 19:34:12 2: SONOS1: Discover Sonosplayer 'Waschküche' (S1) Software Revision 5.2 with ID 'RINCON_B8E93782C16801400_MR'
    2014.12.15 19:34:14 2: SONOS1: SonosPlayer 'Waschkueche' (S1) with ID 'RINCON_B8E93782C16801400_MR' is already defined and will only be updated
    2014.12.15 19:34:14 2: SONOS1: SonosPlayer 'Waschkueche' is now updated
    2014.12.15 19:34:14 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000001502" and Timeout="86400s"
    2014.12.15 19:34:14 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000001503" and Timeout="86400s"
    2014.12.15 19:34:14 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000001504" and Timeout="86400s"
    2014.12.15 19:34:14 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000001505" and Timeout="86400s"
    2014.12.15 19:34:14 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000001506" and Timeout="86400s"
    2014.12.15 19:34:14 3: SONOS1: Discover: End of discover-event for "Waschküche".
    2014.12.15 19:34:14 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.15 19:34:14 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Flur".



    oder soll ich länger warten beim output ?


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Dezember 2014, 19:43:07
    Hi m311331,

    das ist immer noch nicht der Level 5. Da müssten wirklich viele Logausgaben kommen (ich denke mal zusammen mehr als 1000 Zeilen...).

    Am Sonos-Device verbose auf 5 setzen, oder global, dann aber keinen Wert am Sonos-Device...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 15 Dezember 2014, 20:09:17
    Hi Reinerlein,

    Zitat
    Am Sonos-Device verbose auf 5 setzen
    aber ich habe schon am Device verbose auf 5 gestellt  :o


    -edit-
    ich mache es so wie von repster beschrieben
    in fhem den speak befehl absetzen (kurz warten 5sec.)
    dann fhem "shutdown"

    in der putty console im richtigen verzeichnis "sudo perl fhem.pl fhem.cfg"
    und der output wird in der console angezeigt 
    -edit-

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Dezember 2014, 21:09:42
    Hi 311331,

    ok, falsche Reihenfolge, aber trotzdem nicht verbose 5...

    Du musst erst den Prozess auf der Konsole neustarten, dann deinen Speak-Befehl ausführen, sonst kann es ja nicht im Konsolen-Log vorkommen, sondern ist ja schon passiert...

    Aber trotzdem sind die Ausgaben nicht auf Level 5. Das wären auf jeden Fall viel mehr... Vielleicht hast du Verbose an einem Playerdevice gesetzt? Es muss am Sonos-Device gesetzt werden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 15 Dezember 2014, 22:05:05
    und ein save vor dem shutdown nicht vergessen...
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 16 Dezember 2014, 18:01:47
    Hi Reinerlein,

    Danke für die Hilfe !

    @der-Lolo
    ;)

    habe jetzt verbose 5 beim Sonos Device eingestellt und
    hier der log

    mber UUID="RINCON_B8E93782C16801400" Location="http://192.168.0.65:1400/xml/device_description.xml" ZoneName="Waschküche" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="28.1-83040" MinCompatibleVersion="27.0-00000" LegacyCompatibleVersion="24.0-0000" BootSeq="10" WirelessMode="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1"/></ZoneGroup></ZoneGroups>
    2014.12.16 17:52:25 4: SONOS1: Retrieved TopoType:
    2014.12.16 17:52:25 4: SONOS1: Retrieve Current Volumelevels. Master: "17", Balance: "0"
    2014.12.16 17:52:25 2: SONOS1: SonosPlayer 'Waschkueche' (S1) with ID 'RINCON_B8E93782C16801400_MR' is already defined and will only be updated
    2014.12.16 17:52:25 2: SONOS1: SonosPlayer 'Waschkueche' is now updated
    2014.12.16 17:52:25 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000000063" and Timeout="86400s"
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, minVolume, -1) -> 0
    2014.12.16 17:52:25 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000000064" and Timeout="86400s"
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, getAlarms, 0) -> 1
    2014.12.16 17:52:25 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000000065" and Timeout="86400s"
    2014.12.16 17:52:25 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000000066" and Timeout="86400s"
    2014.12.16 17:52:25 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000000067" and Timeout="86400s"
    2014.12.16 17:52:25 3: SONOS1: Discover: End of discover-event for "Waschküche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: Alarm-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, AlarmListVersion, ~~) -> RINCON_B8E9378F49E001400:0
    2014.12.16 17:52:25 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: ZoneGroupTopology-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, ZonePlayerUUIDsInGroup, ) -> RINCON_B8E93782C16801400
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, ZoneGroupID, ) -> RINCON_B8E93782C16801400:__
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, fieldType, ) ->
    2014.12.16 17:52:25 4: SONOS1: Retrieved TopoType:
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, ZoneGroupName, ) -> Waschküche
    2014.12.16 17:52:25 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: DeviceProperties-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, roomName, ) -> Waschküche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, characterDecoding, CP-1252) -> DEFAULT
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, roomIcon, ) -> kitchen
    2014.12.16 17:52:25 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: Rendering-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: Rendering-Event: LastChange: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volume channel="Master" val="17"/><Volume channel="LF" val="100"/><Volume channel="RF" val="100"/><Mute channel="Master" val="0"/><Mute channel="LF" val="0"/><Mute channel="RF" val="0"/><Bass val="0"/><Treble val="0"/><Loudness channel="Master" val="1"/><OutputFixed val="0"/><HeadphoneConnected val="0"/><SpeakerSize val="5"/><SubGain val="0"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="1"/><PresetNameList val="FactoryDefaults"/></InstanceID></Event>
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, generateVolumeEvent, 0) -> DEFAULT
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Mute, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, HeadphoneConnected, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Balance, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Volume, 0) -> 17
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Loudness, 0) -> 1
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Bass, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Treble, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: Rendering-Event: Current Values for 'Sonos_Waschkueche' ~ Volume: 17, HeadphoneConnected: 0, Bass: 0, Treble: 0, Balance: 0, Loudness: 1, Mute: 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, minVolume, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, maxVolume, 100) -> DEFAULT
    2014.12.16 17:52:25 4: SONOS1: Rendering-Event: Current Borders for 'Sonos_Waschkueche' ~ minVolume: 0, maxVolume: 100
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, buttonEvents, ) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: GroundURL: http://192.168.0.65:1400
    2014.12.16 17:52:25 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="0"/><CurrentTrack val="0"/><CurrentSection val="0"/><CurrentTrackURI val=""/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val=""/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val=""/><r:EnqueuedTransportURIMetaData val=""/><PlaybackStorageMedium val="NONE"/><AVTransportURI val=""/><AVTransportURIMetaData val=""/><NextAVTransportURI val=""/><NextAVTransportURIMetaData val=""/><CurrentTransportActions val="Set, Play, Stop, Pause, Seek, Next, Previous"/><r:CurrentValidPlayModes val=""/><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>
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, SleepTimerVersion, ) -> 0
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: CurrentTrackMetaData:
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: Normal erkannt!
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: NextTrackMetaData:
    2014.12.16 17:52:25 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f548c863c80)
    2014.12.16 17:52:25 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: Alarm-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, AlarmListVersion, ~~) -> RINCON_B8E9378F49E001400:0
    2014.12.16 17:52:25 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Waschkueche".
    {"status":1,"request":"5075e6e8ad3ddefaa4c70de0471d0eb3"}2014.12.16 17:52:31 1: SONOS0: Connection accepted from localhost:60547
    2014.12.16 17:52:31 5: SONOS0: Received: 'hello'
    2014.12.16 17:52:31 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"aa48208e9ecaa2e71cc6dd27241e8d9f"}{"status":1,"request":"f58bd4a404046f5cade9f46cbb881d1d"}2014.12.16 17:53:01 1: SONOS0: Connection accepted from localhost:60551
    2014.12.16 17:53:01 5: SONOS0: Received: 'hello'
    2014.12.16 17:53:01 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"042027ba78258055e1dc998a4878970d"}2014.12.16 17:53:20 5: SONOS0: Received: 'DoWork:RINCON_B8E9378F49E001400_MR:speak0:+0,de, Hier dann die Textnachricht'
    2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileHashCache, 0) -> DEFAULT
    2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileTimestamp, 0) -> 1
    2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakDir, .) -> /mnt/SonosSpeak
    2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakURL, ) -> \\192.168.0.91\SonosSpeak
    2014.12.16 17:53:20 5: SONOS1: Chunks: [' Hier dann die Textnachricht']
    2014.12.16 17:53:20 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Hier%20dann%20die%20Textnachricht" to "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp31"
    2014.12.16 17:53:20 3: SONOS1: Combine loaded chunks into "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp3"
    Use of uninitialized value in concatenation (.) or string at FHEM/00_SONOS.pm line 3020, <$client> line 8.
    2014.12.16 17:53:31 1: SONOS0: Connection accepted from localhost:60558
    2014.12.16 17:53:31 5: SONOS0: Received: 'hello'
    2014.12.16 17:53:31 5: SONOS0: Received: 'goaway'
    2014.12.16 17:54:01 1: SONOS0: Connection accepted from localhost:60560
    2014.12.16 17:54:01 5: SONOS0: Received: 'hello'
    2014.12.16 17:54:01 5: SONOS0: Received: 'goaway'
    m311331@Home-Server:/opt/fhem$
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: Normal erkannt!
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: Transport-Event: CurrentTrackMetaData:
    2014.12.16 17:53:20 3: SONOS1: Combine loaded chunks into "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp3"
    Use of uninitialized value in concatenation (.) or string at FHEM/00_SONOS.pm line 3020, <$client> line 8.
    2014.12.16 17:53:31 1: SONOS0: Connection accepted from localhost:60558
    2014.12.16 17:53:31 5: SONOS0: Received: 'hello'
    2014.12.16 17:53:31 5: SONOS0: Received: 'goaway'
    2014.12.16 17:54:01 1: SONOS0: Connection accepted from localhost:60560
    2014.12.16 17:54:01 5: SONOS0: Received: 'hello'
    2014.12.16 17:54:01 5: SONOS0: Received: 'goaway'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: Transport-Event: Normal erkannt!
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: Transport-Event: NextTrackMetaData:
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f548c863c80)
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Waschkueche".
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Waschkueche".
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: Alarm-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, AlarmListVersion, ~~) -> RINCON_B8E9378F49E001400:0
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Waschkueche".
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ {"status":1,"request":"5075e6e8ad3ddefaa4c70de0471d0eb3"}2014.12.16 17:52:31 1: SONOS0: Connection accepted from localhost:60547
    status:12014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:31 5: SONOS0: Received: 'hello'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:31 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"f427800943e5a2d63fc4b0f9a4c1fb5c"}2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ {"status":1,"request":"aa48208e9ecaa2e71cc6dd27241e8d9f"}{"status":1,"request":"f58bd4a404046f5cade9f46cbb881d1d"}2014.12.16 17:53:01 1: SONOS0: Connection accepted from localhost:60551
    status:1status:12014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:01 5: SONOS0: Received: 'hello'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:01 5: SONOS0: Received: 'goaway'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ {"status":1,"request":"042027ba78258055e1dc998a4878970d"}2014.12.16 17:53:20 5: SONOS0: Received: 'DoWork:RINCON_B8E9378F49E001400_MR:speak0:+0,de, Hier dann die Textnachricht'
    status:12014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileHashCache, 0) -> DEFAULT
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileTimestamp, 0) -> 1
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakDir, .) -> /mnt/SonosSpeak
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakURL, ) -> \\192.168.0.91\SonosSpeak
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 5: SONOS1: Chunks: [' Hier dann die Textnachricht']
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Hier%20dann%20die%20Textnachricht" to "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp31"
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 3: SONOS1: Combine loaded chunks into "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp3"
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ Use of uninitialized value in concatenation (.) or string at FHEM/00_SONOS.pm line 3020, <$client> line 8.
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:31 1: SONOS0: Connection accepted from localhost:60558
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:31 5: SONOS0: Received: 'hello'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:31 5: SONOS0: Received: 'goaway'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:54:01 1: SONOS0: Connection accepted from localhost:60560
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:54:01 5: SONOS0: Received: 'hello'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:54:01 5: SONOS0: Received: 'goaway'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:54:31 1: SONOS0: Connection accepted from localhost:60567
    2014.12.16 17:54:31 5: SONOS0: Received: 'hello'
    2014.12.16 17:54:31 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"eb3390c620700beac519c7522ff54a30"}{"status":1,"request":"b13c0cde261d09111aacd60b22a35194"}2014.12.16 17:55:01 1: SONOS0: Connection accepted from localhost:60570
    2014.12.16 17:55:01 5: SONOS0: Received: 'hello'
    2014.12.16 17:55:01 5: SONOS0: Received: 'goaway'
    2014.12.16 17:55:31 1: SONOS0: Connection accepted from localhost:60575
    2014.12.16 17:55:31 5: SONOS0: Received: 'hello'
    2014.12.16 17:55:31 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"372fc8788afe5b678e3dfef0679ce107"}2014.12.16 17:56:01 1: SONOS0: Connection accepted from localhost:60577
    2014.12.16 17:56:01 5: SONOS0: Received: 'hello'
    2014.12.16 17:56:01 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"9075d82618aeb40c6fb119ac97a81024"}




    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Dezember 2014, 18:21:11
    Hi m311331,

    gibt es denn die Datei "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp31" oder "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp3" mit Inhalt (also ungleich 0 Bytes)?

    Er hat ein Problem damit diese Datei zu lesen. Die Meldung mit der Zeile 3020 (uninitialized value) ist das Ergebnis des Lesevorgangs der Datei. Da konnte Perl nix einlesen, sodass sich die Frage stellt, ob da überhaupt was hingeschrieben wurde...

    Für mich sieht das stark nach Rechten aus. Kannst du testweise Fhem mal als Root laufen lassen?
    Dazu musst du den Benutzer fhem in der "/etc/passwd" ausmarkieren, und die Maschine (nicht nur Fhem) neustarten...

    Wenn es dann geht, dann musst du nochmal prüfen, ob der Benutzer "fhem" in die Verzeichnisse schreiben und daraus lesen darf...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 16 Dezember 2014, 21:01:01
    Hi Reinerlein,

    ich muß sagen das dein Support echt super ist !!! VIELEN DANK dafür  :)

    also ich habe jetzt mal die rechte auf den Ordner /mnt/Speak so gesetzt das jeder schreiben und lesen darf
    der .mp3 file wird auch erstellt aber ich bekomme noch nichts aus den Lautsprechern  :(

    hier mal der neue log
    mber UUID="RINCON_B8E93782C16801400" Location="http://192.168.0.65:1400/xml/device_description.xml" ZoneName="Waschküche" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="28.1-83040" MinCompatibleVersion="27.0-00000" LegacyCompatibleVersion="24.0-0000" BootSeq="10" WirelessMode="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1"/></ZoneGroup></ZoneGroups>
    2014.12.16 17:52:25 4: SONOS1: Retrieved TopoType:
    2014.12.16 17:52:25 4: SONOS1: Retrieve Current Volumelevels. Master: "17", Balance: "0"
    2014.12.16 17:52:25 2: SONOS1: SonosPlayer 'Waschkueche' (S1) with ID 'RINCON_B8E93782C16801400_MR' is already defined and will only be updated
    2014.12.16 17:52:25 2: SONOS1: SonosPlayer 'Waschkueche' is now updated
    2014.12.16 17:52:25 2: SONOS1: Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000000063" and Timeout="86400s"
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, minVolume, -1) -> 0
    2014.12.16 17:52:25 2: SONOS1: Rendering-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000000064" and Timeout="86400s"
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, getAlarms, 0) -> 1
    2014.12.16 17:52:25 2: SONOS1: Alarm-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000000065" and Timeout="86400s"
    2014.12.16 17:52:25 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000000066" and Timeout="86400s"
    2014.12.16 17:52:25 2: SONOS1: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_B8E93782C16801400_sub0000000067" and Timeout="86400s"
    2014.12.16 17:52:25 3: SONOS1: Discover: End of discover-event for "Waschküche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: Alarm-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, AlarmListVersion, ~~) -> RINCON_B8E9378F49E001400:0
    2014.12.16 17:52:25 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: ZoneGroupTopology-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, ZonePlayerUUIDsInGroup, ) -> RINCON_B8E93782C16801400
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, ZoneGroupID, ) -> RINCON_B8E93782C16801400:__
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, fieldType, ) ->
    2014.12.16 17:52:25 4: SONOS1: Retrieved TopoType:
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, ZoneGroupName, ) -> Waschküche
    2014.12.16 17:52:25 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: DeviceProperties-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, roomName, ) -> Waschküche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, characterDecoding, CP-1252) -> DEFAULT
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, roomIcon, ) -> kitchen
    2014.12.16 17:52:25 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: Rendering-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: Rendering-Event: LastChange: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volume channel="Master" val="17"/><Volume channel="LF" val="100"/><Volume channel="RF" val="100"/><Mute channel="Master" val="0"/><Mute channel="LF" val="0"/><Mute channel="RF" val="0"/><Bass val="0"/><Treble val="0"/><Loudness channel="Master" val="1"/><OutputFixed val="0"/><HeadphoneConnected val="0"/><SpeakerSize val="5"/><SubGain val="0"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="1"/><PresetNameList val="FactoryDefaults"/></InstanceID></Event>
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, generateVolumeEvent, 0) -> DEFAULT
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Mute, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, HeadphoneConnected, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Balance, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Volume, 0) -> 17
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Loudness, 0) -> 1
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Bass, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, Treble, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: Rendering-Event: Current Values for 'Sonos_Waschkueche' ~ Volume: 17, HeadphoneConnected: 0, Bass: 0, Treble: 0, Balance: 0, Loudness: 1, Mute: 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, minVolume, 0) -> 0
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, maxVolume, 100) -> DEFAULT
    2014.12.16 17:52:25 4: SONOS1: Rendering-Event: Current Borders for 'Sonos_Waschkueche' ~ minVolume: 0, maxVolume: 100
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, buttonEvents, ) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: GroundURL: http://192.168.0.65:1400
    2014.12.16 17:52:25 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="0"/><CurrentTrack val="0"/><CurrentSection val="0"/><CurrentTrackURI val=""/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val=""/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val=""/><r:EnqueuedTransportURIMetaData val=""/><PlaybackStorageMedium val="NONE"/><AVTransportURI val=""/><AVTransportURIMetaData val=""/><NextAVTransportURI val=""/><NextAVTransportURIMetaData val=""/><CurrentTransportActions val="Set, Play, Stop, Pause, Seek, Next, Previous"/><r:CurrentValidPlayModes val=""/><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>
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, SleepTimerVersion, ) -> 0
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: CurrentTrackMetaData:
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: Normal erkannt!
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: NextTrackMetaData:
    2014.12.16 17:52:25 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f548c863c80)
    2014.12.16 17:52:25 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 17:52:25 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Waschkueche".
    2014.12.16 17:52:25 4: SONOS1: Alarm-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, AlarmListVersion, ~~) -> RINCON_B8E9378F49E001400:0
    2014.12.16 17:52:25 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Waschkueche".
    {"status":1,"request":"5075e6e8ad3ddefaa4c70de0471d0eb3"}2014.12.16 17:52:31 1: SONOS0: Connection accepted from localhost:60547
    2014.12.16 17:52:31 5: SONOS0: Received: 'hello'
    2014.12.16 17:52:31 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"aa48208e9ecaa2e71cc6dd27241e8d9f"}{"status":1,"request":"f58bd4a404046f5cade9f46cbb881d1d"}2014.12.16 17:53:01 1: SONOS0: Connection accepted from localhost:60551
    2014.12.16 17:53:01 5: SONOS0: Received: 'hello'
    2014.12.16 17:53:01 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"042027ba78258055e1dc998a4878970d"}2014.12.16 17:53:20 5: SONOS0: Received: 'DoWork:RINCON_B8E9378F49E001400_MR:speak0:+0,de, Hier dann die Textnachricht'
    2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileHashCache, 0) -> DEFAULT
    2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileTimestamp, 0) -> 1
    2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakDir, .) -> /mnt/SonosSpeak
    2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakURL, ) -> \\192.168.0.91\SonosSpeak
    2014.12.16 17:53:20 5: SONOS1: Chunks: [' Hier dann die Textnachricht']
    2014.12.16 17:53:20 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Hier%20dann%20die%20Textnachricht" to "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp31"
    2014.12.16 17:53:20 3: SONOS1: Combine loaded chunks into "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp3"
    Use of uninitialized value in concatenation (.) or string at FHEM/00_SONOS.pm line 3020, <$client> line 8.
    2014.12.16 17:53:31 1: SONOS0: Connection accepted from localhost:60558
    2014.12.16 17:53:31 5: SONOS0: Received: 'hello'
    2014.12.16 17:53:31 5: SONOS0: Received: 'goaway'
    2014.12.16 17:54:01 1: SONOS0: Connection accepted from localhost:60560
    2014.12.16 17:54:01 5: SONOS0: Received: 'hello'
    2014.12.16 17:54:01 5: SONOS0: Received: 'goaway'
    m311331@Home-Server:/opt/fhem$
    2014.12.16 17:52:25 4: SONOS1: Transport-Event: Normal erkannt!
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: Transport-Event: CurrentTrackMetaData:
    2014.12.16 17:53:20 3: SONOS1: Combine loaded chunks into "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp3"
    Use of uninitialized value in concatenation (.) or string at FHEM/00_SONOS.pm line 3020, <$client> line 8.
    2014.12.16 17:53:31 1: SONOS0: Connection accepted from localhost:60558
    2014.12.16 17:53:31 5: SONOS0: Received: 'hello'
    2014.12.16 17:53:31 5: SONOS0: Received: 'goaway'
    2014.12.16 17:54:01 1: SONOS0: Connection accepted from localhost:60560
    2014.12.16 17:54:01 5: SONOS0: Received: 'hello'
    2014.12.16 17:54:01 5: SONOS0: Received: 'goaway'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: Transport-Event: Normal erkannt!
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: Transport-Event: NextTrackMetaData:
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f548c863c80)
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Waschkueche".
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, def, NAME, RINCON_B8E93782C16801400_MR) -> Sonos_Waschkueche
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, attr, disable, 0) -> DEFAULT
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Waschkueche".
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: Alarm-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E93782C16801400_MR'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E93782C16801400_MR, reading, AlarmListVersion, ~~) -> RINCON_B8E9378F49E001400:0
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:25 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Waschkueche".
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ {"status":1,"request":"5075e6e8ad3ddefaa4c70de0471d0eb3"}2014.12.16 17:52:31 1: SONOS0: Connection accepted from localhost:60547
    status:12014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:31 5: SONOS0: Received: 'hello'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:52:31 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"f427800943e5a2d63fc4b0f9a4c1fb5c"}2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ {"status":1,"request":"aa48208e9ecaa2e71cc6dd27241e8d9f"}{"status":1,"request":"f58bd4a404046f5cade9f46cbb881d1d"}2014.12.16 17:53:01 1: SONOS0: Connection accepted from localhost:60551
    status:1status:12014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:01 5: SONOS0: Received: 'hello'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:01 5: SONOS0: Received: 'goaway'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ {"status":1,"request":"042027ba78258055e1dc998a4878970d"}2014.12.16 17:53:20 5: SONOS0: Received: 'DoWork:RINCON_B8E9378F49E001400_MR:speak0:+0,de, Hier dann die Textnachricht'
    status:12014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileHashCache, 0) -> DEFAULT
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileTimestamp, 0) -> 1
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakDir, .) -> /mnt/SonosSpeak
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakURL, ) -> \\192.168.0.91\SonosSpeak
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 5: SONOS1: Chunks: [' Hier dann die Textnachricht']
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Hier%20dann%20die%20Textnachricht" to "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp31"
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:20 3: SONOS1: Combine loaded chunks into "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-175320.mp3"
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ Use of uninitialized value in concatenation (.) or string at FHEM/00_SONOS.pm line 3020, <$client> line 8.
    -bash: Syntaxfehler beim unerwarteten Wort »(«
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:31 1: SONOS0: Connection accepted from localhost:60558
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:31 5: SONOS0: Received: 'hello'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:53:31 5: SONOS0: Received: 'goaway'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:54:01 1: SONOS0: Connection accepted from localhost:60560
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:54:01 5: SONOS0: Received: 'hello'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:54:01 5: SONOS0: Received: 'goaway'
    2014.12.16: Befehl nicht gefunden.
    m311331@Home-Server:/opt/fhem$ 2014.12.16 17:54:31 1: SONOS0: Connection accepted from localhost:60567
    2014.12.16 17:54:31 5: SONOS0: Received: 'hello'
    2014.12.16 17:54:31 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"eb3390c620700beac519c7522ff54a30"}{"status":1,"request":"b13c0cde261d09111aacd60b22a35194"}2014.12.16 17:55:01 1: SONOS0: Connection accepted from localhost:60570
    2014.12.16 17:55:01 5: SONOS0: Received: 'hello'
    2014.12.16 17:55:01 5: SONOS0: Received: 'goaway'
    2014.12.16 17:55:31 1: SONOS0: Connection accepted from localhost:60575
    2014.12.16 17:55:31 5: SONOS0: Received: 'hello'
    2014.12.16 17:55:31 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"372fc8788afe5b678e3dfef0679ce107"}2014.12.16 17:56:01 1: SONOS0: Connection accepted from localhost:60577
    2014.12.16 17:56:01 5: SONOS0: Received: 'hello'
    2014.12.16 17:56:01 5: SONOS0: Received: 'goaway'
    {"status":1,"request":"9075d82618aeb40c6fb119ac97a81024"}



    mfg. m311331


    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 16 Dezember 2014, 21:07:22
    Hi m311331,

    mach mal ein
    ls -la /mnt/SonosSpeak
    das -l ist ein kleines L
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Dezember 2014, 21:16:34
    Hi m311331,

    da stimmt immer noch was mit den Rechten nicht.
    Setz mal die Rechte mit

    sudo chmod 777 /mnt/SonosSpeak
    Damit erhält jeder alle Rechte...

    Grüße
    Reinerlein

    P.S.: @Claudiu: Du bist zu schnell für mich :)
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 16 Dezember 2014, 21:21:22
    Hi ihr beiden,


    das hatte ich vorher schon gemacht
    aber moment ich
    Zitatm311331@Home-Server:/opt/fhem$ ls -l /mnt/SonosSpeak
    insgesamt 48
    -rw-r--r-- 1 fhem dialout 22528 Dez 16 20:51 RINCON_B8E9378F49E001400_MR_Speak_20141216-205148.mp3
    -rw-r--r-- 1 fhem dialout 22528 Dez 16 20:54 RINCON_B8E9378F49E001400_MR_Speak_20141216-205424.mp3
    :o

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 16 Dezember 2014, 21:25:23
    Die Rechte auf die Files passen zumindest,
    mach mal bitte noch ein
    ls -la /mnt/SonosSpeak

    und ein

    cat /etc/samba/smb.conf


    @Reinerlein:  ;D, wenns denn nur immer/überall so schnell ginge  ;)
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 16 Dezember 2014, 21:25:45
    hier noch der Log

    m311331@Home-Server:/$ sudo chmod 777 /mnt/SonosSpeak
    m311331@Home-Server:/$ 2014.12.16 21:23:03 1: SONOS0: Connection accepted from localhost:34313
    2014.12.16 21:23:03 5: SONOS0: Received: 'hello'
    2014.12.16 21:23:03 5: SONOS0: Received: 'goaway'
    2014.12.16 21:23:25 5: SONOS0: Received: 'DoWork:RINCON_B8E9378F49E001400_MR:speak0:+0,de, Hier dann die Textnachricht'
    2014.12.16 21:23:26 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileHashCache, 0) -> DEFAULT
    2014.12.16 21:23:26 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileTimestamp, 0) -> 1
    2014.12.16 21:23:26 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakDir, .) -> /mnt/SonosSpeak
    2014.12.16 21:23:26 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakURL, ) -> \\192.168.0.91\SonosSpeak
    2014.12.16 21:23:26 5: SONOS1: Chunks: [' Hier dann die Textnachricht']
    2014.12.16 21:23:26 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Hier%20dann%20die%20Textnachricht" to "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp31"
    2014.12.16 21:23:26 3: SONOS1: Combine loaded chunks into "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3"
    2014.12.16 21:23:26 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, SpeakCover, /opt/fhem/www/images/default/fhemicon.png) -> DEFAULT
    2014.12.16 21:23:26 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, reading, UserID_Spotify, -) -> DEFAULT
    2014.12.16 21:23:26 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, reading, UserID_Napster, -) -> DEFAULT
    2014.12.16 21:23:26 3: SONOS1: Start temporary playing of "\\192.168.0.91\SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3"
    2014.12.16 21:23:26 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f02047e7a38)
    2014.12.16 21:23:26 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f02047dbfe8)
    2014.12.16 21:23:33 4: SONOS1: All is started successfully. Retreive Positioninfo...
    2014.12.16 21:23:33 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, def, NAME, RINCON_B8E9378F49E001400_MR) -> Sonos_Flur
    2014.12.16 21:23:33 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 21:23:33 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.16 21:23:33 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378F49E001400_MR'
    2014.12.16 21:23:33 4: SONOS1: Transport-Event: GroundURL: http://192.168.0.61:1400
    2014.12.16 21:23:33 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="1"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="x-file-cifs://192.168.0.91/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-file-cifs:*:application/octet-stream:*&quot;&gt;x-file-cifs://192.168.0.91/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;dc:title&gt;RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val="x-file-cifs://192.168.0.91/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;&quot; parentID=&quot;&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;RINCON_AssociatedZPUDN&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><PlaybackStorageMedium val="NETWORK"/><AVTransportURI val="x-file-cifs://192.168.0.91/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3"/><AVTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;&quot; parentID=&quot;&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;RINCON_AssociatedZPUDN&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><CurrentTransportActions val="Set, Play, Stop, Pause, Seek, Next, Previous"/><r:CurrentValidPlayModes val="CROSSFADE"/></InstanceID></Event>
    2014.12.16 21:23:33 1: SONOS0: Connection accepted from localhost:34325
    2014.12.16 21:23:33 5: SONOS0: Received: 'hello'
    2014.12.16 21:23:33 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-file-cifs:*:application/octet-stream:*">x-file-cifs://192.168.0.91/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><dc:title>RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.16 21:23:33 4: SONOS1: Transport-Event: Normal erkannt!
    2014.12.16 21:23:33 5: SONOS0: Received: 'goaway'
    2014.12.16 21:23:33 4: SONOS1: Transport-Event: NextTrackMetaData:
    2014.12.16 21:23:33 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f02047e7a38)
    2014.12.16 21:23:33 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.16 21:23:33 3: SONOS2: Restorethread has found a job. Waiting for stop playing...
    2014.12.16 21:23:33 3: SONOS2: Restoring playerstate...
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, def, NAME, RINCON_B8E9378F49E001400_MR) -> Sonos_Flur
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 21:23:37 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Flur".
    2014.12.16 21:23:37 4: SONOS1: Rendering-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378F49E001400_MR'
    2014.12.16 21:23:37 4: SONOS1: Rendering-Event: LastChange: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volume channel="Master" val="30"/><Volume channel="LF" val="100"/><Volume channel="RF" val="100"/></InstanceID></Event>
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, generateVolumeEvent, 0) -> DEFAULT
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, reading, Mute, 0) -> 0
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, reading, HeadphoneConnected, 0) -> 0
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, reading, Balance, 0) -> 0
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, reading, Volume, 0) -> 30
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, reading, Loudness, 0) -> 1
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, reading, Bass, 0) -> 0
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, reading, Treble, 0) -> 0
    2014.12.16 21:23:37 4: SONOS1: Rendering-Event: Current Values for 'Sonos_Flur' ~ Volume: 30, HeadphoneConnected: 0, Bass: 0, Treble: 0, Balance: 0, Loudness: 1, Mute: 0
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, minVolume, 0) -> 0
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, maxVolume, 100) -> DEFAULT
    2014.12.16 21:23:37 4: SONOS1: Rendering-Event: Current Borders for 'Sonos_Flur' ~ minVolume: 0, maxVolume: 100
    2014.12.16 21:23:37 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, buttonEvents, ) -> DEFAULT
    2014.12.16 21:23:37 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Flur".
    2014.12.16 21:23:37 3: SONOS2: Playerstate restored!
    2014.12.16 21:23:39 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, def, NAME, RINCON_B8E9378F49E001400_MR) -> Sonos_Flur
    2014.12.16 21:23:39 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 21:23:39 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.16 21:23:39 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378F49E001400_MR'
    2014.12.16 21:23:39 4: SONOS1: Transport-Event: GroundURL: http://192.168.0.61:1400
    2014.12.16 21:23:39 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="3"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://rtlberlin.hoerradar.de/spreeradio-live-aac-64?sABC=549094p3%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418761411"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s17211?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as17211%3fsid%3d254%26flags%3d32%26sn%3d0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s17211?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=549094p4%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418761412"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-rincon-mp3radio:*:*:*&quot;&gt;x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=549094p4%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amp;amsparams=playerid:tunein;skey:1418761412&lt;/res&gt;&lt;dc:title&gt;spreeradio-live-mp3-192?sABC=549094p4#0#rq2sp76rsor38r6175n98n476913o7q5#gharva&amp;amp;amsparams=playerid:tunein;skey:1418761412&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;105&amp;apos;5 Spreeradio&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><PlaybackStorageMedium val="NETWORK"/><AVTransportURI val="x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0"/><AVTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;105&amp;apos;5 Spreeradio&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><CurrentTransportActions val="Set, Play, Stop, Pause, Seek, Next, Previous"/><r:CurrentValidPlayModes val="CROSSFADE"/><TransportStatus val="ERROR_CANT_REACH_SERVER"/><TransportErrorDescription val="2,0,RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3,//192.168.0.91/SonosSpeak,//192.168.0.91/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3,"/><TransportErrorURI val="x-file-cifs://192.168.0.91/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3"/></InstanceID></Event>
    2014.12.16 21:23:39 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as17211%3fsid%3d254%26flags%3d32%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.16 21:23:39 4: SONOS1: Transport-Event: Stream erkannt!
    2014.12.16 21:23:39 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-rincon-mp3radio:*:*:*">x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=549094p4%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418761412</res><dc:title>spreeradio-live-mp3-192?sABC=549094p4#0#rq2sp76rsor38r6175n98n476913o7q5#gharva&amp;amsparams=playerid:tunein;skey:1418761412</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.16 21:23:39 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f02047e7a38)
    2014.12.16 21:23:39 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.16 21:23:41 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, def, NAME, RINCON_B8E9378F49E001400_MR) -> Sonos_Flur
    2014.12.16 21:23:41 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 21:23:41 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.16 21:23:41 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378F49E001400_MR'
    2014.12.16 21:23:41 4: SONOS1: Transport-Event: GroundURL: http://192.168.0.61:1400
    2014.12.16 21:23:41 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="3"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://rtlberlin.hoerradar.de/spreeradio-live-aac-64?sABC=549094p3%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418761411"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s17211?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as17211%3fsid%3d254%26flags%3d32%26sn%3d0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s17211?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=549094p4%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418761412"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-rincon-mp3radio:*:*:*&quot;&gt;x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=549094p4%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amp;amsparams=playerid:tunein;skey:1418761412&lt;/res&gt;&lt;dc:title&gt;spreeradio-live-mp3-192?sABC=549094p4#0#rq2sp76rsor38r6175n98n476913o7q5#gharva&amp;amp;amsparams=playerid:tunein;skey:1418761412&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;105&amp;apos;5 Spreeradio&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2014.12.16 21:23:41 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as17211%3fsid%3d254%26flags%3d32%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.16 21:23:41 4: SONOS1: Transport-Event: Stream erkannt!
    2014.12.16 21:23:41 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-rincon-mp3radio:*:*:*">x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=549094p4%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418761412</res><dc:title>spreeradio-live-mp3-192?sABC=549094p4#0#rq2sp76rsor38r6175n98n476913o7q5#gharva&amp;amsparams=playerid:tunein;skey:1418761412</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.16 21:23:41 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f02047e7a38)
    2014.12.16 21:23:41 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.16 21:24:03 1: SONOS0: Connection accepted from localhost:34345
    2014.12.16 21:24:03 5: SONOS0: Received: 'hello'
    2014.12.16 21:24:03 5: SONOS0: Received: 'goaway'


    -edit-
    hier der output
    m311331@Home-Server:/$ ls -la /mnt/SonosSpeak
    insgesamt 80
    drwxrwxrwx 2 root root     4096 Dez 16 21:23 .
    drwxr-xr-x 3 root root     4096 Dez 14 01:23 ..
    -rw-r--r-- 1 fhem dialout 22528 Dez 16 20:51 RINCON_B8E9378F49E001400_MR_Speak_20141216-205148.mp3
    -rw-r--r-- 1 fhem dialout 22528 Dez 16 20:54 RINCON_B8E9378F49E001400_MR_Speak_20141216-205424.mp3
    -rw-r--r-- 1 fhem dialout 22528 Dez 16 21:23 RINCON_B8E9378F49E001400_MR_Speak_20141216-212326.mp3
    manu@Home-Server:/$



    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 16 Dezember 2014, 21:29:46
    Hi Reinerlein,

    hier noch die Sambaconf.


    m311331@Home-Server:/$ cat /etc/samba/smb.conf
    #
    # Sample configuration file for the Samba suite for Debian GNU/Linux.
    #
    #
    # This is the main Samba configuration file. You should read the
    # smb.conf(5) manual page in order to understand the options listed
    # here. Samba has a huge number of configurable options most of which
    # are not shown in this example
    #
    # Some options that are often worth tuning have been included as
    # commented-out examples in this file.
    #  - When such options are commented with ";", the proposed setting
    #    differs from the default Samba behaviour
    #  - When commented with "#", the proposed setting is the default
    #    behaviour of Samba but the option is considered important
    #    enough to be mentioned here
    #
    # NOTE: Whenever you modify this file you should run the command
    # "testparm" to check that you have not made any basic syntactic
    # errors.

    #======================= Global Settings =======================

    [global]

    ## Browsing/Identification ###

    # Change this to the workgroup/NT-domain name your Samba server will part of
       workgroup = WORKGROUP

    # server string is the equivalent of the NT Description field
            server string = %h server (Samba, Ubuntu)

    # Windows Internet Name Serving Support Section:
    # WINS Support - Tells the NMBD component of Samba to enable its WINS Server
    #   wins support = no

    # WINS Server - Tells the NMBD components of Samba to be a WINS Client
    # Note: Samba can be either a WINS Server, or a WINS Client, but NOT both
    ;   wins server = w.x.y.z

    # This will prevent nmbd to search for NetBIOS names through DNS.
       dns proxy = no

    #### Networking ####

    # The specific set of interfaces / networks to bind to
    # This can be either the interface name or an IP address/netmask;
    # interface names are normally preferred
    ;   interfaces = 127.0.0.0/8 eth0

    # Only bind to the named interfaces and/or networks; you must use the
    # 'interfaces' option above to use this.
    # It is recommended that you enable this feature if your Samba machine is
    # not protected by a firewall or is a firewall itself.  However, this
    # option cannot handle dynamic or non-broadcast interfaces correctly.
    ;   bind interfaces only = yes



    #### Debugging/Accounting ####

    # This tells Samba to use a separate log file for each machine
    # that connects
       log file = /var/log/samba/log.%m

    # Cap the size of the individual log files (in KiB).
       max log size = 1000

    # If you want Samba to only log through syslog then set the following
    # parameter to 'yes'.
    #   syslog only = no

    # We want Samba to log a minimum amount of information to syslog. Everything
    # should go to /var/log/samba/log.{smbd,nmbd} instead. If you want to log
    # through syslog you should set the following parameter to something higher.
       syslog = 0

    # Do something sensible when Samba crashes: mail the admin a backtrace
       panic action = /usr/share/samba/panic-action %d


    ####### Authentication #######

    # Server role. Defines in which mode Samba will operate. Possible
    # values are "standalone server", "member server", "classic primary
    # domain controller", "classic backup domain controller", "active
    # directory domain controller".
    #
    # Most people will want "standalone sever" or "member server".
    # Running as "active directory domain controller" will require first
    # running "samba-tool domain provision" to wipe databases and create a
    # new domain.
       server role = standalone server

    # If you are using encrypted passwords, Samba will need to know what
    # password database type you are using.
       passdb backend = tdbsam

       obey pam restrictions = yes

    # This boolean parameter controls whether Samba attempts to sync the Unix
    # password with the SMB password when the encrypted SMB password in the
    # passdb is changed.
       unix password sync = yes

    # For Unix password sync to work on a Debian GNU/Linux system, the following
    # parameters must be set (thanks to Ian Kahan <<kahan@informatik.tu-muenchen.de> for
    # sending the correct chat script for the passwd program in Debian Sarge).
       passwd program = /usr/bin/passwd %u
       passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .

    # This boolean controls whether PAM will be used for password changes
    # when requested by an SMB client instead of the program listed in
    # 'passwd program'. The default is 'no'.
       pam password change = yes

    # This option controls how unsuccessful authentication attempts are mapped
    # to anonymous connections
       map to guest = bad user

    ########## Domains ###########

    #
    # The following settings only takes effect if 'server role = primary
    # classic domain controller', 'server role = backup domain controller'
    # or 'domain logons' is set
    #

    # It specifies the location of the user's
    # profile directory from the client point of view) The following
    # required a [profiles] share to be setup on the samba server (see
    # below)
    ;   logon path = \\%N\profiles\%U
    # Another common choice is storing the profile in the user's home directory
    # (this is Samba's default)
    #   logon path = \\%N\%U\profile

    # The following setting only takes effect if 'domain logons' is set
    # It specifies the location of a user's home directory (from the client
    # point of view)
    ;   logon drive = H:
    #   logon home = \\%N\%U

    # The following setting only takes effect if 'domain logons' is set
    # It specifies the script to run during logon. The script must be stored
    # in the [netlogon] share
    # NOTE: Must be store in 'DOS' file format convention
    ;   logon script = logon.cmd

    # This allows Unix users to be created on the domain controller via the SAMR
    # RPC pipe.  The example command creates a user account with a disabled Unix
    # password; please adapt to your needs
    ; add user script = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u

    # This allows machine accounts to be created on the domain controller via the
    # SAMR RPC pipe.
    # The following assumes a "machines" group exists on the system
    ; add machine script  = /usr/sbin/useradd -g machines -c "%u machine account" -d /var/lib/samba -s /bin/false %u

    # This allows Unix groups to be created on the domain controller via the SAMR
    # RPC pipe.
    ; add group script = /usr/sbin/addgroup --force-badname %g

    ############ Misc ############

    # Using the following line enables you to customise your configuration
    # on a per machine basis. The %m gets replaced with the netbios name
    # of the machine that is connecting
    ;   include = /home/samba/etc/smb.conf.%m

    # Some defaults for winbind (make sure you're not using the ranges
    # for something else.)
    ;   idmap uid = 10000-20000
    ;   idmap gid = 10000-20000
    ;   template shell = /bin/bash

    # Setup usershare options to enable non-root users to share folders
    # with the net usershare command.

    # Maximum number of usershare. 0 (default) means that usershare is disabled.
    ;   usershare max shares = 100

    # Allow users who've been granted usershare privileges to create
    # public shares, not just authenticated ones
       usershare allow guests = yes

    #======================= Share Definitions =======================

    # Un-comment the following (and tweak the other settings below to suit)
    # to enable the default home directory shares. This will share each
    # user's home directory as \\server\username
    ;[homes]
    ;   comment = Home Directories
    ;   browseable = no

    # By default, the home directories are exported read-only. Change the
    # next parameter to 'no' if you want to be able to write to them.
    ;   read only = yes

    # File creation mask is set to 0700 for security reasons. If you want to
    # create files with group=rw permissions, set next parameter to 0775.
    ;   create mask = 0700

    # Directory creation mask is set to 0700 for security reasons. If you want to
    # create dirs. with group=rw permissions, set next parameter to 0775.
    ;   directory mask = 0700

    # By default, \\server\username shares can be connected to by anyone
    # with access to the samba server.
    # Un-comment the following parameter to make sure that only "username"
    # can connect to \\server\username
    # This might need tweaking when using external authentication schemes
    ;   valid users = %S

    # Un-comment the following and create the netlogon directory for Domain Logons
    # (you need to configure Samba to act as a domain controller too.)
    ;[netlogon]
    ;   comment = Network Logon Service
    ;   path = /home/samba/netlogon
    ;   guest ok = yes
    ;   read only = yes

    # Un-comment the following and create the profiles directory to store
    # users profiles (see the "logon path" option above)
    # (you need to configure Samba to act as a domain controller too.)
    # The path below should be writable by all users so that their
    # profile directory may be created the first time they log on
    ;[profiles]
    ;   comment = Users profiles
    ;   path = /home/samba/profiles
    ;   guest ok = no
    ;   browseable = no
    ;   create mask = 0600
    ;   directory mask = 0700

    [printers]
       comment = All Printers
       browseable = no
       path = /var/spool/samba
       printable = yes
       guest ok = no
       read only = yes
       create mask = 0700

    # Windows clients look for this share name as a source of downloadable
    # printer drivers
    [print$]
       comment = Printer Drivers
       path = /var/lib/samba/printers
       browseable = yes
       read only = yes
       guest ok = no
    # Uncomment to allow remote administration of Windows print drivers.
    # You may need to replace 'lpadmin' with the name of the group your
    # admin users are members of.
    # Please note that you also need to set appropriate Unix permissions
    # to the drivers directory for these users to have write rights in it
    ;   write list = root, @lpadmin

    [SonosSpeak]
    comment = Audio-Files for SonosPlayer to Speak
    read only = false
    path = /mnt/SonosSpeak
    guest ok = yes
    m311331@Home-Server:/$


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Dezember 2014, 21:37:15
    Hi m311331,

    also der Log sieht jetzt gut aus. Keine Fehlermeldung mehr, und die Wiedergabe des Textes wird auch gemeldet...
    Da müsste doch alles gekommen sein...

    Was geht denn nicht?

    Vielleicht ist die Wiedergabe etwas leise?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 16 Dezember 2014, 21:37:51
    Die Rechte & Samba-Konfig passen zumindest.

    Du kannst das mal probieren (bilde mir ein targetSpeakFileTimestamp hatt ganz am Anfang bei mir auch mal Schwierigkeiten bereitet..):

    In Fhem ausführen, "Save" nicht vergessen, und dann mal am besten einfach mal einen reboot deiner Maschine durchführen:

    attr Sonos targetSpeakFileTimestamp 0
    attr Sonos targetSpeakFileHashCache 1


    P.S. die IP 192.168.0.91 ist schon die richtige deiner Fhem-Kiste?
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 16 Dezember 2014, 21:39:30
    Dann mach doch mal ein

    set Sonos_Flur Speak 50 de Hier dann die Textnachricht

    anstatt der relativen Lautstärke +0
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 16 Dezember 2014, 21:45:20
    Hi

    ok werde testen
    aber rapster hat da was die IP ist die vom raspberry nicht die vom Ubuntu server  :o
    wo ist das den jetzt schon wieder def.  >:(

    zum rest kann ich noch nichts sagen probiere gerade

    -edit-
    @rapster habe gerade mal das gemacht was du gepostest hast und reboote gerade
    und bei der Ip hast du recht habe ich auch geändert teste...
    -edit-

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 16 Dezember 2014, 21:47:25
    Als targetSpeakURL hast du zumindest die IP angegeben (\\192.168.0.91\SonosSpeak), das sollte die Kiste sein wo auch /mnt/SonosSpeak drauf zu finden ist.
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 16 Dezember 2014, 21:57:23
    Hi Reinerlein & rapster,

    ich muß mich herzlichst bei euch beiden bedanken !!!

    die Speak funktion geht !  :D

    jetzt hätte ich noch das problem das ich einen file der auf meiner NAS leigt nicht abgespielt wird
    rechte sind auf der NAS so gesetzt das jeder lesen darf

    ich versuche mit set Sonos_Flur PlayURITemp \\192.168.0.23\SonosSpeak\test.mp3 30
    den file abzuspielen aber nix geht  :(


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 16 Dezember 2014, 22:00:08
    Woran lags jetzt?

    An attr targetSpeakFileTimestamp ? oder an falscher IP?
    Nicht dass Reinerlein hier noch einen Bug fixen muss  ;)

    Hast du auch den "Guest" / "Gast" Benutzer am NAS aktiviert?
    ...und diesem Berechtigung erteilt?
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 16 Dezember 2014, 22:14:18
    Hi rapster,

    ich habe die drei faktoren ja zum schluss jetzt gleichzeitig gesetzt daher kann ich es nicht genau sagen
    aber wenn reinerlein es möchte kann ich die zwei attr. nochmal löschen und testen ob es nur an der IP lag ?

    ZitatHast du auch den "Guest" / "Gast" Benutzer am NAS aktiviert?
    ...und diesem Berechtigung erteilt?

    ja habe ich

    zu meinem file probelem nnoch der log
    l="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-file-cifs:*:application/octet-stream:*&quot;&gt;x-file-cifs://192.168.0.23/SonosSpeak/test.mp3&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;dc:title&gt;test.mp3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val="x-file-cifs://192.168.0.23/SonosSpeak/test.mp3"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;&quot; parentID=&quot;&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;RINCON_AssociatedZPUDN&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><PlaybackStorageMedium val="NETWORK"/><AVTransportURI val="x-file-cifs://192.168.0.23/SonosSpeak/test.mp3"/><AVTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;&quot; parentID=&quot;&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;RINCON_AssociatedZPUDN&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><CurrentTransportActions val="Set, Play, Stop, Pause, Seek, Next, Previous"/><r:CurrentValidPlayModes val="CROSSFADE"/></InstanceID></Event>
    2014.12.16 22:07:26 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-file-cifs:*:application/octet-stream:*">x-file-cifs://192.168.0.23/SonosSpeak/test.mp3</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><dc:title>test.mp3</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.16 22:07:26 4: SONOS1: Transport-Event: Normal erkannt!
    2014.12.16 22:07:26 4: SONOS1: Transport-Event: NextTrackMetaData:
    2014.12.16 22:07:26 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f18fc7ef668)
    2014.12.16 22:07:26 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.16 22:07:26 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, def, NAME, RINCON_B8E9378F49E001400_MR) -> Sonos_Flur
    2014.12.16 22:07:26 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 22:07:26 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.16 22:07:26 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378F49E001400_MR'
    2014.12.16 22:07:26 4: SONOS1: Transport-Event: GroundURL: http://192.168.0.61:1400
    2014.12.16 22:07:26 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="1"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="x-file-cifs://192.168.0.23/SonosSpeak/test.mp3"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-file-cifs:*:application/octet-stream:*&quot;&gt;x-file-cifs://192.168.0.23/SonosSpeak/test.mp3&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;dc:title&gt;test.mp3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val="x-file-cifs://192.168.0.23/SonosSpeak/test.mp3"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;&quot; parentID=&quot;&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;RINCON_AssociatedZPUDN&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><TransportStatus val="ERROR_N0_RESOURCE"/><TransportErrorDescription val="14,0,test.mp3,//192.168.0.23/SonosSpeak,//192.168.0.23/SonosSpeak/test.mp3,"/><TransportErrorURI val="x-file-cifs://192.168.0.23/SonosSpeak/test.mp3"/></InstanceID></Event>
    2014.12.16 22:07:26 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-file-cifs:*:application/octet-stream:*">x-file-cifs://192.168.0.23/SonosSpeak/test.mp3</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><dc:title>test.mp3</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.16 22:07:26 4: SONOS1: Transport-Event: Normal erkannt!
    2014.12.16 22:07:26 4: SONOS1: Transport-Event: NextTrackMetaData:
    2014.12.16 22:07:26 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f18fc7ef668)
    2014.12.16 22:07:26 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.16 22:07:26 3: SONOS2: Restorethread has found a job. Waiting for stop playing...
    2014.12.16 22:07:27 3: SONOS2: Restoring playerstate...
    2014.12.16 22:07:31 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, def, NAME, RINCON_B8E9378F49E001400_MR) -> Sonos_Flur
    2014.12.16 22:07:31 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 22:07:31 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.16 22:07:31 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378F49E001400_MR'
    2014.12.16 22:07:31 4: SONOS1: Transport-Event: GroundURL: http://192.168.0.61:1400
    2014.12.16 22:07:31 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="3"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://rtlberlin.hoerradar.de/spreeradio-live-aac-64?sABC=54909s11%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418764049"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s17211?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as17211%3fsid%3d254%26flags%3d32%26sn%3d0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s17211?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=54909s11%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418764049"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-rincon-mp3radio:*:*:*&quot;&gt;x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=54909s11%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amp;amsparams=playerid:tunein;skey:1418764049&lt;/res&gt;&lt;dc:title&gt;spreeradio-live-mp3-192?sABC=54909s11#0#rq2sp76rsor38r6175n98n476913o7q5#gharva&amp;amp;amsparams=playerid:tunein;skey:1418764049&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;105&amp;apos;5 Spreeradio&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><PlaybackStorageMedium val="NETWORK"/><AVTransportURI val="x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0"/><AVTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;105&amp;apos;5 Spreeradio&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><CurrentTransportActions val="Set, Play, Stop, Pause, Seek, Next, Previous"/><r:CurrentValidPlayModes val="CROSSFADE"/></InstanceID></Event>
    2014.12.16 22:07:31 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as17211%3fsid%3d254%26flags%3d32%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.16 22:07:31 4: SONOS1: Transport-Event: Stream erkannt!
    2014.12.16 22:07:31 3: SONOS2: Playerstate restored!
    2014.12.16 22:07:31 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-rincon-mp3radio:*:*:*">x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=54909s11%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418764049</res><dc:title>spreeradio-live-mp3-192?sABC=54909s11#0#rq2sp76rsor38r6175n98n476913o7q5#gharva&amp;amsparams=playerid:tunein;skey:1418764049</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.16 22:07:31 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f18fc7ef668)
    2014.12.16 22:07:31 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.16 22:07:31 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, def, NAME, RINCON_B8E9378F49E001400_MR) -> Sonos_Flur
    2014.12.16 22:07:31 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, disable, 0) -> DEFAULT
    2014.12.16 22:07:31 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.16 22:07:31 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378F49E001400_MR'
    2014.12.16 22:07:31 4: SONOS1: Transport-Event: GroundURL: http://192.168.0.61:1400
    2014.12.16 22:07:31 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="3"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://rtlberlin.hoerradar.de/spreeradio-live-aac-64?sABC=54909s11%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418764049"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s17211?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as17211%3fsid%3d254%26flags%3d32%26sn%3d0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s17211?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=54909s11%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418764049"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-rincon-mp3radio:*:*:*&quot;&gt;x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=54909s11%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amp;amsparams=playerid:tunein;skey:1418764049&lt;/res&gt;&lt;dc:title&gt;spreeradio-live-mp3-192?sABC=54909s11#0#rq2sp76rsor38r6175n98n476913o7q5#gharva&amp;amp;amsparams=playerid:tunein;skey:1418764049&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;105&amp;apos;5 Spreeradio&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2014.12.16 22:07:31 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as17211%3fsid%3d254%26flags%3d32%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s17211?sid=254&amp;flags=32&amp;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.16 22:07:31 4: SONOS1: Transport-Event: Stream erkannt!
    2014.12.16 22:07:31 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-rincon-mp3radio:*:*:*">x-rincon-mp3radio://rtlberlin.hoerradar.de/spreeradio-live-mp3-192?sABC=54909s11%230%23rq2sp76rsor38r6175n98n476913o7q5%23gharva&amp;amsparams=playerid:tunein;skey:1418764049</res><dc:title>spreeradio-live-mp3-192?sABC=54909s11#0#rq2sp76rsor38r6175n98n476913o7q5#gharva&amp;amsparams=playerid:tunein;skey:1418764049</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.16 22:07:31 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f18fc7ef668)
    2014.12.16 22:07:31 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.16 22:07:41 1: SONOS0: Connection accepted from localhost:44024
    2014.12.16 22:07:41 5: SONOS0: Received: 'hello'
    2014.12.16 22:07:41 5: SONOS0: Received: 'goaway'



    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Dezember 2014, 22:31:58
    Hi m311331,

    hast du mal versucht mit deinem Windows oder Mac direkt die Datei abzuspielen.

    Bei Windows z.B. Start -> Ausführen -> "\\192.168.0.23\SonosSpeak\test.mp3" eingeben + Enter drücken...

    Kommt dann was?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 16 Dezember 2014, 22:44:03
    Hi reinerlein,

    ja dann geht bei mir der winamp auf und spielt den file ab

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Dezember 2014, 22:51:16
    Hi m311331,

    also auch dort steht im Log, dass die Wiedergabe gestartet ist, und normal wieder beendet wurde (nach ca.1-2s).
    Da gibt es keine geloggten Fehler...

    Was zeigt denn dein Original-Controller während des Abspielens der Datei an?
    Wenn der Player das nicht abspielen kann, erscheint beim Controller eine entsprechende Popup-Fehlermeldung...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 16 Dezember 2014, 22:54:54
    Hi m311331,

    mach mal das was Reinerlein gesagt hat:
    Zitat
    Bei Windows z.B. Start -> Ausführen -> "\\192.168.0.23\SonosSpeak\test.mp3" eingeben + Enter drücken...

    Davor aber mal:
    Bei Windows z.B. Start -> Ausführen -> control keymgr.dll
    und schauen dass keine Anmeldeinformationen für 192.168.0.23 gespeichert sind. (Fall ja, diese löschen und mal rebooten)

    P.S. falls keine Anmeldeinfos gespeichert sind, brauchst dus natürlich nicht nochmal testen  ;)

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 16 Dezember 2014, 23:47:16
    Hi Reinerlein & repster

    nochmals Vielen Dank an euch beide für die Hilfe

    es geht jetzt ( der Fehler war doch noch ein Berechtigungsproblem ::)  )

    @reinerlein ich bin echt sehr begeistert von deinem modul  :)

    jetzt werde ich erstmal damit noch rumspielen bis ich mir noch ein par Sonos Player mehr besorge
    dazu hätte ich noch ne Frage wenn ein Radiostream läuft und man einen  set Sonos_Flur PlayURITemp \\192.168.0.23\SonosSpeak\test.mp3 30
    wird nach beendigung des files automaisch wieder der Radiostream angemacht ?

    -edit-
    wenn ich mehrere oder alle player ansprechen möchte muss ich da gruppen bilden oder kann ich die direkt per befehl z.b set Sonos_Flur Sonos_Bad u.s.w PlayURITemp \\192.168.0.23\SonosSpeak\test.mp3 30 machen ?


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Dezember 2014, 00:07:48
    Hi m311331,

    schön das es jetzt geht :)

    Zu 1: Sowohl bei Speak als auch bei PlayURITemp wird nach dem Abspielen versucht, den alten Zustand wiederherzustellen. Das gelingt auch meistens...

    Zu 2: Fhem bietet immer die Möglichkeit einen Befehl an mehrere Devices zu senden, das macht man mit einem Komma:

    set Sonon_Kueche, Sonos_Bad Volume -20


    Aber natürlich wird das nacheinander ausgeführt.
    Wenn du das gleichzeitig haben willst, musst du Sonos-Gruppen bilden. Diese spielen aber natürlich auch dasselbe ab, und brauchen einen Augenblick um gebildet zu werden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 17 Dezember 2014, 15:22:30
    Hi reinerlein,

    ZitatZu 1: Sowohl bei Speak als auch bei PlayURITemp wird nach dem Abspielen versucht, den alten Zustand wiederherzustellen. Das gelingt auch meistens...
    funktioniert bei mir ganz gut

    ZitatWenn du das gleichzeitig haben willst, musst du Sonos-Gruppen bilden. Diese spielen aber natürlich auch dasselbe ab, und brauchen einen Augenblick um gebildet zu werden...

    wie wird den die Gruppe def. finde im wiki nix drüber, nur durch eine id oder bekommt die Gruppe einen namen um angesprochen zu werden ?
    Dadurch werden die Gruppen gebildet, und nochmal explizit aufgelöst.

        set Sonos Groups [Sonos_Bad, Sonos_Kueche]
        set Sonos Groups [Sonos_Kueche, Sonos_Bad]
        set Sonos Groups [Sonos_Bad], [Sonos_Kueche]


    ich finde auch nach einem set Sonos Groups [Sonos_Bad, Sonos_Kueche]
    kein attr. dafür, weder im player noch im Sonosdevice

    kannst du mir das evtl. noch besser erkären ?


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Dezember 2014, 15:33:07
    Hi m311331,

    Sonos Gruppen sind für Fhem transparent. Soll heißen, du gruppierst z.B.

    set Sonos Groups [Sonos_Wohnzimmer, Sonos_Bad, Sonos_Schlaffzimmer]


    Danach bilden die drei Player eine Gruppe, die das abspielen, was Sonos_Wohnzimmer gerade laufen hatte.

    Ab jetzt wird jeder (naja, fast jeder) Befehl, der von dir an irgendeinen der drei Player gesendet wird, automatisch an den Gruppenmaster (Sonos_Wohnzimmer) gesendet, und wirkt damit auf alle Gruppenmitglieder.
    Das fast bezieht sich darauf, dass manche Befehle natürlich direkt für den einzelnen Player gedacht sind: z.B. Lautstärke usw...
    Für eine Gruppenlautstärke z.B. gibt es einen Extra-Befehl. Einfach im Wiki mal schauen. Ich habe das umgebaut, sodass die Befehle hoffentlich leichter zu finden sind...

    Auflösen z.B.:

    set Sonos Groups [Sonos_Wohnzimmer], [Sonos_Bad], [Sonos_Schlafzimmer]


    Du kannst aber auch bei einem Player ein AddMember oder RemoveMember aufrufen.
    Hinzufügen von Bad zum Wohnzimmer:

    set Sonos_Wohnzimmer AddMember Sonos_Bad


    Wieder auflösen:

    set Sonos_Wohnzimmer RemoveMember Sonos_Bad


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 17 Dezember 2014, 16:45:07
    Hi reinerlein,


    ich versuche gerade bei öffnen der Haustüre einen file abzuspielen
    geht aber nicht der player untrebricht zwar das radio aber der file wird nicht abgespielt

    in der fhem console geht der befehl set Sonos_Flur PlayURITemp \\192.168.0.23\SonosSpeak\test.mp3 30 aber
    auf das notify nicht

    define Sonos_Haustuere_Auf notify TF.Sensor1:open {\
    fhem "set Sonos_Eingang PlayURITemp \\192.168.0.93\SonosSpeak\front door open.mp3 30";;\
    }


    im fhem log:
    2014.12.17 16:37:02 1: PERL WARNING: Unrecognized escape \S passed through at (eval 17425) line 2.
    2014.12.17 16:37:02 3: eval: {
    fhem "set Sonos_Eingang PlayURITemp \\192.168.0.93\SonosSpeak\front door open.mp3 30";
    }



    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Dezember 2014, 17:36:54
    Hi 311331.

    da wird dein String als Perl geparst, und das \S als Zeichen interpretiert. Schreib es einfach mal ohne Perl-Konstrukt:

    define Sonos_Haustuere_Auf notify TF.Sensor1:open set Sonos_Eingang PlayURITemp \\192.168.0.93\SonosSpeak\front door open.mp3 30


    Ansonsten musst du jeden Backslach verdoppeln...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 17 Dezember 2014, 19:18:35
    Hi reinerlein,

    Zitatdefine Sonos_Haustuere_Auf notify TF.Sensor1:open set Sonos_Eingang PlayURITemp \\192.168.0.93\SonosSpeak\front door open.mp3 30
    leider geht das nicht bei mir

    hast du noch eine idee oder soll ich mal mitloggen ?


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Dezember 2014, 19:22:51
    Hi m311331,

    ich sehe gerade, das dort ja noch Leerzeichen drin waren...
    Die müssen natürlich maskiert werden:

    define Sonos_Haustuere_Auf notify TF.Sensor1:open set Sonos_Eingang PlayURITemp \\192.168.0.93\SonosSpeak\front%%20door%%20open.mp3 30

    Das doppelte %-Zeichen wegen der Notify-Syntax...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 17 Dezember 2014, 19:46:32
    Hi reinerlein,

    Dankeschön !  :)

    so geht es

    was jetzt noch praktisch wäre wenn es ein "PlayAll" geben würde
    ohne eben eine gruppe bilden zu müssen


    mfg. m311331 
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Dezember 2014, 20:03:52
    Hi m311331,

    das würde intern ja auch nur eine Gruppe machen, oder eben an jeden Player den Play Befehl senden...
    Das kann man auch selbst machen. Dann hat man wenigstens alles in der Hand...

    Grüße
    Reinerleins
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 17 Dezember 2014, 23:02:08
    Hi reinerlein,

    hab das mal gestestet mit den gruppen aber wenn ich gruppen bilde sind die
    in der sonos app auch und ich kann irgendwie die einzelnen Player nicht mehr einzeln ansprechen

    daher hätte ich nochmal die Frage wie wäre den der syntax richtig bei

    define Sonos_Haustuere_Auf notify TF.Sensor1:open set Sonos_Eingang, Sono_Flur PlayURITemp \\192.168.0.93\SonosSpeak\front%%20door%%20open.mp3 30


    das geht bei mir nicht


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Dezember 2014, 23:18:40
    Hi m311331,

    manche Sachen sollte ich nochmal genau lesen, bevor ich den Post absende, sorry.

    Zwischen den Devices in der Auflistung darf kein Leerzeichen sein:

    define Sonos_Haustuere_Auf notify TF.Sensor1:open set Sonos_Eingang,Sonos_Flur PlayURITemp \\192.168.0.93\SonosSpeak\front%%20door%%20open.mp3 30
    Und ich glaube, du hattest beim Flur ein "s" vergessen.

    Versuch das mal...

    Und zu den Gruppen: Das ist Absicht :)
    Alles im Sonos-System soll allen Controllern (und Fhem ist auch nur ein Controller) in der gleichen Form und Aktualität zur Verfügung stehen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 18 Dezember 2014, 12:03:10
    Hi reienrlein,

    so geht es  :)

    Danke Dir !
    sag mal wie sehe ich welche version von deinem modul ich habe ?


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 Dezember 2014, 12:19:27
    Hi m311331,

    der Befehl "version" gibt die Versionsnummern aller geladenen Module aus.

    Bisherige Dev:
    2.6-Dev

    Neue aus dem SVN:
    Commit-Nr. 7244

    Die alte Version von meinem Updateserver (nicht mehr erreichbar) hatte noch keins von beiden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 18 Dezember 2014, 12:45:49
    Hi reienrlein,

    Dankeschön !


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 18 Dezember 2014, 12:57:06
    Hi reinerlein,

    kann es sein das das von deinem modul kommt ?

    2014.12.18 12:54:54 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 117.
    2014.12.18 12:54:54 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'



    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: matzemoerk am 18 Dezember 2014, 14:03:46
    Ich habe Problemen beim Anlegen des userReadings für Favouriten usw. wie es im Wiki beschrieben ist:


    attr Sonos_Wohnzimmer userReadings Favourites:LastActionResult.*?\
    GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Wohnzimmer", \
    "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:\
    LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Wohnzimmer", \
    "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:\
    LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Wohnzimmer", \
    "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }


    Ich kopiere das Beispiel aus dem Wiki in die Fhem Eingabezeile und erhalte folgende Fehler:


    Unknown command }, try help.
    Unknown command }, try help.
    Unknown command }, try help.


    Was mache ich falsch?

    Grüße,
    Matthias
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 Dezember 2014, 14:09:35
    Hi,

    @m311331: Ich verwende das Modul Blocking.pm nicht. Da musst du mal in das entsprechende Board posten...

    @Matthias: Allgemein empfehle ich immer die Backslash-Schreibweise zu entfernen. Zu leicht kommt einfach ein Leerzeichen hinter den Backslash oder am Anfang der Zeile eines weg, sodass die Maskierung dann hin ist, und der Code dann u.U. nicht kompilierbar ist...
    Ich mache das im Wiki nur, um die Zeilenbreite nicht zu groß werden zu lassen, und klarzumachen, was in eine Zeile soll... Dieses userReadings wird auch durch den Autocreate-Mechanismus angelegt. Lass dir doch einfach einen Player neu erkennen, dann kannst du den funktionierenden Code rauskopieren, bzw. nachschauen, was anders ist...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: matzemoerk am 18 Dezember 2014, 21:14:32
    Danke für deine schnelle Hilfe. Hat super funktioniert!
    Titel: Antw:Sonos steuern
    Beitrag von: Dietmar63 am 18 Dezember 2014, 21:20:20
    @ m311331:
    Zitat
    Hi reinerlein,

    kann es sein das das von deinem modul kommt ?

    Code: [Auswählen]


    2014.12.18 12:54:54 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at FHEM/Blocking.pm line 117.
    2014.12.18 12:54:54 1: CallBlockingFn: Can't connect to localhost:: IO::Socket::INET: Bad hostname 'localhost:'

    mfg. m311331

    schalte mal stacktrace ein - dann kannst du ermitteln wer Blocking.pm aufruft.
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 19 Dezember 2014, 12:44:11
    Hallo Zusammen,

    ich bin hier schlicht am verzweifeln und hoffe das mir vieleicht jemand helfen kann. Ich habe FHEM 5.6 auf einem Raspberry PI installiert, was auch schon einmal mit Sonos funktioniert hat. Danach hat es mir aus unbekannten Gründen das System zerrissen, Neuinstallation. Die Neuinstallation habe ich genau nach der Anleitung Sonos Anwendungsbeispiel gemacht. Es läuft auch bis auf sonos. Mir ist aufgefallen, die Module 00_sonos.pm und 21_Sonosplayer sind vorhanden aber das PerlUPnP fehlt. Kann man das nachziehen oder muß ich wieder von vorne anfangen?

    Gruß
    Peter0255
    Titel: Antw:Sonos steuern
    Beitrag von: krikan am 19 Dezember 2014, 12:57:37
    @Peter0255: Kennst Du http://forum.fhem.de/index.php/topic,30566.msg232549.html#msg232549 ? Könnte es daran liegen?
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 19 Dezember 2014, 14:07:23
    da bekomme ich nur "nothing to do ..."
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Dezember 2014, 14:12:00
    Hallo peter0255,

    sorry, dort hatte ich einen Tippfehler drin. Es muss heißen:

    update all http://fhem.lmsoft.de/sonos_dev/controls_sonos.txt

    Aber das das Update-Modul bei einer ungültigen/nicht erreichbaren URL einfach "nothing to do" schreibt...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 19 Dezember 2014, 16:58:33
    Hallo Reinerlein,

    jetzt sieht es etwas anders aus, die /lib Einträge hat er jetzt, aber jetzt kommt das
    2014.12.19 16:53:45 0: Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 296.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 296.

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Dezember 2014, 17:38:48
    Hallo peter0255,

    hast du vielleicht versucht mit reload das zu laden?
    das funktionierte bei mir noch nie, und ich meine, dass es da bzgl. drittmodulen allgemein auch Probleme gab.
    Versuch mal einen Neustart von Fhem...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 19 Dezember 2014, 19:31:23
    Hallo Reinerlein,

    ich habe komplett Raspberry und FHEM runtergefahren und neu gestartet und bekomme die Meldung 2014.12.19 19:19:49 1: configfile: Cannot load module SONOS
    Bringt es was die Module nocheinmal drüber zu bügeln ? Oder soll ich noch einmal komplett installieren?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Dezember 2014, 19:52:54
    Hallo peter0255,

    eigentlich sollte das "update all" für den Sonos-Server alles reinziehen. Das müsste doch eigentlich auch im Logfile stehen.
    Was steht denn noch so vor dem Eintrag mit dem Sonos-Nicht-Laden-Können?

    Manchmal scheint es auch Probleme mit Dateirechten zu geben. Vielleicht kannst du die nochmal prüfen/korrigieren.

    Komplett installieren wird nichts helfen. Das wird vermutlich genauso enden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 20 Dezember 2014, 14:36:49
    Hallo Heinerlein,

    erst einmal vielen Dank für Deine schnelle Hilfe.
    Ich habe es gefunden. Da ich bei der ersten Installation beim installieren Probleme mit cpan und dem Modul SOAP::Lite hatte, habe ich beim neuinstallieren gleich die manuelle Variante gewählt, kein Erfolg.  Nun bin ich hergegangen und habe SOAP::Lite nocheinmal über die manuelle mit cpan drüber gebügelt und es sind keine Fehler mehr aufgetreten und es läuft.

    Nochmal vielen vielen Dank

    Gruß
    Peter0255
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 20 Dezember 2014, 20:45:41
    Hi

    @Dietmar63
    Danke, hat sich schon erl.

    komme einfach nicht weiter, bin mir auch nicht sicher ob es noch hier rein passt :-\
    ich versuche eine Erinnerungsfunktion mit sonos zu realisieren

    würde dafür gerne die holiday funktion nutzen
    habe eine events.holiday angelegt mit testdaten
    und versuche mit

    define events holiday
    attr events room Events

    define CheckEventHeute at *20:25:00 {\
      my $Eventname;;\
      my $EventHeute;;\
      $EventHeute = fhem("get events ".strftime("%m-%d",localtime()));;\
      print $EventHeute;;\
      if ($EventHeute ne "none") {\
        $Eventname = "$EventHeute" ;;\
        FHEM('set Sonos_Flur PlayURITemp \\192.168.0.93\SonosSpeak\',$Eventname);;\  <-- #hier soll eine .mp3 abgespielt werden 
      }\
    }


    eine ausgabe auf sonos zu bekommen
    funktioniert aber nicht :-[ 

    2014.12.20 20:25:00 3: CheckEventHeute: Can't find string terminator "'" anywhere before EOF at (eval 99767) line 8.

    leider habe ich von perl keinen plan
    kann mir da einer helfen ?


    mfg. m311331 
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 20 Dezember 2014, 21:21:42
    Hi m311331,

    am Besten wäre dafür ein neues Thema... das findet doch keiner wieder ;)
    Aber hier:

    FHEM('set Sonos_Flur PlayURITemp \\\\192.168.0.93\\SonosSpeak\\'.$Eventname); # <-- #hier soll eine .mp3 abgespielt werden 
    Das Komma muss ein Punkt werden und du musst die Backslashe maskieren...
    Aber bedenke, dass die Variable "$Eventname" den Dateinamen enthalten muss, also z.B. "Essen.mp3". Außerdem muss es das natürlich auch geben:-)

    Wenn es nur den Eventnamen enthält, und die Endung immer gleich ist, kannst du das auch so schreiben:

    FHEM('set Sonos_Flur PlayURITemp \\\\192.168.0.93\\SonosSpeak\\'.$Eventname.'.mp3'); # <-- #hier soll eine .mp3 abgespielt werden 


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 20 Dezember 2014, 22:14:05
    Hi Reinerlein,

    das ist wirklich sehr nett das du mir schon wieder hilfs't  :)

    habs so gemacht aber ...

    define events holiday
    attr events room Events

    define CheckEventHeute at *20:45:00 {\
      my $Eventname;;\
      my $EventHeute;;\
      $EventHeute = fhem("get events ".strftime("%m-%d",localtime()));;\
      print $EventHeute;;\
      if ($EventHeute ne "none") {\
        $Eventname = "$EventHeute" ;;\
        FHEM('set Sonos_Flur PlayURITemp \\\\192.168.0.93\\SonosSpeak\\'.$Eventname.'.mp3');
      }\
    }


    bekomme leider
    ERROR:
    Unknown command } }, try help.


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 20 Dezember 2014, 22:19:17
    Hi m311331,

    sorry, hatte irgendwie übersehen, dass du direkt in einem at-Device bist. Dann muss vermutlich das letzte Semikolon doch doppelt sein...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 20 Dezember 2014, 22:39:34
    Hi reinerlein,

    habs jetzt so
    FHEM('set Sonos_Flur PlayURITemp \\\\192.168.0.93\\SonosSpeak\\'.$Eventname.'.mp3');;\

    und das event wir auch aufgerufen nur jetzt
    2014.12.20 22:37:00 3: get events 12-20 : test
    2014.12.20 22:37:00 3: CheckEventHeute: Undefined subroutine &main::FHEM called at (eval 102435) line 8.



    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 20 Dezember 2014, 22:45:56
    Hi m311331,

    der Befehl "fhem" muss kleingeschrieben werden.
    Mann oh mann, da muss man aber auch echt genau hinschauen :D

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 20 Dezember 2014, 22:58:12
    Hi reinerlein,


    Zitatder Befehl "fhem" muss kleingeschrieben werden.

    :o ach du sch..
    mei ist das peinlich :-[

    ich Danke dir wirklich sehr !

    aber ich gehe jetzt und mache den PC aus ist wohl schon zu spät für mich heute
    meine Frau meckert auch schon ;D


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 23 Dezember 2014, 13:55:09
    Hi reinerlein,

    ich werde noch verrückt

    hatte es doch schon und es hatte auch funktioniert
    jetzt bekomme ich nicht mal einen fehler aber sonos
    spielet es nicht ab
    alles andere geht aber  :o

    define events holiday

    define CheckEventHeute at *13:46:00 {\
      my $Eventname;;\
      my $EventHeute;;\
      $EventHeute = fhem("get events ".strftime("%m-%d",localtime()));;\
      print $EventHeute;;\
      if ($EventHeute ne "none") {\
        $Eventname = "$EventHeute" ;;\
        fhem('set Sonos_Flur PlayURITemp \\\\192.168.0.93\\SonosSpeak\\'.$Eventname.'.mp3');;\
      }\
    }


    im log wird
    2014.12.23 13:46:00 3: get events 12-23 : RestBioBlaueTonne
    angezeigt

    im eventmon
    Events:
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2014-12-23 13:58:00 FHEMWEB FHEMWEB:192.168.0.5:50095 rereadicons
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur currentAlbumArtURI: ./www/images/default/SONOSPLAYER/Sonos_Flur_AlbumArt.png
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur numberOfTracks: 1
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur currentTrackURI: //192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur currentTitle: RestBioBlaueTonne .mp3
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur currentAlbumArtist: STOPPED
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur currentAlbumArtURL: /fhem/sonos/cover/empty.jpg
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur currentSender:
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur currentSenderCurrent:
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur currentStreamAudio: 0
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur currentNormalAudio: 1
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur nextTrackURI:
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur nextTitle:
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur infoSummarize1: 'RestBioBlaueTonne .mp3'
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur infoSummarize2: STOPPED => 'RestBioBlaueTonne .mp3'
    2014-12-23 13:58:00 SONOSPLAYER Sonos_Flur STOPPED => 'RestBioBlaueTonne .mp3'
    2014-12-23 13:58:04 FHEMWEB FHEMWEB:192.168.0.5:50095 rereadicons
    2014-12-23 13:58:04 Global global ATTR Sonos_Eingang model Sonos_S1
    2014-12-23 13:58:04 SONOS Sonos ZoneGroupState:
    2014-12-23 13:58:04 FHEMWEB FHEMWEB:192.168.0.5:50095 rereadicons
    2014-12-23 13:58:04 CUL_HM WTM.Badezimmer_Weather temperature: 21.7
    2014-12-23 13:58:04 CUL_HM WTM.Badezimmer_Weather humidity: 40
    2014-12-23 13:58:04 CUL_HM WTM.Badezimmer_Weather T: 21.7 H: 40
    2014-12-23 13:58:04 dummy TrocknerWatt 2575.37
    2014-12-23 13:58:04 dummy TrocknerWatt 2575.37
    2014-12-23 13:58:04 dummy TrocknerWatt 2575.37
    2014-12-23 13:58:04 dummy TrocknerWatt 2575.37
    2014-12-23 13:58:04 dummy TrocknerWatt 2575.37
    2014-12-23 13:58:04 dummy TrocknerWatt 2575.37
    2014-12-23 13:58:04 dummy TrocknerWatt 2575.37
    2014-12-23 13:58:04 dummy TrocknerWatt 2575.37
    2014-12-23 13:58:04 CUL_HM Trockner_Pwr energy: 13878.1
    2014-12-23 13:58:04 CUL_HM Trockner_Pwr power: 2575.37
    2014-12-23 13:58:04 CUL_HM Trockner_Pwr current: 11239
    2014-12-23 13:58:04 CUL_HM Trockner_Pwr voltage: 229.1
    2014-12-23 13:58:04 CUL_HM Trockner_Pwr frequency: 49.99
    2014-12-23 13:58:04 CUL_HM Trockner_Pwr eState: E: 13878.1 P: 2575.37 I: 11239 U: 229.1 f: 49.99
    2014-12-23 13:58:04 CUL_HM Trockner_Pwr boot: off
    2014-12-23 13:58:04 CUL_HM Trockner_Pwr 13878.1
    2014-12-23 13:58:04 CUL_HM Trockner_SenF 49.99
    2014-12-23 13:58:04 CUL_HM Trockner_SenI 11239
    2014-12-23 13:58:04 CUL_HM Trockner_SenPwr 2575.37
    2014-12-23 13:58:04 CUL_HM Trockner_SenU 229.1
    2014-12-23 13:58:04 Global global ATTR Sonos_Eingang model Sonos_S1
    2014-12-23 13:58:05 FHEMWEB FHEMWEB:192.168.0.5:50095 rereadicons
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur currentAlbumArtURI: ./www/images/default/SONOSPLAYER/Sonos_Flur_AlbumArt.gif
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur numberOfTracks: 3
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur currentTrackURI: aac://mp3ad.egofm.c.nmdn.net/egofm_mobile/livestream.aac
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur currentTitle:
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur currentAlbumArtist:
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur currentAlbumArtURL: http://192.168.0.61:1400/getaa?s=1&u=x-sonosapi-stream%3as96182%3fsid%3d254%26flags%3d32%26sn%3d0
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur currentSender: ego FM
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur currentSenderCurrent: egoFM Netz
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur currentStreamAudio: 1
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur currentNormalAudio: 0
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur nextTrackURI: http://mp3ad.egofm.c.nmdn.net/ps-egofm_192/livestream.mp3
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur nextTitle: livestream.mp3
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur infoSummarize1: ego FM: 'egoFM Netz' -
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur infoSummarize2: STOPPED => ego FM: 'egoFM Netz' -
    2014-12-23 13:58:05 SONOSPLAYER Sonos_Flur STOPPED => ego FM: 'egoFM Netz' -



    der file existiert auch und kann auch direkt per fhem aufgerufen werden wird auch abgespielt
    nur warum auch immer im event macht er es nicht mehr ?

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Dezember 2014, 14:18:30
    Hi m311331,

    nicht verzweifeln... das finden wir schon...

    Ich finde die Ausgabe in dem Reading "currentTitle" etwas komisch. Dort steht ein Leerzeichen vor dem ".mp3". Allerdings kommt es im Reading "currentTrackURI" nicht vor...
    Wir bräuchten mal die 5er Logs des SubProzesses dazu. Dort sollte eigentlich stehen, was er genau übermittelt bekommt, die Ausgaben hier sind ja schon die Reaktion des Player darauf.
    Und dort steht im LastActionResult ja auch eine Fehlermeldung zur Wiedergabeanforderung...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 23 Dezember 2014, 15:24:05
    Hi reinerlein,

    du bist der BESTE !!!
    echt ich weiss nicht was ich sagen soll, so eine tolle Hilfe hatte ich noch nie  :)

    erstlam hier der Log

    m311331@Home-Server:/opt/fhem$
    m311331@Home-Server:/opt/fhem$ 2014.12.23 15:17:00 5: SONOS0: Received: 'DoWork:RINCON_B8E9378.mp3'01400_MR:playURITemp:\\192.168.0.93\SonosSpeak\RestBioBlaueTonne
    2014.12.23 15:17:00 4: SONOS5: SONOS_Client_Data_Retreive(SONOS, reading, UserID_Spotify, -) -> DEFAULT
    2014.12.23 15:17:00 4: SONOS5: SONOS_Client_Data_Retreive(SONOS, reading, UserID_Napster, -) -> DEFAULT
    2014.12.23 15:17:00 3: SONOS5: Start temporary playing of "\\192.168.0.93\SonosSpeak\RestBi.mp3"eTonne
    2014.12.23 15:17:00 4: SONOS5: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f4bc8122688)
    2014.12.23 15:17:01 4: SONOS5: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f4bc85fdb60)
    2014.12.23 15:17:01 4: SONOS5: All is started successfully. Retreive Positioninfo...
    2014.12.23 15:17:01 4: SONOS5: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, def, NAME, RINCON_B8E9378F49E001400_MR) -> Sonos_Flur
    2014.12.23 15:17:01 4: SONOS5: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, disable, 0) -> DEFAULT
    2014.12.23 15:17:01 3: SONOS5: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.23 15:17:01 4: SONOS5: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378F49E001400_MR'
    2014.12.23 15:17:01 4: SONOS5: Transport-Event: GroundURL: http://192.168.0.61:1400
    2014.12.23 15:17:01 4: SONOS5: 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="1"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="x-file-cifs://192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-file-cifs:*:application/octet-stream:*&quot;&gt;x-file-cifs://192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;dc:title&gt;RestBioBlaueTonne .mp3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val="x-file-cifs://192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;&quot; parentID=&quot;&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;RINCON_AssociatedZPUDN&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><PlaybackStorageMedium val="NETWORK"/><AVTransportURI val="x-file-cifs://192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3"/><AVTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;&quot; parentID=&quot;&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;RINCON_AssociatedZPUDN&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><CurrentTransportActions val="Set, Play, Stop, Pause, Seek, Next, Previous"/><r:CurrentValidPlayModes val="CROSSFADE"/></InstanceID></Event>
    2014.12.23 15:17:01 4: SONOS5: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-file-cifs:*:application/octet-stream:*">x-file-cifs://192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><dc:title>RestBioBlaueTonne .mp3</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.23 15:17:01 4: SONOS5: Transport-Event: Normal erkannt!
    2014.12.23 15:17:01 4: SONOS5: Transport-Event: NextTrackMetaData:
    2014.12.23 15:17:01 4: SONOS5: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f4bc8122688)
    2014.12.23 15:17:01 3: SONOS5: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.23 15:17:01 4: SONOS5: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, def, NAME, RINCON_B8E9378F49E001400_MR) -> Sonos_Flur
    2014.12.23 15:17:01 4: SONOS5: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, disable, 0) -> DEFAULT
    2014.12.23 15:17:01 3: SONOS5: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.23 15:17:01 4: SONOS5: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378F49E001400_MR'
    2014.12.23 15:17:01 4: SONOS5: Transport-Event: GroundURL: http://192.168.0.61:1400
    2014.12.23 15:17:01 4: SONOS5: 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="1"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="x-file-cifs://192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-file-cifs:*:application/octet-stream:*&quot;&gt;x-file-cifs://192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;dc:title&gt;RestBioBlaueTonne .mp3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val="x-file-cifs://192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;&quot; parentID=&quot;&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;RINCON_AssociatedZPUDN&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><TransportStatus val="ERROR_N0_RESOURCE"/><TransportErrorDescription val="14,0,RestBioBlaueTonne.mp3,//192.168.0.93/SonosSpeak,//192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3,"/><TransportErrorURI val="x-file-cifs://192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3"/></InstanceID></Event>
    2014.12.23 15:17:01 4: SONOS5: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-file-cifs:*:application/octet-stream:*">x-file-cifs://192.168.0.93/SonosSpeak/RestBioBlaueTonne.mp3</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><dc:title>RestBioBlaueTonne .mp3</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.23 15:17:01 4: SONOS5: Transport-Event: Normal erkannt!
    2014.12.23 15:17:01 4: SONOS5: Transport-Event: NextTrackMetaData:
    2014.12.23 15:17:01 4: SONOS5: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f4bc8122688)
    2014.12.23 15:17:01 3: SONOS5: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.23 15:17:01 3: SONOS6: Restorethread has found a job. Waiting for stop playing...
    2014.12.23 15:17:02 3: SONOS6: Restoring playerstate...
    2014.12.23 15:17:04 4: SONOS5: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, def, NAME, RINCON_B8E9378F49E001400_MR) -> Sonos_Flur
    2014.12.23 15:17:04 4: SONOS5: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, disable, 0) -> DEFAULT
    2014.12.23 15:17:04 3: SONOS5: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.23 15:17:04 4: SONOS5: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378F49E001400_MR'
    2014.12.23 15:17:04 4: SONOS5: Transport-Event: GroundURL: http://192.168.0.61:1400
    2014.12.23 15:17:04 4: SONOS5: 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="3"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://mp3ad.egofm.c.nmdn.net/egofm_mobile/livestream.aac"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s96182?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;egoFM Netz,p276619&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as96182%3fsid%3d254%26flags%3d32%26sn%3d0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s96182?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="x-rincon-mp3radio://mp3ad.egofm.c.nmdn.net/ps-egofm_192/livestream.mp3"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-rincon-mp3radio:*:*:*&quot;&gt;x-rincon-mp3radio://mp3ad.egofm.c.nmdn.net/ps-egofm_192/livestream.mp3&lt;/res&gt;&lt;dc:title&gt;livestream.mp3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s96182?sid=254&amp;flags=32&amp;sn=0"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;ego FM&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><PlaybackStorageMedium val="NETWORK"/><AVTransportURI val="x-sonosapi-stream:s96182?sid=254&amp;flags=32&amp;sn=0"/><AVTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;ego FM&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><CurrentTransportActions val="Set, Play, Stop, Pause, Seek, Next, Previous"/><r:CurrentValidPlayModes val="CROSSFADE"/></InstanceID></Event>
    2014.12.23 15:17:04 4: SONOS5: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s96182?sid=254&amp;flags=32&amp;sn=0</res><r:streamContent></r:streamContent><r:radioShowMd>egoFM Netz,p276619</r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as96182%3fsid%3d254%26flags%3d32%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s96182?sid=254&amp;flags=32&amp;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.23 15:17:04 4: SONOS5: Transport-Event: Stream erkannt!
    2014.12.23 15:17:04 3: SONOS6: Playerstate restored!
    2014.12.23 15:17:04 4: SONOS5: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-rincon-mp3radio:*:*:*">x-rincon-mp3radio://mp3ad.egofm.c.nmdn.net/ps-egofm_192/livestream.mp3</res><dc:title>livestream.mp3</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.23 15:17:04 4: SONOS5: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f4bc8122688)
    2014.12.23 15:17:04 3: SONOS5: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.23 15:17:04 4: SONOS5: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, def, NAME, RINCON_B8E9378F49E001400_MR) -> Sonos_Flur
    2014.12.23 15:17:04 4: SONOS5: SONOS_Client_Data_Retreive(RINCON_B8E9378F49E001400_MR, attr, disable, 0) -> DEFAULT
    2014.12.23 15:17:04 3: SONOS5: Event: Received Transport-Event for Zone "Sonos_Flur".
    2014.12.23 15:17:04 4: SONOS5: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378F49E001400_MR'
    2014.12.23 15:17:04 4: SONOS5: Transport-Event: GroundURL: http://192.168.0.61:1400
    2014.12.23 15:17:04 4: SONOS5: 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="3"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://mp3ad.egofm.c.nmdn.net/egofm_mobile/livestream.aac"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s96182?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;egoFM Netz,p276619&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as96182%3fsid%3d254%26flags%3d32%26sn%3d0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s96182?sid=254&amp;amp;flags=32&amp;amp;sn=0&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="x-rincon-mp3radio://mp3ad.egofm.c.nmdn.net/ps-egofm_192/livestream.mp3"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-rincon-mp3radio:*:*:*&quot;&gt;x-rincon-mp3radio://mp3ad.egofm.c.nmdn.net/ps-egofm_192/livestream.mp3&lt;/res&gt;&lt;dc:title&gt;livestream.mp3&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-sonosapi-stream:s96182?sid=254&amp;flags=32&amp;sn=0"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;ego FM&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2014.12.23 15:17:04 4: SONOS5: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s96182?sid=254&amp;flags=32&amp;sn=0</res><r:streamContent></r:streamContent><r:radioShowMd>egoFM Netz,p276619</r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as96182%3fsid%3d254%26flags%3d32%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s96182?sid=254&amp;flags=32&amp;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.23 15:17:04 4: SONOS5: Transport-Event: Stream erkannt!
    2014.12.23 15:17:04 4: SONOS5: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-rincon-mp3radio:*:*:*">x-rincon-mp3radio://mp3ad.egofm.c.nmdn.net/ps-egofm_192/livestream.mp3</res><dc:title>livestream.mp3</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2014.12.23 15:17:04 4: SONOS5: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f4bc8122688)
    2014.12.23 15:17:04 3: SONOS5: Event: End of Transport-Event for Zone "Sonos_Flur".
    2014.12.23 15:17:12 1: SONOS0: Connection accepted from localhost:60139
    2014.12.23 15:17:12 5: SONOS0: Received: 'hello'
    2014.12.23 15:17:12 5: SONOS0: Received: 'goaway'
    2014.12.23 15:17:42 1: SONOS0: Connection accepted from localhost:60144
    2014.12.23 15:17:42 5: SONOS0: Received: 'hello'
    2014.12.23 15:17:42 5: SONOS0: Received: 'goaway'
    2014.12.23 15:18:12 1: SONOS0: Connection accepted from localhost:60145
    2014.12.23 15:18:12 5: SONOS0: Received: 'hello'
    2014.12.23 15:18:12 5: SONOS0: Received: 'goaway'


    ich sehe schon da wird im namen des files wohl was zestückelt  :o
    jetzt grübel ich mal was ich da machen könnte  ???


    PS: solltest du in der nähe von München wohnen oder mal in die nähe kommmen gib mir bescheid
    du bist herzlichts bei mir zum Essen eingeladen ;)

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Dezember 2014, 15:40:17
    Hi m311331,

    kann das ein Newline sein?

    Schieb mal folgende Zeile vor die Fhem-Play-Anweisung in deinem Code:

    $Eventname =~ s/[ \n\r]//g;

    Damit werden alle Leerzeichen und Newlines entfernt.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 23 Dezember 2014, 15:53:06
    Hi reinerlein,

    wäre es so richtig ?

    define CheckEventHeute at *15:17:00 {\
      my $Eventname;;\
      my $EventHeute;;\
      $EventHeute = fhem("get events ".strftime("%m-%d",localtime()));;\
      print $EventHeute;;\
      if ($EventHeute ne "none") {\
        $Eventname = "$EventHeute" ;;\
        $Eventname =~ s/[ \n\r]//g;;\
        fhem('set Sonos_Flur PlayURITemp \\\\192.168.0.93\\SonosSpeak\\'.$Eventname.'.mp3');;\
      }\
    }


    ich teste mal

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Dezember 2014, 16:48:01
    Hi m311331,

    yup, so meinte ich es. Geht es denn?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 23 Dezember 2014, 17:33:46
    Hi reinerlein,


    schaut gut aus
    bin jetzt mal gespannt um 19:00 uhr sollen jetzt immer die Meldungen kommen
    mal sehen was meine Frau dazu sagt  ;D


    mfg. m311331   
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 30 Dezember 2014, 23:06:34
    Hallo zusammen,

    ich beschäftige mich seit einiger Zeit mit FHEM und steuere bereits einige Aktoren und Sensoren über meinen Raspberry pi.

    Zudem habe ich mehrere Sonos-Lautsprecher, die ich gerne bei Events zur Sprachausgabe nutzen würde.

    In diesem Zusammenhang bin ich sehr verwundert, wieso ein Großteil der Mitglieder hier die Sonos-Komponenten mit FHEM bedienen möchte. Vielleicht mache ich da ja einen Denkfehler, aber ich finde, dass die Sonos-App, z. B. auf dem iPhone, alle Möglichkeiten bietet, die Lautsprecher einfach und übersichtlich zu bedienen.

    Aber diese Lautsprecher bei Events zu nutzen, finde ich interessant. In meinem speziellen Fall denke ich da an mein Badezimmerfenster. Bei zu lange geöffneten Fenster erhalte ich zur Zeit eine E-Mail und ebenso, wenn das Fenster wieder geschlossen wurde.

    Ich würde das gerne auch per Sprachausgabe über den einen oder anderen Lautsprecher ausgeben lassen. Später eventuell auch mal mehr, wenn z. B. die Beleuchtung im Garten durch den Bewegungsmelder in der Nacht eingeschaltet wird.

    Nun habe ich angefangen, die entsprechende Config zu erstellen. Vorher habe ich die vier Perlmodule nachinstalliert, LWP::Simple, LWP::UserAgent, SOAP::Lite, HTTP::Request.

    Danach habe ich die "Einrichtung von Samba für Sprachausgabemöglichkeit" vorgenommen und mich strikt an der Anleitung orientiert. Im Anschluss habe ich in diese Samba-config
    [SonosSpeak]
      comment = Audio-Files for SonosPlayer to Speak
      read only = false
      path = /mnt/SonosSpeak
      guest ok = yes

    und

    [global]
      security = share

    eingetragen und den Samba-Server neu gestartet.

    Jetzt frage ich mich, ob ich das Text2Speech-Modul gemäß Anleitung installieren kann oder mit einer mp3-Datei im Verzeichnis mnt/SonosSpeak arbeiten muss.

    Zudem wäre ich für einen Tipp dankbar, wie ich meine geringen Anforderungeswünsche umsetzen kann, ohne die anderen, umfangreichen Programmierungen vorzunehmen.

    Sorry und danke für Eure Unterstützung.

    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Dezember 2014, 23:50:29
    Hi Mandel,

    hallo, und willkommen in dieser Runde. Am Besten wäre das wohl in einem eigenen Thema gewesen, da die Frage vielleicht mehrere interessiert:-)

    Zunächst: Es gibt unendlich viele Anwendungsfälle, die man vielleicht mit seinen Sonos-Komponenten abdecken möchte. Und um diese alle ermöglichen zu können, muss das Modul so umfangreich sein.
    Z.B. Könnte man sich bzgl. der Steuerung vorstellen, dass man ungern einem kleinen Kind einen ganzen Controller in die Hand geben möchte, mit der Gefahr, das wegen fehlender Lesefähigkeit alles im Haus umgestellt wird. Da wäre ein Homematic-Sechsfachtaster mit diversen Playlisten und Lautstärken belegt die bessere Wahl :-)
    Oder an einem Player soll die Lautstärke nicht beliebig verstellt werden dürfen (meist gibt es eine obere Grenze:-). Mit dem Modul kannst du da sehr einfach Grenzen festlegen...
    und, und, und...

    Aber zu deinem Thema:
    Hast du denn das Sonos-Device definiert? und funktioniert es (sprich: hat es alle Player erkannt, und entsprechend die Fhem-Devices angelegt)?

    Wenn ja: Super, dann ist das meiste schon geschaft.

    Du musst jetzt nur noch am Sonos-Device die Eigenschaften für Sprachoptionen (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Attribute_von_SONOS (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Attribute_von_SONOS)) nach deinen Bedürfnissen einrichten. Mindestens "targetSpeakDir" und "targetSpeakURL", empfehlenswert ist das folgende:

    attr Sonos targetSpeakDir /mnt/SonosSpeak
    attr Sonos targetSpeakURL \\192.168.0.0\SonosSpeak
    attr Sonos targetSpeakFileTimestamp 1
    Der Dir-Eintrag sollte so passen, den URL-Eintrag musst du auf die IP-Adresse des Fhem-Geräts anpassen. Der Timestamp sorgt für eine bessere Laufsicherheit und Anzeige im Controller, da zumindest ich ab und an Probleme mit zwischengespeicherten Dateien im Sonos-System hatte...

    Nach einem Neustart (Attribute der Komponenten werden nur bei einem Start an den Subprozess übergeben), kannst du folgenden Fhem-Befehl auf einem Playerdevice absetzen:

    set Sonos_Wohnzimmer Speak 20 de Dies ist ein Test
    Natürlich musst du deinen Playerdevicenamen verwenden...

    Ansonsten kann ich dir zu den Möglichkeiten das Wiki ans Herz legen: http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel). Dort steht einiges beschrieben, vor allem sind die diversen Befehle und Einstellungen meist mit Beispielen versehen (in der Commandref steht immer nur der Befehl und seine Parameter).

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Otto am 31 Dezember 2014, 07:36:50
    Hallo Mandel,

    ZitatJetzt frage ich mich, ob ich das Text2Speech-Modul gemäß Anleitung installieren kann oder mit einer mp3-Datei im Verzeichnis mnt/SonosSpeak arbeiten muss.
    Ich denke du meinst den Offline-Sprachsynthetisierer espeak wie in der Wiki beschrieben?

    Wenn du nicht eine Offine Lösung brauchst, dann kannst du es weglassen.

    Der Befehl set Sonos_Wohnzimmer Speak 20 de Dies ist ein Test legt eine MP3 Datei im Dir Verzeichnis an und spielt dieses dann ab.
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 31 Dezember 2014, 15:40:23
    Hi reinerlein,

    Also es läuft soweit
    der  ::) meiner Frau sagte schon alles ;D
    nur etwas ist mir aufgefallen
    und ich komme nicht dahinter
    FHEM oder die holiday funktion mögen keinen 31.XX.XXXX als Datum
    ich habe zwei Datein einmal für Müll und einmal  für Geburtstage
    immer wenn es ein 31. ist wird bei abruf get geburtstage MM-DD 12-31
    none ausgegeben obwohl ein Eintrag besteht  :o

    Fehlermeldung habe ich keine, komme hierbei einfach nicht weiter
    hast du evtl. eine Idee ?


    P.S: einen Guten rutsch ins neue Jahr wünsche ich dir !!!

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Dezember 2014, 16:31:53
    Hi m311331,

    ich verwende das Modul nicht, und kann dir da deswegen auch nicht behilflich sein.
    Das müsstest du mal in das passende Forum posten (laut Maintainer-Datei Rudi im Forum "Sonstiges")...

    Auf jeden Fall wird Rudi deine Geburtstagsdatei brauchen, da der Fehler vermutlich dort zu suchen ist...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: FHEM-Freak am 31 Dezember 2014, 16:34:12
    Zitat von: FHEM-Freak am 05 September 2014, 12:08:33
    Stelle gerade um von raspberry pi auf banana pi und es läuft noch nix da ich es von Grund auf neu und sauber installieren möchte.

    Anscheinend noch keiner getestet.
    Zitat von: Spartacus am 05 September 2014, 14:35:33
    Hallo FHEM-Freak,
    sehr mutig von Dir, direkt an zwei Schrauben gleichzeitig zu drehen!

    melde Dich mal, wenn der Sonos läuft....

    Spartacus
    Ist schon lange her aber vollständigkeitshalber natürlich die Info.
    Fhem läuft am BananaPi und natürlich Sonos 5.2 auch mit den Sonos Modul.

    Noch allen einen guten Rutsch und Dank an Reinerlein für seine tolle Arbeit.

    Gruß FHEM-Freak
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 03 Januar 2015, 01:31:36
    Danke, Reinerlein, danke Otto.

    Ich hatte Eure Beiträge zunächst nicht gesehen, da sich scheinbar Tapatalk nicht aktualisiert hat.

    Leider müssen wir bei mir wohl noch ein paar Schritte vorher anfangen. Hier sind alle schon so weit, dass ich wohl als Bremsklotz fungiere ...

    Ja, ich glaube, das Sonos-Device gemäß der Anleitung richtig definiert zu haben. Und nein, es funktioniert leider nicht.

    Ich bekomme die Fehlermeldung "Cannot load module SONOS" und dann "Please define SonosZP_Kueche first".

    Zwei Fragen stelle ich mir in diesem Zusamenhang:
    1. Bei "define Sonos SONOS localhost:4711 30 1 5" habe ich "Sonos" durch "SonosZP_Kueche", um damit anzufangen, ersetzt und bei "localhost" durch die ip-Adresse dieses Lautsprechers ersetzt. Alles andere habe ich so gelassen. Muss ich diese Portfreigabe noch unter Freigaben auf meiner Fritzbox vornehmen?
    Später würde ich dann wohl alle Lautsprecher bis auf das Wohnzimmer ansprechen wollen, da hier der Connect andere Lautsprecher bedient, die über einen AV-Receiver laufen.
    2. In dem Link http://fhem.lmsoft.de/sonos_dev/FHEM/00_SONOS.pm stehen neben den zu installierenden Modulen im Anwendungsbeispiel (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel) Simple, UserAgent, Lite und Request auch noch HTML::Entities, Net::Ping, File::Path, Time::HiRes, * threads und Thread::Queue. Müssen die auch noch per "sudo cpan ..." nachinstalliert werden?

    Danke für Eure Geduld und Unterstützung.

    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2015, 02:19:38
    Hi Mandel,

    ok, kein Problem...
    du solltest dir auf jeden Fall die Wiki-Seite durchlesen: http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel)
    Dort kannst du viel über die Funktionsweise des Sonos-Systems und das Modul lernen.

    Kurz zusammengefasst, für dich das wichtigste:
    - Wirf alles aus der Fhem-Konfiguration bzgl. Sonos raus. Mir scheinen da einzelne Teile zu existieren, die nicht passen
    - Mach ein Update in Fhem. Das Modul ist mittlerweile integraler Bestandteil von Fhem
    - Installier die Perl-Module, wie im Wiki beschrieben. Es geht nur um die drei (bzw. vier) dort genannten Module. Die anderen sollten mittlerweile Standard von Perl sein. Falls du einen Pi oder ähnliches mit Debian hast, ist es besonders einfach: http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Hinweis_f.C3.BCr_Debian-Systeme (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Hinweis_f.C3.BCr_Debian-Systeme)
    - Du musst *nie* einen Sonos-Player selber definieren. Das Modul erkennt automatisch *alle* Player im Netz und legt die entsprechenden Fhem-Devices an. Achte darauf, dass du gerade keine _temporären_ Stereopaare oder Gruppierungen bei Sonos hast. Sonst bekommst du komische Namen erzeugt...
    - Du musst nur das Sonos-Device definieren. Die kürzeste Form dafür ist ein "define Sonos SONOS localhost:4711 30" in das Eingabefeld zu tippen, und Enter zu drücken. Die anderen Parameter sind Finetuning und erstmal noch nicht notwendig. Das localhost bezieht sich nicht auf einen Player, sondern auf die Adresse, unter der der SubProzess erreichbar sein wird...
    - Sollten noch Fehlermeldungen auftauchen, sollten diese eigentlich nur auf fehlende Perl-Libraries hinweisen, dann nochmal prüfen, ob wirklich alles aus dem Wiki installiert ist. (Sollten andere Fehlermeldungen auftauchen, dann hier posten)
    - Tauchen keine Fehler mehr auf, dann tauchen alle deine Player auf, und du kannst deinen Spaß damit haben :)

    Grüße
    Reinerlein

    P.S.: Du musst erstmal keine Portfreigaben auf der Fritzbox machen. Das ist ja erstmal alles Hausintern...
    P.P.S.: Gerade für das Wohnzimmer bietet sich das hier an. Dafür habe ich das Modul überhaupt erst geschrieben :). Wenn ich im Sonos-Controller die Musik im Wohnzimmer starte, bekommt Fhem das mit, und schaltet meinen Verstärker über eine Infrarotschnittstelle an. Wenn ich Stoppe, dann auch (etwas Zeitverzögert) wieder aus.
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 03 Januar 2015, 11:00:26
    Super, Deine Anleitungen. Damit dürfte nichts schief gehen - Danke :-)

    Allerdings bekomme ich eine Fehlermeldung bei der Installation des letzten Pakets, bei der ich mir nicht zu helfen weiß:
    E: Paket libxml-parser-lite-perl kann nicht gefunden werden

    Kannst Du mir hier noch einmal helfen und sagen, was ich tun muss? Die anderen beiden Pakete sind installiert.

    Nachsatz: Das ist ja cool. Ich habe den Befehl trotzdem mal in die Kommandozeile geschrieben. Und Sonos ist jetzt da :-)
    Brauche ich dann vielleicht gar nicht das "libxml-parser-lite"-Modul zu installieren?

    Danke und viele Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2015, 11:29:26
    Hi Mandel,

    ich sehe gerade, dass es das Paket gar nicht mehr in einem Stable-Zweig von Debian gibt. Auch habe ich festgestellt, dass ich das anscheinend gar nicht mehr verwende (zumindest habe ich keine entsprechende use-Anweisung mehr gefunden :) )

    Es ist also gut möglich, dass es obsolet ist, und gar nicht mehr benötigt wird. Sorry für diese alte Dokumentationslage...

    Kannst du einfach mal (wenn die anderen beiden Debian-Packages installiert sind, denn die werden wirklich benötigt) mit dem nächsten Schritt weitermachen?
    Wenn das erfolgreich zum Ende kommt, werde ich die Doku an beiden Stellen (Wiki und Code) entsprechend anpassen und korrigieren.

    Danke schon mal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2015, 11:30:36
    Hi Mandel,

    überschneidung :)

    Ich werde die Doku entsprechend anpassen... Danke nochmal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 03 Januar 2015, 11:51:33
    Das ist ja geil. Ich taste mich gerade ran.

    Es sind alle Player von alleine da inkl. der Cover, nächster Song usw. cool. Allerdings kann ich so nicht erkennen, welche Player gerade laufen und welche nicht ...

    Der Verbindungsaufbau dauert allerding eine Zeit. Das ist wohl aber normal, oder?

    Aber sehr geile Arbeit. Nun muss ich noch ein wenig modifizieren und sehen, dass ich das mit der Sprachausgabe hinbekomme.

    Danach frage ich Dich dann bestimmt noch einmal nach dem Infrarot-Modul, mit dem ich meinen AV Receiver anschalten kann.

    Sehr geile Arbeit, Reinerlein. Ich freu mich.

    Wenn ich mit der Tonausgabe noch Schwierigkeiten haben sollte, melde ich mich noch einmal ... Wahrscheinlich auch so ;-)

    Nachsatz: Brauche ich denn in meier Sonos.cfg trotzdem noch den Befehl: define Sonos SONOS localhost:4711 30 1 5?

    2. Nachsatz: Das mit der Sprachausgabe klappt leider nicht. Meine Sonos.cfg sieht so aus:
    define Sonos SONOS localhost:4711 30 1 5
    attr Sonos icon icoSONOSPLAYER_icon-ZP90.png
    attr Sonos targetSpeakDir /mnt/SonosSpeak
    attr Sonos targetSpeakFileTimestamp 1
    attr Sonos targetSpeakURL \\localhost\SonosSpeak

    Localhost hatte ich sowohl durch die ip-Adresse des Küchenlautsprechers als auch durch die das Raspberry Pi ersetzt. Ton kommt trotzdem nicht heraus. Weißt Du, was ich falsch mache?

    Viele Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2015, 12:17:45
    Hi Mandel,

    schön, das es jetzt geht. Ich habe das Wiki und die Doku gerade angepasst. Da war einfach noch was altes übrig geblieben...

    Zu der Anzeige:
    In der ersten Textzeile steht doch sowas wie "Pausiere Titel 1 von 20" oder "Spiele Titel 2 von 20". Das ist der Abspielstatus. Das ändert sich (dank longpoll) auch (nahezu) in Echtzeit mit. Auch kannst du das Cover des aktuellen Titels anklicken, und erhältst eine Vollbilddarstellung...

    Zu dem Infrarot:
    Ich habe das noch aus FS20-Zeiten. Da gibt es einen Infrarotsender (FS20 IRF), den man anlernen kann, sodass er gespeicherte Infrarot-Kommandos aussenden kann. Der liegt im Schrank bei meinem Verstärker (und Fernseher), und kann diese Komponenten dann optisch erreichen und schalten.
    Dieses Gerät wird leider nicht mehr von ELV verkauft (wie ich gerade beim Heraussuchen des Links festgestellt habe). Die angekündigte Ersatzvariante von Homematic (avisiert für Ende 2014) wurde nochmal verschoben...

    Es gibt aber auch eine modernere Variante mit Logitechs Harmony Hub...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 03 Januar 2015, 12:18:19
    Zitat von: Reinerlein am 03 Januar 2015, 02:19:38
    schaltet meinen Verstärker über eine Infrarotschnittstelle an.

    Hi Reinerlein,

    welches Device nutzt du für die Infrarotkommunikation?

    Bei mir wird glücklicherweiße zwar der AVR durch ein Fhem-Modul direkt unterstützt, allerdings bin ich schon seit einiger Zeit am Überlegen was ich benutzen soll um meine Dunstabzugshaube zu steuern welche nur Infrarot kann ;)

    Danke und Gruß Claudiu

    EDIT:
    Danke für die Antwort die schon vor meiner Frage kam  ;D 8)
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 03 Januar 2015, 12:21:27
    Der Hamony Hub ist zu empfehlen, wen man etwas geschickt einkauft bekommt man eine super lösung für ~60€

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2015, 12:25:42
    Hallo,

    wow, alle wach :)

    Zu der Sprachausgabe: Die IP-Adresse in dem Attribut "targetSpeakURL" muss die des per Windows-Freigabe erreichbaren Systems sein.

    Du kannst das im ersten Schritt mit deinem normalen Computer testen (unter Windows z.B.: Start -> Ausführen -> \\192.168.178.149\SonosSpeak
    Dann solltest du den Ordner von deinem Pi sehen. Wobei ich davon ausgehe, dass diese IP Adresse eher die von deinem Player ist.
    Die Adressen von deinen Zoneplayern brauchst du mit diesem Modul *nie* zu wissen. Das UPnP-Protokoll abstrahiert davon (zumindest für dich als Anwender :) ).

    Was du auch beachten musst: Wenn du ein Attribut des Sonos-Devices oder der Sonosplayer-Devices anpasst, dann musst du einen Neustart von Fhem durchführen. Die Attribute werden nur beim Start übertragen.
    Das ist leider eine Enschränkung durch die Methodik die ich verwendet habe...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2015, 12:30:06
    Hi Mandel,

    ich sehe gerade, dass noch eine Frage offengeblieben ist:
    Ja, in der Konfiguration landet ein define-Zeile. In welcher Config-Datei die jetzt steht ist dann egal, sie muss nur *vor* allen Sonosplayer-Defines stehen, und es darf nur eine einzige in der gesamten Fhem-Config geben...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 03 Januar 2015, 12:39:10
    Ich habe die nicht in der fhem.cfg stehen, sondern per "include"-Befehl an die Sonos.cfg übergeben. Allerdings hätte ich einen automatischen Eintrag in der fhem.cfg erwartet, den ich dann übertragen hätte.

    Nun doch noch einmal zur Sprachausgabe: Doch, das Verzeichnis ist das meines Rasperry Pi. Allerdings ist das noch leer. Nur zum Verständnis, muss ich denn hier eine mp3-Datei mit diesem Namen haben?

    Als weitere Idee fällt mir gerade ein, dass es gar nicht schlecht wäre, die Musik der Kinder im Obergeschoss mit verschiedenen Nachrichten zu unterbrechen, wie z. B. "Essen ist fertig" oder "Schlafenszeit" ... Und das möglichst per einfachem Knopfdruck mit vielleicht hinterlegten Buttons für die Nachrichten.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2015, 12:59:57
    Hi Mandel,

    das das Verzeichnis leer ist, ist schon mal gut. Setz mal folgenden Befehl ab:

    set Sonos_Wohnzimmer Speak 10 de Dies ist ein Test
    (passend zu deinem Player natürlich)
    Daraufhin muss erstmal eine Datei in dem Verzeichnis auftauchen (kannst du ja wieder mit deinem Computer nachschauen).
    Wenn die nicht da ist, dann stimmen die Dateirechte für den Ordner nicht, und Fhem hat keine Rechte dort hineinzuschreiben. Das musst du dann entsprechend anpassen z.B. mit:

    sudo chmod 777 /mnt/SonosSpeak
    Damit erhält alles und jeder das Schreibrecht auf diesem Ordner.

    Wenn die Datei auftaucht, und Sonos die trotzdem nicht abspielt, dann müssen wir Logdateien durchschauen...

    Und ja, wenn die Sprachausgabe funktioniert, kannst du das natürlich mit einem beliebigen Notify anstossen. Die Wiedergabe wird unterbrochen, Durchsage wird durchgeführt, Wiedergabe wird fortgeführt...
    Du kannst auch von dir fertig gebaute MP3-Dateien temporär abspielen lassen (geht dann per "PlayURITemp").

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 03 Januar 2015, 13:35:24
    Rechte habe ich geändert. Mein Problem ist auch, dass die Player häufig "disappearen" ...

    Jetzt geht's ... Dauert ein wenig, bis die Musik wieder läuft, aber auch das klappt. Kann man die Pause nach der Sprachnachricht bis zur Wiederaufnahme der Musik verkürzen?

    Nun muss ich mal sehen, dass ich das entsprechend in meine Befehle integriere und mp3-Dateien einsetze. Ansonsten haut mir das System ja den Ordner voll.
    Oder geht es auch, die "translate_tts"-URL einzubauen, so dass die Übersetzung direkt aus dem Internet kommt?

    Vielen Dank aber noch einmal. Das war tatsächlich mal wieder der Fehler.

    "Pausiert" bzw. "Spiele" steht da, hatte ich übersehen.

    Nachsatz: Obwohl ich jetzt versuche, die Sprachnachricht nur im Bad_EG abzuspielen, wird diese auch in der Küche übertragen. Woran mag das liegen?

    Nachsatz 2: Fehler bemerkt. Ich hatte den Kindern gesagt, dass sie bitte keine Gruppen bilden sollen. Meine Frau hatte das aber nicht mitbekommen ;-)

    Nachsatz 3: Kann das System eigentlich nur mp3 oder vielleicht auch m4a oder wma wiedergeben?

    Nachsatz 4 ;-): #############################################################
    #
    # Sensor Badezimmerfenster EG
    #
    #############################################################
    #
    # Flag zum Behalten der Information das nach 30 Minuten eine Email zur Meldung des offene Fensters herausgegangen ist
    # Wird nach diesen 30 Minuten das Fenster geschlossen, wird eine weitere Email versendet
    # Flag_email_gesendet = 00 bedeutet: keine Email nach 30 Minuten offen gesendet
    # Flag_email_gesendet = FF bedeutet: eine Email nach 30 Minuten offen gesendet
    #
    define Flag_email_gesendet dummy
    #
    # Festellung, dass das Fenster 30 Minuten offen war. Eine Email wird versendet. Flag Flag_email_gesendet wird gesetzt.
    #
    define watchdog_Badezimmerfensterkontakt watchdog Sensor_Badezimmerfenster_EG:open 00:30:00 Sensor_Badezimmerfenster_EG:closed {\
          DebianMail('XXXXXXXXX@gmail.com','Bitte Badezimmerfenster schliessen!','Badezimmerfenster steht seit mehr als 30 Minuten offen. Bitte schliessen!');;\
          Log 1, "Badezimmerfenster.cfg: Badezimmerfenster zu lange geöffnet";;\
          fhem('setstate watchdog_Badezimmerfensterkontakt defined');;\
          fhem('set Flag_email_gesendet FF');;\
    }
    attr watchdog_Badezimmerfensterkontakt regexp1WontReactivate 1
    #
    #
    # Festellung, dass das Fenster, wenn es 30 Minuten offen war, danach geschlossen wurde. Es wird dann eine Email versandt und das Flag Flag_email_gesendet zurück gesetzt
    #
    define Badezimmerfenster_geschlossen_nach_30Min_offen notify Sensor_Badezimmerfenster_EG:closed  {\
        if (Value("Flag_email_gesendet") eq "FF")  {\
              DebianMail('XXXXXXXXXX@@gmail.com','Badezimmerfenster wurde geschlossen','Badezimmerfenster wurde nach mehr als 30 Minuten geschlossen.');;\
              Log 1, "Badezimmerfenster.cfg: Badezimmerfenster wurde geschlossen";;\
              fhem('set Flag_email_gesendet 00');;\
              }\
    }


    Neben der E-Mail würde ich nun zusätzlich noch die Sprachausgabe erhalten. Das heißt, es muss der Befehl "und" untergebracht werden.
    Wie bringe ich dann
    define Sonos_Haustuere_Auf notify TF.Sensor1:open set Sonos_Bad_EG,Sonos_Kueche, Sonos_Schlafzimmer PlayURITemp \\192.168.XXX.XXX\SonosSpeak\front%%20door%%20open.mp3 30
    verändert hier unter?

    Viele Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 03 Januar 2015, 15:34:14
    Hi reinerlein,

    habe gerade zwei neue Sonos Player eingebunden
    und mir fällt auf das die Ansicht der Player (Steuerung&Anzeige) der neuen jetzt anders ist als beiden "alten"
    da sind jetzt buttons  :o

    wie bekomme ich das jetzt bei den alten auch hin ?



    mfg. m311331
       
    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 03 Januar 2015, 16:24:09
    Einfach die alten Player löschen, und dann werden sie automatisch wieder neu angelegt...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2015, 16:39:58
    Hi,

    @m311331: Wenn du noch keine großartigen eigenen Einstellungen an den Playern gemacht hast, kannst du sie einfach aus deiner Config entfernen, und einen Neustart machen. Dann werden diese ja auch angelegt.

    Alternativ brauchst du nur jeweils ein Remote-Control Device basteln (als Vorlage kannst du ja die neu erzeugten Verwenden), und je einen passenden Weblink dazu, den du in die richtige Gruppe und den richtigen Raum zuweisen musst. Das musst du natürlich für jeden Player machen...

    @Mandel: Die Pause zwischen Sprachausgabe und Wiederaufnahme der Wiedergabe ist leider technisch bedingt, und hängt mit der Geschwindigkeit deine Fhem-Maschine zusammen, und wie schnell dein Netz ist.

    Zum Thema mit den Playern, die da disappearen, kannst du (zumindest mal testweise) den pingType auf "icmp" umstellen. Leider benötigt Fhem dafür dann root-Rechte... Ich habe mit dieser Variante aber deutlich bessere Ergebnisse...

    Die Sonos-Player können leider nicht die Google-Übersetzungsmaschine direkt als Wiedergabequelle verwenden. Das muss immer zwischengespeichert werden.
    Wenn du viele gleiche Wiedergaben haben wirst (Standardansagen z.B.) kannst du auch das Attribut "targetSpeakFileHashCache" setzen. Dann wird die Textsprachdatei nur einmal erzeugt, und immer wiederverwendet. Dann geht auch das Anstarten der Durchsage schneller, da Google nicht mehr dazwischenhängt (bzw. nur beim ersten Mal).

    Was Sonos alles wiedergeben kann, kann ich dir tatsächlich gar nicht sagen... ich habe hier nur die Standard-MP3-Dateien :)

    Zu der Mitteilung im Nachtrag:
    Du brauchst doch einfach nur zwischen "DebianMail" und der Log-Ausgabe noch einen fhem-Befehl einstreuen:

    fhem('set Sonos_Bad_EG,Sonos_Kueche,Sonos_Schlafzimmer PlayURITemp \\192.168.XXX.XXX\SonosSpeak\front%%20door%%20open.mp3 30');;\
    (übrigens hattest du in der Notify-Definition bei der Auflistung der Devices ein Leerzeichen zuviel)
    Die Maskierung der %-Zeichen braucht man glaube ich nur im Notify direkt. Beim Watchdog vermutlich nicht...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 03 Januar 2015, 16:51:04
    Danke Reinerlein.

    Das Attribut "targetSpeakFileHashCache" anstelle von "attr Sonos targetSpeakFileTimestamp 1"?
    Und dann lege ich mir ein paar mp3-Standardansagen in dem Verzeichnis bereit?

    Wir sind kurz davor, gleich läuft es wie gewünscht :-)

    Viele Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2015, 16:55:36
    Hi Mandel,

    genau, anstatt des Timestamp. Dann brauchst du dir allerdings keine Gedanken mehr um die Sprachdateien machen, sondern du machst immer nur Speak-Durchsagen. Den Rest erledigt das Modul dann...
    Du brauchst dann keine eigenen mehr ablegen (es sei denn du möchtest z.B. deine eigene Stimme als Durchsage haben :) )

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 03 Januar 2015, 17:22:19
    Ok, danke. Wobei mir der Unterschied zwischen  "targetSpeakFileHashCache" und "targetSpeakFileTimestamp 1" nicht so ganz klar ist. Ich kann auch in beiden Fällen manuelle Eingaben vorgeben, die im Verzeichnis gespeichert werden.

    Wenn ich auf "icmp" umstelle, wie stelle ich dann fhem auf "root"-Rechte um? Muss ich dann die Rechte aller Ordner einzeln ändern?

    Danke und viele Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 03 Januar 2015, 19:35:31
    Hi

    @Christoph danke

    @reinerlein danke dir auch



    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 04 Januar 2015, 12:50:57
    Hallo Reinerlein,

    ich brauche wohl noch einmal Deine Unterstützung.

    Das "Disappear"-Problem hält sich im Moment in Grenzen. Zur Zeit läuft alles rund.

    Allerdings werden meine mp3-Dateien nicht gespielt. Stattdessen wird die Musik, die zur Zeit läuft nur auf die per Befehl eingetragene Lautstärke angehoben. Andere Lautsprecher, die nicht liefen haben ihren aktuellen Song oder Radiosender eingeschaltet und auch auf die entsprechende Lautstärke angehoben.
    Die mp3-Datei in dem mnt/SonosSpeak-Verzeichnis blieb unberücksichtigt.

    Hier noch einmal meine Sonos.cfg:
    define Sonos SONOS localhost:4711 30 1 5
    attr Sonos icon icoSONOSPLAYER_icon-ZP90.png
    attr Sonos targetSpeakDir /mnt/SonosSpeak
    attr Sonos targetSpeakFileHashCache
    attr Sonos targetSpeakURL \\192.168.XXX.XXX\SonosSpeak


    Hier noch einmal die Badezimmerfenster.cfg:
    #############################################################
    #
    # Sensor Badezimmerfenster EG
    #
    #############################################################
    #
    # Flag zum Behalten der Information das nach 30 Minuten eine Email zur Meldung des offene Fensters herausgegangen ist
    # Wird nach diesen 30 Minuten das Fenster geschlossen, wird eine weitere Email versendet
    # Flag_email_gesendet = 00 bedeutet: keine Email nach 30 Minuten offen gesendet
    # Flag_email_gesendet = FF bedeutet: eine Email nach 30 Minuten offen gesendet
    #
    define Flag_email_gesendet dummy
    #
    # Festellung, dass das Fenster 30 Minuten offen war. Eine Email wird versendet. Flag Flag_email_gesendet wird gesetzt.
    #
    define watchdog_Badezimmerfensterkontakt watchdog Sensor_Badezimmerfenster_EG:open 00:30:00 Sensor_Badezimmerfenster_EG:closed {\
          DebianMail('XXXXXXXXX@gmail.com','Bitte Badezimmerfenster schliessen!','Badezimmerfenster steht seit mehr als 30 Minuten offen. Bitte schliessen!');;\
      fhem('set Sonos_Bad_EG,Sonos_Kueche,Sonos_Schlafzimmer PlayURITemp \\192.168.XXX.XXX\SonosSpeak\Badezimmerfenster_schliessen.mp3 55');;\
          Log 1, "Badezimmerfenster.cfg: Badezimmerfenster zu lange geöffnet";;\
          fhem('setstate watchdog_Badezimmerfensterkontakt defined');;\
          fhem('set Flag_email_gesendet FF');;\
    }
    attr watchdog_Badezimmerfensterkontakt regexp1WontReactivate 1
    #
    #
    # Festellung, dass das Fenster, wenn es 30 Minuten offen war, danach geschlossen wurde. Es wird dann eine Email versandt und das Flag Flag_email_gesendet zurück gesetzt
    #
    define Badezimmerfenster_geschlossen_nach_30Min_offen notify Sensor_Badezimmerfenster_EG:closed  {\
        if (Value("Flag_email_gesendet") eq "FF")  {\
              DebianMail('XXXXXXXXX@@gmail.com','Badezimmerfenster wurde geschlossen','Badezimmerfenster wurde nach mehr als 30 Minuten geschlossen.');;\
      fhem('set Sonos_Bad_EG,Sonos_Kueche,Sonos_Schlafzimmer PlayURITemp \\192.168.XXX.XXX\SonosSpeak\Badezimmerfenster_geschlossen.mp3 55');;\
              Log 1, "Badezimmerfenster.cfg: Badezimmerfenster wurde geschlossen";;\
              fhem('set Flag_email_gesendet 00');;\
              }\
    }


    Auf den Befehl, dass das Badezimmerfenster wieder geschlossen wurde, reagieren die Lautsprecher gar nicht.

    Vielen Dank für Deine Hilfe.

    Viele Grüße und schönen Sonntag
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 04 Januar 2015, 15:02:23
    Hi MandelHL,

    lager doch mal deine Funktionen, besonders wenn sie so groß sind, in deien myUtils aus.
    Ich denke du musst hier sonst noch die ganzen \ in der URI maskieren, allgemein kannst du dadurch so manchem Fehler vermeiden.

    Gruß
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Januar 2015, 16:01:43
    Hi Mandel,

    der Unterschied zwischen "targetSpeakFileHashCache 1" (hier die "1" nicht vergessen) und "targetSpeakFileTimestamp 1" ist folgender:
    Wenn der Dateiname für die durch Google erzeugte Sprachdatei festgelegt werden soll, wird bei HashCache ein Hashwert des Textes angehangen, und bei Timestamp einfach der aktuelle Zeitpunkt vorangestellt.

    Wenn man *nur* den Timestamp setzt, sind die Dateien im Ordner chronologisch sortierbar, und unterscheiden sich bei jedem Aufruf. Das ist manchmal wichtig, da Sonos die Dateien beim Abspielen indiziert, und beim nächsten Mal mit demselben Dateinamen wahrscheinlich die falschen Metainformationen anzeigen würde.
    Das ist also hauptsächlich ein Workaround für Sonos-Handlungen.

    Wenn man *nur* den HashCache setzt, wird an den Dateinamen ein SHA1-Hash des Textes angehangen. Dabei wird geschaut, ob es einen solchen Dateinamen bereits gibt, und bei existenz Google nicht mehr belästigt.
    Wenn du das gesetzt hast, erzeugt ein "Speak 30 de Dies ist ein Test" beim ersten mal eine Request an Google, die Datei wird abgelegt und wird von Sonos abgespielt.
    Wenn ich nun irgendwann ein weiteres mal "Speak 30 de Dies ist ein Test" aufrufe, wird festgestellt, dass es bereits eine Datei gibt, die denselben Hashwert hat (also mit hoher Wahrscheinlichkeit denselben Text), und wird wiederverwendet, ohne Google zu belästigen oder eine neue Datei anzulegen.
    Auch das Sonos diese vielleicht indiziert ist dann kein Problem, da sie ja für denselben Text steht.

    Beides gleichzeitig zu setzen, ist nicht sinnvoll!

    Auf diese Weise braucht man erstmal keine eigenen Sprachdateien hinterlegen... Alles ist da, und kann so verwendet werden...

    Root-Rechte für Sonos bekommst du, wenn es als dieser Benutzer gestartet wird. An den Rechten der Ordner brauchst du dabei erstmal nichts anpassen...
    Unter Umständen musst du den Benutzer "fhem" in deiner Datei "/etc/passwd" ausmarkieren, da Fhem beim Start prüft, ob es diesen gibt, und in dessen Kontext umschaltet...

    Zu den Skripten kann ich dir nur denselben Tipp geben wie rapster.
    Alternativ mit der Eingabe des PlayURITemp für einen Player direkt im Set-Eingabefeld von Fhem anfangen, und schauen was passiert, wenn du immer mehr ausgeben läßt, und/oder anderes abspielen läßt...
    Sonst nochmal Rechte prüfen: Kannst du die Datei mit deinem Windows/Mac-Rechner direkt von der Freigabe aus abspielen. Darauf achten, dass du von deinem Rechner aus kein Kennwort für diese Verbindung angegeben hast. Sonos muss da ohne Kennwort draufkönnen...
    Hat die Datei das richtige Dateiformat: Kopier dir eine funktionerende Musikdatei aus deiner Sammlung dort hin, und lass diese abspielen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 04 Januar 2015, 23:27:02
    Danke Reinerlein für Deine umfangreichen Ausführungen, die mir sehr geholfen haben.

    Vielen Dank auch Dir, rapster.

    Eventuell habe ich den Fehler der nicht ausgegebenen Sprachdatei selbst gefunden und werde das ausprobieren.
    Ich könnte mir vorstellen, dass ich
    Zitatfhem('set Sonos_Bad_EG,Sonos_Kueche,Sonos_Schlafzimmer PlayURITemp \\192.168.XXX.XXX\SonosSpeak\Badezimmerfenster_schliessen.mp3 55');;\

    ändern muss und noch das Verzeichnis "mnt" angeben muss, so dass die Zeile wie folgt auszusehen hat:
    Zitatfhem('set Sonos_Bad_EG,Sonos_Kueche,Sonos_Schlafzimmer PlayURITemp \\192.168.XXX.XXX\mnt\SonosSpeak\Badezimmerfenster_schliessen.mp3 55');;\

    Mal sehen, ob es damit klappt.

    Danke noch einmal und viele Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Januar 2015, 23:57:54
    Hi Mandel,

    das wird nichts ändern, da das Sonos-System von "aussen" zugreift, und nichts mit dem Pfad auf deinem Pi anfangen kann...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 08 Januar 2015, 20:35:08
    Hallo Reinerlein,

    frohes neues Jahr 2015 noch und danke für deine ständige Weiterentwicklung an diesem Modul.
    Sicher liegt es wieder an meinem FHEM-Server oder Instanz aber nach den letzten Updates in diesem Jahr
    stürzt mein Fhem immer ab sobald z.B. der folgende Befehl ausgeführt wird:
    "set Sonos_Wechselraum PlayURI http://streams.planetradio.de/planetradio/aac/hqlivestream.m3u 13"
    Hatte jetzt über die Feiertage frei und da wurde die morgendliche Wiedergabe um 6:15 Uhr deaktiviert.
    Da seit Montag wieder so ein komisches Ding names Wecker klingelt hätte ich gern wieder die automatische Wiedergabe
    aber scheinbar verträgt sich da was nicht.

    Hat sich ggf was geändert?

    Danke

    Alex
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Januar 2015, 22:57:31
    Hi Alex,

    da ist beim Anpassen von PlayURI für die Playbar ein Fehler reingerutscht. Du bist jetzt der erste, der das verwendet und bemerkt :)

    Ich habe da was korrigiert und eingecheckt. Also ab Morgen im update oder jetzt im SVN...
    Kannst du das bitte testen?

    Sorry dafür.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 09 Januar 2015, 06:46:08
    Guten Morgen Reinerlein,

    kein Ding. Habe mich nur gewundert warum ich morgens nichts mehr höre, dachte schon ich vertrag das Arbeiten nicht mehr. :-)
    Ist doch kein Ding, Fehler passieren, hab mich nur gewundert über das Verhalten oder nicht Verhalten von den Playern.

    Naja hast du mir vor einiger Zeit glaube mich mal empfohlen dass so zu machen. Daher verwende ich den Befehl (mehrfach).
    Ein 6 fach Wandtaster wird zum einstellen von 8 verschiedenen Abspielvarianten genutzt.

    Ok ich teste es nachher. Betrifft es nur die Playbar oder auch Play 1 oder andere?

    Gruß

    Alex

    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 09 Januar 2015, 06:59:08
    kleiner Nachtrag, wird auch bei folgenden Befehl ausgelöst der Absturz
    aber noch ohne das Update.

    define Radio.FFH notify BT3_Planet_FFH.Long.1-.* set Sonos_Wechselraum Volume 13 ;; set Sonos_Wechselraum PlayURI http://streams.ffh.de/radioffh/aac/hqlivestream.m3u ;; set Sonos_Wechselraum Play
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Januar 2015, 09:02:16
    Hi Alex,

    das ist dann wieder der Befehl PlayURI, der das Problem macht.
    Ich empfehle aber, die drei Anweisungen auf den PlayURI-Befehl zurückzudrehen. Das wird dann wesentlich schneller ausgeführt.

    PlayURI kann ja die Lautstärke setzen, und startet sowieso die Wiedergabe. Vielleicht solltest du dir deine wichtigsten Radiotitel auch bei Sonos in die Radiofavoriten packen, und dann ein "StartRadio" absetzen. Dort musst du dann zwar einen zweiten Befehl für die Lautstärke absetzen, hast dafür aber alle Titelinformationen und Cover im Controller vorliegen... falls das wichtig sein sollte...

    Und zumindest FFH gibt es doch bestimmt bei TuneIn, oder?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 09 Januar 2015, 11:01:36
    Hallo Reinerlein,

    irgendwie habe ich seit heute das Problem eines fehlenden Covers, siehe angehängtes Bild (evtl. erst heute bemerkt, vor paar Tagen ging das aber noch.)

    Firefox Ausgabe für "Rechtsklick => Grafik anzeigen":
    ZitatAnfrage für Nicht-Sonos-Player: /proxy/aa?url=https%3A%2F%2Fd2b1xqaw2ss8na.cloudfront.net%2Fstatic%2Fimg%2FdefaultoriginalL.png

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Januar 2015, 11:48:58
    Hi Claudiu,

    ich habe da eine Vermutung, die ich aber erst heute Abend zuhause probieren kann. Ich hatte für die Coverermittlung noch etwas für die Darstellung der Cover bei der Gerätewiedergabe eingebaut.

    Diese Sicherheitsabfrage trifft nun anscheinend auch die Spotify-Cover, schließt diese damit aus und verursacht diese Sicherheitsmeldung...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 09 Januar 2015, 15:31:28
    Hallo Reinerlein,

    auf den ersten Blick und test funktioniert das Abspielen der Musik wieder und bisher stürzt der FHEM auch nicht mehr ab.
    teste es weiter und würde mich melden wenn noch ein Fehler auftaucht.

    Kannst du mir aber bitte noch erklären warum bei meinem Wohnzimmer unten zwei
    Button-Leisten sind?


    Danke
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 09 Januar 2015, 15:45:52
    Nachtrag,

    sorry für das doppelte Foto.

    was meinst du bitte genau mit :
    "Hi Alex,

    das ist dann wieder der Befehl PlayURI, der das Problem macht.
    Ich empfehle aber, die drei Anweisungen auf den PlayURI-Befehl zurückzudrehen. Das wird dann wesentlich schneller ausgeführt.

    PlayURI kann ja die Lautstärke setzen, und startet sowieso die Wiedergabe. Vielleicht solltest du dir deine wichtigsten Radiotitel auch bei Sonos in die Radiofavoriten packen, und dann ein "StartRadio" absetzen. Dort musst du dann zwar einen zweiten Befehl für die Lautstärke absetzen, hast dafür aber alle Titelinformationen und Cover im Controller vorliegen... falls das wichtig sein sollte...

    Und zumindest FFH gibt es doch bestimmt bei TuneIn, oder?

    Grüße
    Reinerlein

    ,,

    genzugenommen der Satz: "Ich empfehle aber, die drei Anweisungen auf den PlayURI-Befehl zurückzudrehen. Das wird dann wesentlich schneller ausgeführt."

    Ja FFH nutzt TuneIn, leider nur für den Bereich Frankfurt - für Nordhessen gibt es kein eigenes.
    Habe die Sender auch in Songs-Favoriten aber noch nicht in den Radio-Favoriten.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Januar 2015, 16:01:42
    Hi Alex,

    erstmal zu den Screenshots: Das schaue ich mir an, da wurde wohl für eine weitere Sonos-Komponente deines Wohnzimmers (sind ja einige :) ) eine Steuerung und Anzeige erzeugt.
    auch die Alias-Namen sind noch nicht Aussagekräftig genug, finde ich... das passe ich noch an...

    Zu meiner Anmerkung:
    Ich meinte, dass die drei Anweisungen (Lautstärke, URI-Abspielen und Start der Wiedergabe) auch direkt vom Befehl "PlayURI" durchgeführt werden. Dem kannst du ja eine Lautstärke mitgeben, und Starten der Wiedergabe macht er auch gleich mit.
    Die Hauptzeit, die beim Ausführen eines Befehl von der Fhem-Oberfläche aus verloren geht, wird in Fhem und der Kommunikation zum SubProzess verbraucht. Alles, was ich dort (im SubProzess) in einer Reihe ausführe landet demnach viel schneller beim Player...

    Wenn du das als Sonos-Favoriten hast, kannst du den Befehl "StartFavourite" (zusammen mit einem Lautstärkesetzen) verwenden. Dann solltest du auch wieder die gewohnten Informationen angezeigt bekommen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Januar 2015, 16:09:55
    Hi Alex,

    noch eine Frage:
    Kannst du mir zu allen Wohnzimmer-Playern mal das Reading "fieldType" und den jeweiligen Devicenamen mitteilen?

    Danke schon mal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 09 Januar 2015, 18:10:15
    hallo reinerlein,

    ich versuche mich auch gerade das erste mal an sonos und deinem modul.

    leider bekomme ich beim define die meldung das das sonor modul nicht geladen werden kann weil das UPnP und das MP3 modul nicht geladen bzw. gefunden werden.

    wenn ich mir deinen code anschaue wird $gPath zwar richtig bestimmt, das 'use lib ...' danach hat aber überhaupt keine auswirkungen. wenn ich mir davor und danach @INC ausgeben lasse ist es identisch. wenn ich in das use lib den korrekten pfad von hand $gPath zu verwenden eintrage funktioniert es.


    hast du irgendeine idee woran das liegen könnte?

    das ganze passiert mit ActivePerl-5.20 auf einer intel synology diskstation.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Januar 2015, 18:32:27
    Hi Andre,

    hmm.. ich glaube du bist wahrscheinlich der erste, der das jetzt auf einer Diskstation ausprobiert.

    Das mit dem $gPath (bzw. der Code da in der Nähe) ist ziemlich experimentell entstanden, da es ja für die beiden Startvarianten (als Fhem-Bestandteil und als Standalone-SubProzess) die Pfade korrekt ermitteln soll.

    Vorab einige Fragen, da ich damit noch nichts zu tun hatte:
    - Die normalen Fhem-Pfade passen? Also, alle Module in "FHEM" und darunter dann der "lib"-Ordner, in dem auch die UPnP- und MP3-Ordner angelegt und befüllt wurden?
    - Man darf Prozesse neu erzeugen? Der SubProzess wird von Fhem aus mittels eines fork und Exec-Aufrufs gestartet. Landet dabei irgendeine Ausgabe in der Konsole? Standardmäßig landet das nicht im Fhem-Log.
    - Gibt es irgendeine Firewall auf der Kiste, die das Belegen eines Ports (vermutlich 4711) verhindern könnte?
    Falls der Port vielleicht belegt ist, wähle mal einen anderen; er ist beliebig und muss nur frei sein...

    Hat vielleicht schon mal jemand das ganze auf einer Synology zum Laufen gebracht?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 09 Januar 2015, 20:17:47
    das system ist aus fhem sicht ein mehr oder weniger 'normales' linux system. die active perl version die ich jetzt verwende ist ein ganz normaler installer für intel basierte linux systeme. die ipkg perl verision die ich vorher verwendet habe kann keine threads. die synology eigene auch nicht (und ist noch in anderer hinsicht unvollständig).

    die normalen fhem pfade passen in so fern als das $attr{global}{modpath}/FHEM/lib alle module enthält. die UPnP und MP3 ordner sind auch vorhanden.

    fhem.pl steht wo ganz anders. aber das ist erst weiter unten ein problem.

    wie gesagt: der $gPath der über  $gPath = $attr{global}{modpath}.'/FHEM'; gefunden wird passt. nur die use lib ($gPath.'/lib', $gPath.'/FHEM/lib', './FHEM/lib', './lib', './FHEM', './', zeile bewirkt nichts. wenn ich davor und danach @INC ausgebe hat sich nichts geändert das $gPath verwendet. nur wenn ich in der liste strings ohne variablen verwende (in meinem fall /usr/local/FHEM/share/fhem/FHEM/lib) geht es. ich baue dem pfad in mein fhem start script ein und dann sollte es gehen.


    aber es gib noch eine zweite stelle die nicht gepasst hat. für den start des UPnP servers musste ich noch folgendes ändern:

    - nicht direkt perl starten sondern mit $^X denjenigen perl interpreter der auch fhem gestartet hat.
      -> ich habe auf dem system mehrere perl versionen und die version die für fhem konfiguriert ist ist (noch) nicht die im standard pfad.

    - den pfad zum 00_SONOS modul nicht von $0 ableiten sondern von $attr{global}{modpath} wie alle anderen pfade die nach FHEM/lib zeigen sollen

    die komplette zeile schaut dann so aus:exec("$^X $attr{global}{modpath}/FHEM/00_SONOS.pm $port $verboselevel ".(($attr{global}{mseclog}) ? '1' : '0'));

    damit geht das starten.

    mehr morgen. dann sollte der play:1 in der post sein :)

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Januar 2015, 21:00:40
    Hi Andre,

    danke für die Unterstützung.

    Ich habe die Startzeile so übernommen.
    Das mit dem @INC kam, glaube ich, für den Start des SubProzesses selbst. Als Perl-Fhem-Modul brauchte man nur die Konstanten Angaben './lib' bzw. './FHEM/lib'...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: d00773 am 10 Januar 2015, 00:02:50
    Hallo Reiner
    hallo FHEMler

    bei mir discovert er seit irgend einem Update ende Dezember keine Player mehr.... ;-(

    ich habe heute alle Sonos-Referenzen aus der cfg rausgeworfen, und ein "update force" / init 6 gemacht und ein define Sonos SONOS localhost:4711 30 und nix kommt....

    Bedienen liessen sich die Player auch nicht mehr, daher die Radikalkur

    Dann habe ich noch auf deine aktuelle dev Version  ($Id: 00_SONOS.pm 7379 2014-12-31 13:35:22Z rleins $) updatet, aber selbiges verhalten....

    System lief bis vor Kurzem tip-top.

    HW ist ein RasberryPi.


    Logauszug....:
    2015.01.09 21:59:53 3: Probing CUL device /dev/ttyAMA0
    2015.01.09 21:59:53 3: Can't open /dev/ttyAMA0: Keine Berechtigung
    2015.01.09 21:59:53 1: usb create end
    2015.01.09 21:59:53 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
    2015.01.09 21:59:53 0: Server started with 137 defined entities (version $Id: fhem.pl 7358 2014-12-29 16:03:31Z rudolfkoenig $, os linux, user fhem, pid 2381)
    2015.01.09 21:59:54 3: Device CUL_HM_HM_TC_IT_WM_W_EU_31CF77 added to ActionDetector with 000:10 time
    2015.01.09 21:59:54 3: Device Fenster_Schlafzimmer added to ActionDetector with 000:50 time
    2015.01.09 21:59:54 3: Device Wetterstation_Terrasse added to ActionDetector with 000:10 time
    2015.01.09 21:59:57 3: Opening Sonos device localhost:4711
    2015.01.09 21:59:57 3: Can't connect to localhost:4711: Verbindungsaufbau abgelehnt
    2015.01.09 22:01:00 1: SONOS0: Connection accepted from localhost.localdomain:60822
    2015.01.09 22:01:00 1: localhost:4711 reappeared (Sonos)
    2015.01.09 22:01:01 3: SONOS1: UPnP-Thread gestartet.
    2015.01.09 22:01:02 1: SONOS2: Restore-Thread gestartet. Warte auf Arbeit...
    2015.01.09 22:02:03 1: SONOS0: Connection accepted from localhost.localdomain:60824
    2015.01.09 22:02:33 1: SONOS0: Connection accepted from localhost.localdomain:60825
    2015.01.09 22:03:06 1: SONOS0: Connection accepted from localhost.localdomain:60827
    2015.01.09 22:03:36 1: SONOS0: Connection accepted from localhost.localdomain:60828
    2015.01.09 22:04:09 1: SONOS0: Connection accepted from localhost.localdomain:60830

    Kann ich das Discovern der Player irgend wie Anstossen?

    Danke, Gruss & gute Nacht

    Micha



    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Januar 2015, 00:14:37
    Hi Micha,

    hmm... das sieht sehr wenig aus. Dabei scheint es so, als würde der SubProzess ja starten (das wichtigste ist dort die Ausgabe "UPnP-Thread gestartet").

    Dieser Thread ist derjenige, der die eigentlich Arbeit und Kommunikation zu den Playern übernimmt... Das kann man auch nicht weiter anstossen. Das erste, was dieser Thread ins Netz sendet, ist eine Aufforderung an alle Player, sich zu melden.... Das tun die dann eigentlich auch...

    Befindet sich der Pi denn auch noch im selben Subnet wie deine Sonos-Player? UPnP kann nicht über einen Router arbeiten...
    Ansonsten stell mal das Verbose-Attribut des Sonos-Devices auf 5. Dann sieht man noch mehr Ausgaben...

    Und die aktuellste Version ist die im Fhem Subversion (also das, was per Update einen Tag später kommt). Meinen Dev-Server aktualisiere ich nur noch in Einzelfällen zum Testen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: d00773 am 10 Januar 2015, 19:42:40
    Hallo Reinerlein

    Danke, Deine Gedanken haben mich auf die richtige Spur gebracht.
    Tata, ich habe den Uebeltaeter erwischt...
    Es ist ein billiger Nway Switch von Conrad der bis ebend zwischen dem RasPi und dem Sonos hing.
    Nachdem der raus ist, ging Alles ganz wunderbar.
    Deine Arbeit hat sich wirklich gelohnt. Vielen Dank dafuer an dieser Stelle.

    Gruesse
    Micha
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 13 Januar 2015, 11:49:15
    hallo reinerlein,

    mein play:1 ist seit gestern endlich da und ich bin begeistert. auch von deinem modul :)

    mir sind aber beim ersten spielen noch ein paar dinge aufgefallen:

    - das modul lief während der installation schon und hat ein seltsames player device angelegt das sich auch nicht steuern lies. ein mal ist auch komplett alles abgestürzt. sollte man das modul anhalten wenn man einen neuen player in betrieb nimmt?

    - targetSpeakDir (und vermutlich auch noch andere attribute) werden erst nach einem modify auf das modul tatächlich übernommen. liegt das eventuell daran das es im externen prozess verwendet wird?

    - ich habe alle 10 sekunden eine 'Connection accepted from localhost:56983' meldung in meinem stdout log. da kommt ganz schön was zusammen.

    - ich hatte zwischendurch das problem das der automatisch gestartete prozess nicht automatisch beendet wurde und alle 10 sekunden ein hello und goaway im log. wenn man nicht ins log schaut sieht man nicht wirklich das etwas schief geht.

    - beim radio hören kommen auch recht viele events zusammen. im log (Received Transport-Event/End of Transport-Event) als auch in fhem. wäre es hier sinnvoll das log level dieser nachrichten zu ändern und im device event-on-change automatisch zu setzen?

    bis auf die (unnötigen?) meldungen im log und events war das meiste nach der kompletten installation weg und ist erst mal nicht mehr aufgetreten.

    ansonsten bin ich wie gesagt erst mal begeistert und der zweite player ist auf dem weg :)

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Januar 2015, 13:43:28
    Hi Andre,

    herzlichen Glückwunsch zu deinem Sonos :)

    Hier mal ein paar Anmerkungen zu deinen Fragen:
    - Die Player melden sich manchmal bereits per UPnP, sobald sie an sind. Dann haben sie aber noch keine vernünftigen Namen und Positionen im System erhalten. Das macht man ja erst mit dem Controller.
    Es ist tatsächlich empfehlenswert (und auch so im Wiki erwähnt :) ), die Landschaft erst fertig zu haben. Das bedeutet für Neuanschaffungen entweder Umbenennungen (es ist ja Hauptsächlich der Name der da falsch ist) oder eine kurze Fhem-Pause. Ich bevorzuge letzteres, da die Einrichtung des Players ja sehr schnell geht...

    - Zu dem targetSpeakDir: Wird tatsächlich nur im SubProzess benötigt. Ich habe mich dagegen entschieden, Attribute zur Laufzeit durchzureichen. Das Durchreichen selbst ist ja kein Problem, aber die Verwendung der neuen Werte sorgt mitten im Betrieb nicht immer für sinnvolle Ergebnisse (und ich müsste auch die Threads dort erstmal alle anhalten, und mit den neuen Werten anstarten). Ich habe mich also dazu entschlossen, diese nur beim Start des SubProzesses zu übermitteln...

    - Wenn das System sauber läuft, solltest du den Verbose-Level am Sonos-Device auf 0 oder 1 stellen. Dann bleiben diese ganzen Meldungen weg. Wenn etwas untersucht werden muss, dann kann man diesen ja wieder hochstellen. Auch hier: Das Attribut wird nicht zur Laufzeit übertragen...

    - Zu den Transport-Events: Diese Logs kannst du ja wie oben beschrieben unterdrücken. Die Events auf Fhem-Ebene werden für jedes Reading automatisch nur bei Änderung des Wertes durchgeführt. Sonst wäre Fhem bei mehr als einem Player sehr schnell platt und würde nur noch gleiche Readings setzen und die Events dazu ausführen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 13 Januar 2015, 14:05:12
    der zweite ist schon im anflug :)

    den hinweis auf die landschaft hatte ich gelesen aber nicht mit der inbetriebnahme in verbindung gebracht. aber eigentlich ist es ja klar.

    für die attribute wäre es vielleicht hilfreich wenn das dokumentiert ist das sie nicht ohne neustart verändert werden können und vielleicht sogar das das speak kommando eine meldung ausspuckt wenn das attribut gar nicht gesetzt ist.

    reicht es den sub prozess zu killen und mit einem modify auf das sonos device neu starten zu lassen? wie wäre es das zumindest halb automatisch mit einem restart kommando zu ermöglichen? oder gleich zwei kommandos draus machen. eins zum stoppen und eins zum starten. dann könnte man damit auch bei der einrichtung den sub prozess anhalten und nicht ganz fhem.

    ich muss mal schauen woher die events im fhem kommen.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Januar 2015, 18:42:58
    Hi Andre,

    ich habe das in der Doku korrigiert, wird dann beim nächsten veröffentlichen dabei sein...

    Ich bin gerade dabei ein Attribut "disable" am Sonos-Device einzubauen, der den Subprozess beenden und starten kann...
    Dann kann man das Ding temporär auch mal abschalten...

    Selber den Prozess zu killen wird nicht viel bringen, da er praktisch sofort neu gestartet wird. Diese Überprüfungen habe ich ja schließlich eingebaut, da er sich ab und an mal verkrümelt hatte :)
    Allerdings kann es natürlich immer noch passieren, sollte aber deutlich seltener geworden sein...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 13 Januar 2015, 18:50:18
    das klingt gut!

    danke
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 13 Januar 2015, 22:00:55
    Hallo Reinerlein,

    ja sind ein paar Songs-Geräte geworden dachte man kann sich ein gutes Surround-System bauen aber an einen AV-Receiver kommt es nicht ran.

    Also vorhanden sind ein Sub, zwei Play 1 und die Soundbar im Wohnzimmer.
    Der andere Play1 steht im Bad.

    Sub
    Devicename: Sonos_Wohnzimmer_SW
    fieldType: SW

    Play 1 links
    Devicename: Sonos_Wohnzimmer_LR
    fieldType: LR

    Play 1 rechts
    Devicename: Sonos_Wohnzimmer_RR
    fieldType: RR

    habe jetzt noch mal die Einträge von Sonos aus der cfg genommen und den FHEm neu gestartet.
    Nun sieht es so aus, dass nur ein Bedienend erzeugt wird.

    Ach den Befehl hatte ich schon so aufgebaut aber scheinbar als einer alten fhem.cfg kopiert.

    "define Radio.YouFM notify BT5_YouFM_Hr3.Short.* set Sonos_Wohnzimmer RemoveMember Sonos_Wechselraum ;; set Sonos_Wechselraum PlayURI http://metafiles.gl-systemhaus.de/hr/youfm_2.m3u 21"

    Dieser Befehl lässt sich sicher nur an der einen Stelle kürzen:
    ALT:
    define Soundmorgens_PLAY_Week at *06:15 { fhem("set Sonos Groups [Sonos_Wohnzimmer, Sonos_Wechselraum] ;; set Sonos_Wohnzimmer PlayURI http://metafiles.gl-systemhaus.de/hr/youfm_2.m3u ;; set Sonos_Wohnzimmer Volume 10 ;; set Sonos_Wechselraum Volume 15") if($wday == 1 || $wday == 2  || $wday == 3  || $wday == 4  || $wday == 5 ) }
    attr Soundmorgens_PLAY_Week disable 0


    Neu:
    define Soundmorgens_PLAY_Week at *06:15 { fhem("set Sonos Groups [Sonos_Wohnzimmer, Sonos_Wechselraum] ;; set Sonos_Wohnzimmer PlayURI http://metafiles.gl-systemhaus.de/hr/youfm_2.m3u 10 ;; set Sonos_Wechselraum Volume 15") if($wday == 1 || $wday == 2  || $wday == 3  || $wday == 4  || $wday == 5 ) }
    attr Soundmorgens_PLAY_Week disable 0


    MFG
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Januar 2015, 22:33:00
    Hallo aherby,

    danke für die Infos. Kannst du mir noch kurz den fieldType der Playbar zukommen lassen?
    Dann habe ich die Aliasnamengeschichte drin...

    Wenn ich dann fertig mit dem disable bin, wird es veröffentlicht...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 15 Januar 2015, 08:06:57
    Hallo Zusammen,

    ich nutze das im Wiki
    Zitathttp://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Beispiele
    beschriebene Konzept, um beim Einschalten (Strom an) eines Plays sofort mit einem Radiosender zu starten. Das klappt auch soweit ganz gut.

    Allerdings habe ich den Effekt, dass beim Neustarten von Fhem das entsprechende appeared-notify ebenfalls getriggert wird, was dann dazu führt, dass beim FHEM-(Neu)Start der Play anfängt zu spielen. Das ist insbesonders dann irritierend, wenn ich nicht zuhause bin und z.B. remote FHEM neustarte -> reduzierter WAF  ::)

    Lässt sich dieses Verhalten irgendwie einfach(!) vermeiden?


    Danke und Gruß

    Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Januar 2015, 08:57:57
    Hi Christoph,

    du könntest vor dem Setzen und Starten des Abspielens prüfen, ob bereits ein currentTrackURI gesetzt ist.

    Z.B. so:

    define Sonos_Schlafzimmer_Appeared_Notify notify Sonos_Schlafzimmer:presence:.appeared { if (ReadingsVal("Sonos_Schlafzimmer", "currentTrackURI", "") eq "") { fhem "sleep 5 ;; set Sonos_Schlafzimmer StartFavourite myFavouriteName" } }


    Mit dem sleep musst du mal rumspielen. Da ich nur einen Pi habe, muss ich dort manchmal ein paar Wartezeiten einplanen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 15 Januar 2015, 09:53:08
    Danke, das muss ich mal ausprobieren.
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 15 Januar 2015, 11:30:43
    ich hoffe du entschuldigst die ideen und vorschläge die ich als neueinsteiger habe...

    wie wäre es wenn man bei der angabe von radios und favourites auch eine regex statt url encoded verwenden könnte?

    du hast ja hier die liste der möglichen werte. im harmony modul habe ich damit gute erfahrungen gemacht.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Januar 2015, 11:49:01
    Hi Andre,

    keine Sorge... Ideen sind wichtig :)

    Ich schaue mir mal an, wie ich das einbauen kann...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 15 Januar 2015, 19:36:12
    ich versuche gerade den vorschlag von oben mit der auswertung von currentTrackURI im notify auf presence:.apeared umzusetzen.

    aber eigentlich kann es doch so gar nicht funktionieren:

    - der player spielt einen radio stream, currentTrackURI hat einen wert
    - der player wird aus der steckdose gezogen
    - der player geht auf disapeared
    - currentTrackURI wird nicht geändert sondern hat noch den alten wert
    - beim einstecken wird das notify getriggert, aber currentTrackURI hat immer noch den alten wert und die if abfrage läuft ins leere
    - jetzt erst wird der status des players aktualisiert und die readings neu gefüllt

    damit das funktionieren kann bräuchte man doch ein reading das beim wechsel auf disapeared schon zurück gesetzt wird. z.b. in einem notify auf disapeared.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Januar 2015, 20:01:39
    Hi Andre,

    das stimmt soweit. Nur klappt es bei mir in den meisten Fällen, und ich überlege gerade warum :)

    Das sind vom Player zwei verschiedene Events:
    1. Discover-Event: Der Player teilt mit, dass er da ist. Hier wird presence auf "appeared" gesetzt
    2. Transport-Event: Der Player teilt mit, dass momentan kein Titel aktiv ist. Hier werden die Readings auf leer gesetzt
    3. Hier sollte jetzt erst die Überprüfung des Readings erfolgen

    Vielleicht kommen die schnell genug hintereinander?
    Ich würde auf jeden Fall jetzt noch einbauen, dass die Titelreadings beim initialen Erkennen des Players zurückgesetzt werden.
    Dann sollte es auf jeden Fall klappen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 15 Januar 2015, 20:09:24
    Hey Andre,
    schön das Du nun auch in der Sonos Welt eingetaucht bist...
    Hast du schon gesehen das Du Sonos auch im Harmony Hub anmelden kannst?
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 15 Januar 2015, 20:18:11
    hab ich gesehen. ich muss aber erst mal beide ins gleiche wlan hängen.

    ich hoffe das bekomme ich hin wenn ich einen play:1 kurz über ethernet kabel anschliesse. sonst wird es eine ziemlicher aufwand...
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 15 Januar 2015, 21:00:51
    Die Sonos komponenten bauen ein eigenes wlan auf, das lässt sich auch leider nicht verhindern.
    Keine ahnung ob das immer noch geht, aber man konnte Android geräten "erlauben" das Sonos W-Lan zu nutzen. An die entstehende SSID kommt man also ran. Bei nicht gerooteten Android geräten hat man aber wohl keine Chance das Passwort auszulesen...
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 15 Januar 2015, 21:09:24
    die aktuelle firmware braucht kein eigenes netzt mehr. ich habe die player im normalen wlan.

    das problem ist mal wieder der hub :) der erkennt wlan komponenten nur wenn sie im gleichen wlan sind. gleiches netz reicht nicht.

    es hat aber funktioniert den player per kabel an den access point des hubs zu hängen. keine drei hub Abstürze und diverse retries habe ich jetzt einen player im hub. aber scheinbar wird pro player ein hub device verbraucht und der produktiv hub ist schon am anschlag.

    also alles noch mal von vorne mit dem anderen hub :)

    die logitech seite ist hier noch ganz schön weit weg von plug und geht...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Januar 2015, 22:16:01
    Hi Andre,

    ich habe gerade eine Änderung eingecheckt:
    - Beim Starten von Fhem werden während der Erkennung der Player bereits wichtige Infos geladen und in die Readings geschrieben. Unter anderem "currentTrackURI" und "numberOfTracks".
    - Man kann für "LoadPlaylist", "LoadRadio" (sowie deren "Start"-Pendants) und "StartFavourite" nun reguläre Ausdrücke anstatt des Namens verwenden. Der erste Match wird verwendet.

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

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 15 Januar 2015, 22:17:51
    perfekt.

    ich probiere es sobald es geht.

    gruß
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 16 Januar 2015, 10:56:48
    neuer tag neue idee :)

    aber ernsthaft: ich habe glaube ich raugefunden warum es die vielen (und langen) events bei (meinem ?) radio sender gibt:

    - die currentTrackPosition springt alle 10 sekunden auf 0:00:00 zurück.
    - die currentSenderInfo enthält recht schnell wechselnde rds daten
    - die readingsGroups werden jeweils komplett aktualisiert und nicht nur das element das sich geändert hat.
      d.h. das cover wird mit aktualisiert auch wenn sich nur die currentTrackPosition ändert.

    wäre es möglich:

    - die currentTrackPosition quellenabhängig zu ignorieren?
      d.h. zu sagen wenn es radio ist wird currentTrackPosition immer auf 0:00:00 gesetzt.
      vielleicht sogar sender abhängig? da weiss ich aber nicht ob das nötig ist.

    - currentSenderInfo kann ich in infoSummarize anpassen. ich habe auch noch nicht geschaut
      ob es hier sender gibt die hier etwas rein schreiben das sinnvoll ist und sich nicht dauernd
      ändert. dann wäre es eventuell sinnvoll currentSenderInfo per (regex?) zu manipulieren so
      das nur der interessante/relevante teil übrig bleibt.

    - ich schaue mal ob man die readingsGroups anders aufbaut so das man die selektive aktualisierung
      einzelner elemente (die ja eigentlich ein wichtiges feature der readingsGroup ist) wieder rein bekommt.
      ich denke das würde die 'grundlast' für kleine systeme deutlich verringern. vor allem das cover bild sollte
      nicht unnötig alle 10 sekunden aktualisiert werden.

      damit wären auch die ersten beiden punkte nicht mehr so wichtig.

      der haut grund warum die readingsGroup mit jeweils einem direkt erzeugten html block definiert sind
      waren glaube ich probleme mit dem layout um den text rechts neben das icon zu bekommen oder?

    gruss
      andre

    ps: wenn mir das system und die module nicht so gut gefallen würden würde es keine ideen und vorschläge geben :)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Januar 2015, 11:40:05
    Hi Andre,

    ja, mit der ReadingsGroup habe ich lange gebastelt. Ich hatte vorher eine einfach zweispaltige Readingsgroup, da ging aber mit der Optik einigs Hopp.
    Und das von der Readingsgroup standardmäßig verwendete Tabellen-Layout (HTML-Tag "table") war nicht kompatibel mit dem Dashboard, da es dort bei der Anzeige irgendwie verarbeitet und zu hälfte zerstört wird.

    Wenn du da eine optisch gleiche Variante mit weniger Aktualisierungen für die Cover-Bereiche hinbekommst... gerne :)

    Ich habe da jetzt erstmal auf eine "sichere" Variante gesetzt, die auf jeden Fall immer aktualisiert wird, und meiner Meinung nach gut aussieht.
    Welchen Radiosender verwendest du denn? Die, die ich verwende senden ausschließlich sinnvolle Informationen über den aktuell gespielten Titel und die Sendung selbst o.ä. Das ändert sich dann halt bei jedem Titel, was ja auch richtig ist. Manchmal kommt noch Werbung zwischen den Titeln, die dann auch eine Aktualisierung der Informationen vornimmt.
    Es gibt aber auch schon einen Sender mit Sonderlocke im Modul, der in der Info XML-Daten geliefert hatte (ich glaube das war RTIL.it). Ich würde jetzt aber ungern im Modul vom Sender ordnungsgemäß gesendete Informationen wegschneiden. Bei RTL.it ging es ja nur darum, die Struktur drumherum zu entfernen, und die eigentliche Info herauszuholen...

    Aber zu dem Reading currentTrackPosition: Das wird nur bei jedem Transport-Event aktualisiert, und dann auch nur, wenn es sich seitens Sonos geändert hat.
    Wie kommen denn diese 10sekündlichen Transport-Events zustande? Sendet dein Radiosender da ständig neue Infos? Aber auch dann sollte es kein neues Event zu der TrackPosition geben, da diese ja immer auf "0:00:00" gesetzt wird (und somit keine Aktualisierung durchgeführt wird)...
    Wenn du schreibst, dass es auf "0:00:00" zurückspringt: Wo wandert es denn vorher so hin?
    Es kann sein, dass der Prozentbalken in der Vollbildansicht weiterwandert, das ist aber nur Javascript auf der Oberfläche, und keine Aktualisierung dieses Readings. Das kann ich mir aber mal anschauen.

    Und zur ReadingsGroup: Ich wollte hauptsächlich eine saubere Vorlage für eigene Basteleien und Ideen bieten :)
    Das soll (und muss) sich jeder u.U. auch selber noch anpassen... Immerhin hat jeder so seine Anwendungsgebiete...

    Also, schreib mal welchen Spam-Sender du so hörst :)
    Dann schaue ich mal, wie es mit diesem bei mir läuft...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 16 Januar 2015, 12:17:08
    das mit den readingGroups schaue ich mir an. die aktuellen sehen gut aus und das möchte ich natürlich bei behalten. das bekommen wir aber auf jeden fall auch mit selektiver aktualisierung der einzelnen elemente hin. wenn es aus irgend einem grund nicht per readingsGroup geht zur not auch in dem ein paar informIds für die longpoll updates direkt gesetzt werden. in der aktuellen fhemweb version haben wir sogar die möglichkeit direkt daten von fhem an den browser zu senden ohne events zu erzeugen. d.h. man kann bei den widgets im browser noch mehr machen.  ich bin aber noch nicht dazu gekommen das einzubauen und zu verwenden.

    der sender ist SWR3. ich vermute du wirst schnell sehen was genau passiert:inform timer ^sonos_Bad$
    set sonos_Bad Play
    2015-01-16 12:12:38 SONOSPLAYER sonos_Bad LastActionResult: Play: Success!
    2015-01-16 12:12:39 SONOSPLAYER sonos_Bad transportState: PLAYING
    2015-01-16 12:12:39 SONOSPLAYER sonos_Bad currentSenderInfo: Verbindung herstellen...
    2015-01-16 12:12:39 SONOSPLAYER sonos_Bad infoSummarize1: SWR3 Elchradio: 'Bis Zwölf' - Verbindung herstellen...
    2015-01-16 12:12:39 SONOSPLAYER sonos_Bad infoSummarize2: PLAYING => SWR3 Elchradio: 'Bis Zwölf' - Verbindung herstellen...
    2015-01-16 12:12:40 SONOSPLAYER sonos_Bad currentSenderInfo: Wird gestartet...
    2015-01-16 12:12:40 SONOSPLAYER sonos_Bad infoSummarize1: SWR3 Elchradio: 'Bis Zwölf' - Wird gestartet...
    2015-01-16 12:12:40 SONOSPLAYER sonos_Bad infoSummarize2: PLAYING => SWR3 Elchradio: 'Bis Zwölf' - Wird gestartet...
    2015-01-16 12:12:40 SONOSPLAYER sonos_Bad currentSenderInfo:
    2015-01-16 12:12:40 SONOSPLAYER sonos_Bad infoSummarize1: SWR3 Elchradio: 'Bis Zwölf' -
    2015-01-16 12:12:40 SONOSPLAYER sonos_Bad infoSummarize2: PLAYING => SWR3 Elchradio: 'Bis Zwölf' -
    2015-01-16 12:12:41 SONOSPLAYER sonos_Bad currentTrackPosition: 0:00:01
    2015-01-16 12:12:42 SONOSPLAYER sonos_Bad currentTrackPosition: 0:00:00
    2015-01-16 12:12:42 SONOSPLAYER sonos_Bad currentSenderInfo: SWR3 AM MITTAG
    2015-01-16 12:12:42 SONOSPLAYER sonos_Bad infoSummarize1: SWR3 Elchradio: 'Bis Zwölf' - SWR3 AM MITTAG
    2015-01-16 12:12:42 SONOSPLAYER sonos_Bad infoSummarize2: PLAYING => SWR3 Elchradio: 'Bis Zwölf' - SWR3 AM MITTAG
    2015-01-16 12:12:46 SONOSPLAYER sonos_Bad currentTrackPosition: 0:00:05
    2015-01-16 12:12:54 SONOSPLAYER sonos_Bad currentTrackPosition: 0:00:00
    2015-01-16 12:12:54 SONOSPLAYER sonos_Bad currentSenderInfo: Am Mikrofon: Stefanie Tuecking
    2015-01-16 12:12:54 SONOSPLAYER sonos_Bad infoSummarize1: SWR3 Elchradio: 'Bis Zwölf' - Am Mikrofon: Stefanie Tuecking
    2015-01-16 12:12:54 SONOSPLAYER sonos_Bad infoSummarize2: PLAYING => SWR3 Elchradio: 'Bis Zwölf' - Am Mikrofon: Stefanie Tuecking
    2015-01-16 12:13:06 SONOSPLAYER sonos_Bad currentTrackPosition: 0:00:11
    2015-01-16 12:13:14 SONOSPLAYER sonos_Bad currentTrackPosition: 0:00:00
    2015-01-16 12:13:14 SONOSPLAYER sonos_Bad currentSenderInfo: Sie hoeren SWR3 AM MITTAG * Alle Top-Stories des Tages in SWR3 *
    2015-01-16 12:13:14 SONOSPLAYER sonos_Bad infoSummarize1: SWR3 Elchradio: 'Bis Zwölf' - Sie hoeren SWR3 AM MITTAG * Alle Top-Stories des Tages in SWR3 *
    2015-01-16 12:13:14 SONOSPLAYER sonos_Bad infoSummarize2: PLAYING => SWR3 Elchradio: 'Bis Zwölf' - Sie hoeren SWR3 AM MITTAG * Alle Top-Stories des Tages in SWR3 *
    2015-01-16 12:13:26 SONOSPLAYER sonos_Bad currentTrackPosition: 0:00:12
    2015-01-16 12:13:34 SONOSPLAYER sonos_Bad currentTrackPosition: 0:00:00
    2015-01-16 12:13:34 SONOSPLAYER sonos_Bad currentSenderInfo: SWR3 AM MITTAG
    2015-01-16 12:13:34 SONOSPLAYER sonos_Bad infoSummarize1: SWR3 Elchradio: 'Bis Zwölf' - SWR3 AM MITTAG
    2015-01-16 12:13:34 SONOSPLAYER sonos_Bad infoSummarize2: PLAYING => SWR3 Elchradio: 'Bis Zwölf' - SWR3 AM MITTAG
    set sonos_Bad Stop
    2015-01-16 12:13:39 SONOSPLAYER sonos_Bad LastActionResult: Stop: Success!
    2015-01-16 12:13:40 SONOSPLAYER sonos_Bad transportState: STOPPED
    2015-01-16 12:13:40 SONOSPLAYER sonos_Bad currentSenderInfo:
    2015-01-16 12:13:40 SONOSPLAYER sonos_Bad infoSummarize1: SWR3 Elchradio: 'Bis Zwölf' -
    2015-01-16 12:13:40 SONOSPLAYER sonos_Bad infoSummarize2: STOPPED => SWR3 Elchradio: 'Bis Zwölf' -
    inform off


    die currentTrackPosition ist völlig sinnlos. wenn man den stream per iTunes abspielt gibt es das gleiche problem.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Januar 2015, 14:28:03
    Hi Andre,

    das mit der TrackPosition ist ja Lustig... OK, ich baue das mal so um, dass bei Streams statisch "0:00:00" eingesetzt wird.
    Ich ermittele das immer vom Player, und das der irgendwann mal etwas anderes als diesen 0-Wert bei Streams liefert hätte ich da irgendwie nicht gedacht :)

    Ansonsten sind die ja sehr mitteilungsfreudig :D
    Das wäre aber was, was ich ungern wegschneiden möchte, auch wenn es hier überflüssig erscheint.
    Ich denke der Weg, die Anzeige zu optimieren ist hier auf jeden Fall der bessere, und wenn die TrackPosition weg ist, haben wir ja auch die wirklich sinnlosen Dinge erstmal raus...

    Ich fürchte nur, es wird echt kompliziert mit dem Vollbildmodus. Da musste ich mir echt einen hinbiegen um das hinzubekommen. Da wird mittels Javascript ein neuer Knoten erzeugt, der als Inhalt dann den Vollbildcode hat der dann zur Anzeige gebracht wird, und mittels des longpolls auch dort aktualisiert wird...
    Wenn du da was besseres findest... sehr gerne... als pragmatiker habe ich mich mit dem zufrieden gegeben, wie es jetzt ist. Es funktioniert ja auch, hat aber natürlich Verbesserungspotential...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Januar 2015, 00:16:18
    Hi Andre,

    ich habe gerade eine Version eingecheckt, die das Reading "currentTrackPosition" bei Streams nicht mehr vom Player holt, sondern immer fest auf "0:00:00" setzt.
    Damit sollte das Reading also schonmal stabil bleiben...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 18 Januar 2015, 15:33:31
    Hallo zusammen,

    ich bin mit meinen Fensterkontakten nun schon so weit, dass ich zum einen eine Sprachausgabe erhalte, wenn die Fenster länger als 30 Minuten offen sind oder wenn die Haustür geöffnet wird und ein oder mehrere Fenster zu diesem Zeitpunkt offenstehen.
    Was mir daran aber nicht so gut gefällt ist, dass die Ansagen sehr zeitverzögert kommen, was sicherlich auch an den Google-Abfragen liegt.
    Meine Vorstellung ist, dass ich eine Ansage bekomme, die mir mitteilt, dass die Haustür geöffnet wurde und dann die offenen Fenster aus den Variablen übernommen werden, ähnlich des Beitrags oder #750 (Seite 51) und #1039 (Seite 70), in denen die Ansage Variablen in die Sprachausgabe übernimmt.

    Hier einmal meine Haustuer.cfg:
    #############################################################
    #
    # Sensor Haustür
    #
    #############################################################
    #
    define Haustuerkontakt notify Sensor_Haustuer:open {\
    if ((Value("Sensor_Badezimmerfenster_EG") eq "open") || (Value("Sensor_Schlafzimmerfenster") eq "open")) {\
    DebianMail('XXXXXXX@@XXXXXX.eu','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');;\
    DebianMail('XXXXXXXXX@@gmail.com','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');;\
    fhem('set Sonos_Kueche Speak 45 de Achtung! Die Haustür wurde geöffnet. Folgende Fenster stehen offen');;\
    fhem('set Sonos_Bad_EG Speak 35 de Achtung! Die Haustür wurde geöffnet. Folgende Fenster stehen offen');;\
    Log 1, "Sensor_Haustuer.cfg: Die Haustür wurde geöffnet. Achtung";;\
    if (Value("Sensor_Badezimmerfenster_EG") eq "open")  {\
    fhem('set Sonos_Kueche Speak 45 de Das Badezimmerfenster steht offen');;\
    fhem('set Sonos_Bad_EG Speak 35 de Das Badezimmerfenster steht offen');;\
    Log 1, "Sensor_Haustuer.cfg: Das Badezimmerfenster steht offen";;\
    }\
    if (Value("Sensor_Schlafzimmerfenster") eq "open")  {\
    fhem('set Sonos_Kueche Speak 45 de Das Schlafzimmerfenster steht offen');;\
    fhem('set Sonos_Bad_EG Speak 35 de Das Schlafzimmerfenster steht offen');;\
    Log 1, "Sensor_Haustuer.cfg: Das Schlafzimmerfenster steht offen";;\
    }\
    }\
    }


    Vielen Dank für Eure Hilfe.

    Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 18 Januar 2015, 16:14:51
    Wenn Du die Sprachausgaben zwischenspeicherst - sodass sie nicht jedesmal neu von Google geholt werden klappt es nicht besser?
    Ich glaube im Wiki ist beschrieben wie das geht.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 Januar 2015, 16:32:22
    Hi Mandel,

    wie der-Lolo geschrieben hat, solltest du das mit dem Caching mal prüfen.

    Aber ich hatte deine Frage jetzt auch so verstanden, dass du gerade keinen Ansatz für die Sammeldurchsage hast.
    Ich würde einfach eine Variable zusammenbauen, und am Ende ausgeben:

    my @fenster = ();
    push(@fenster, 'Badfenster)' if (Value("Sensor_Badezimmerfenster_EG") eq "open");
    push(@fenster, 'Schlafzimmerfenster') if (Value("Sensor_Schlafzimmerfenster_EG") eq "open");
    push(@fenster, 'Terrassentür') if (Value("Sensor_Terrassentuer_EG") eq "open");

    if ($#fenster && (Value("Sensor_Haustuer_EG") eq "open")) {
      my $durchsage = 'Die Haustür wurde geöffnet. Folgende Fenster sind noch offen: '.join(', ', @fenster);

      fhem('set Sonos_Kueche Speak 45 de '.$durchsage);
      fhem('set Sonos_Bad_EG Speak 35 de '.$durchsage);
    }
    Der Code ist jetzt mal ohne maskierende Backslash am Ende... das musst du ggfls. noch einfügen...
    Wenn du das Caching angeschaltet hast, sind irgendwann alle Kombinationen mal geladen worden, und stehen lokal zur Verfügung...

    Vielleicht kannst du das ja als Ideenvorlage verwenden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: templer1234 am 18 Januar 2015, 21:23:55
    Liebe fhem Gemeinde,

    ich habe versucht die StartTime auszulesen, bekomme aber immer einen leeren Werte zurück.

    Ich habe ein notify erstellt, dass mir die Funktion HeizungWeckerSonos() aufruft. Dort habe ich auch eine Logausgabe eingebaut, jedoch ist mein StartTime immer leer. Habt Ihr vielleicht eine Idee wo mein Fehler liegt?

    Viele Grüße,
    Stefan

    Anbei alle aus meiner Sicht relevanten Informationen:

    Aufruf via fhem Webinterface: trigger as_heizung

    Notify:
    Internals
    DEF as_heizung { HeizungWeckerSonos() }
    NAME as_heizung
    NOTIFYDEV as_heizung

    PerlCode:

    sub HeizungWeckerSonos() {     
       my $StartTime=eval(ReadingsVal('Sonos_Wohnzimmer', 'Alarmlist', '{}'))->{1}{StartTime};
       Log(3, "Alarm Start Time|" . $StartTime . "|Ende");
    }


    Ausgabe Logfile:
    2015.01.18 21:05:47 3: Alarm Start Time||Ende

    Internals:
    DEF    RINCON_000E58C4E20A01400_MR
    NAME   Sonos_Wohnzimmer
    NR   49
    NTFY_ORDER   50-Sonos_Wohnzimmer
    STATE   appeared
    TYPE   SONOSPLAYER
    UDN   RINCON_000E58C4E20A01400_MR

    Readings:
    AlarmList
    {'1' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '0','Volume' => '23','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-rincon-buzzer:0','Repeat' => 0,'Recurrence_Once' => 0,'StartTime' => '23:50:00','Duration' => '02:00:00','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58C4E20A01400','ProgramMetaData' => '','Recurrence_Monday' => 0},'15' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '0','Volume' => '25','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-rincon-buzzer:0','Repeat' => 0,'Recurrence_Once' => 0,'StartTime' => '11:00:00','Duration' => '02:00:00','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58C4E20A01400','ProgramMetaData' => '','Recurrence_Monday' => 0}}
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 Januar 2015, 21:56:02
    Hi templer1234,

    da ist meiner Meinung nach nur ein Groß-/Kleinschreibungsfehler: Es heißt "AlarmList" und nicht "Alarmlist". Du musst also dein ReadingsVal entsprechend anpassen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: templer1234 am 18 Januar 2015, 22:22:16
    Hallo Reinerlein,

    perfekt. Vielen, vielen Dank! Nun passt es.

    Gruß,
    Stefan
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 19 Januar 2015, 10:37:04
    Hallo Reiner,

    die Radiostationen, die ich meistens höre, übertragen leider keine Cover. Ist es irgendwie möglich, in solchen Fällen ein "Default-Cover" zu hinterlegen?


    Viele Grüße

    Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: PowerDiz am 19 Januar 2015, 13:18:02
    Hallo Reiner,
    erst mal vielen Dank für das tolle Modul.
    Ich benutze hauptsächlich die Speak Funktion mit dem Modul, welche bei mir super funktioniert.

    Da ich bei mir eine Play3 über ein Relais ein und ausschalten kann ist mir aufgefallen, dass im zugehörigen reading  "presence" im Sonosplayer immer "appeared" steht. Die Play3 ist auch nicht mehr durch pingen zu erreichen, also definitiv ausgeschaltet.
    Wenn ich sie wieder einschalte wechselt das reading kurz auf "disapperead" und nach 2 Sekunden auf "appeared".

    Das Sonos define mache ich so.

    define Sonos SONOS localhost:4711 30 5 10


    Der Sonosplayer wurden automatisch angelegt.
    Ich habe noch die Pfade für die Speak Funktion angepasst, aber das funktioniert ja auch alles.
    UPNP Server kein eigener installiert.

    Vielleicht mache ich ja auch was falsch.

    Danke,
    Dieter
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Januar 2015, 14:15:27
    Hallo Dieter,

    das fühlt sich so an, als würde der Prüfmechanismus des Moduls den Player immer noch sehen, oder andererseits gar nicht laufen.

    Auf was steht denn bei dir das Attribut "pingType"? Wenn es nicht verändert/gesetzt wurde, verwendet er in der aktuellen Version leider "none". Das habe ich bei mir jetzt auf "syn" als Standard geändert (war ein Bug, sollte eigentlich schon längst so sein :) ), werde ich nachher noch testen und einchecken...

    Das bedeutet für dich: Die Prüfung ist vermutlich einfach inaktiv. Er erkennt dann erst kurz vorm Neuerkennen einen fehlenden Player.
    Du kannst das bei dir aktivieren, indem du das Attribut auf "syn" oder, viel besser (braucht aber root-Rechte), "icmp" stellst.
    Danach kurz das Attribut "disable" aktivieren, einen Augenblick warten und wieder löschen (geht seit der Version vom 15.1.). Das startet den SubProzess neu.

    Syn hatte bei mir den Nachteil das die Abwesenheit mancher Player nicht immer erkannt wurde, ICMP hat den Nachteil der notwendigen Root-Rechte...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 19 Januar 2015, 15:46:27
    Hallo Reinerlein,

    danke für Deine Unterstützung.

    Ich habe das jetzt wie beschrieben gemacht:

    define Haustuerkontakt notify Sensor_Haustuer:open {\
        my @fenster = ();;\
        push(@fenster, 'Badezimmerfenster_EG)' if (Value("Sensor_Badezimmerfenster_EG") eq "open");;\
        push(@fenster, 'Schlafzimmerfenster') if (Value("Sensor_Schlafzimmerfenster_EG") eq "open");;\
    if ($#fenster && (Value("Sensor_Haustuer_EG") eq "open")) {\
    my $durchsage = 'Achtung! Die Haustür wurde geöffnet. Folgende Fenster sind noch offen: '.join(', ', @fenster);;\
    fhem('set Sonos_Kueche Speak 45 de '.$durchsage);;\
    fhem('set Sonos_Bad_EG Speak 35 de '.$durchsage);;\
    DebianMail('XXXXXX@@XXXXX','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');;\
    DebianMail('XXXXXXX@@gmail.com','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');;\
    }\
    }


    Jetzt erhalte ich den Hinweis, dass er "my" nicht kennt. Kannst Du hier noch einmal helfen?

    Danke und viele Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Januar 2015, 15:57:41
    Hi Mandel,

    wenn der Code hier im Posting direkt Copy&Paste war, dann sind hinter dem Backslash der IF-Anweisung wo geprüft wird, ob das Array etwas enthält, zuviele Zeichen. Dort gehören keine mehr hin :)
    Der Backslash soll den Zeilenumbruch maskieren...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 19 Januar 2015, 16:07:36
    Ja, das war copy and paste. Wo meinst Du genau?

    Danke Dir,
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Januar 2015, 16:35:37
    Hi Mandel,

    die Zeile:

    if ($#fenster && (Value("Sensor_Haustuer_EG") eq "open")) {\

    hat hinten ein paar Leerzeichen dran.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 19 Januar 2015, 17:15:55
    Hallo Reinerlein,

    das ist ja unglaublich, dass Du das gesehen hast. Das war tatsächlich der Fehler  :)

    D A N K E

    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 19 Januar 2015, 19:06:32
    Hi Reinerlein,

    jetzt ist da irgendwie der totale Wurm drin. Zwar habe ich keine Probleme mehr mit reread.cfg.

    Allerdings erhalte ich auch keine Sprachausgabe oder E-Mail bei offenen Fenstern und Haustür.

    Ich habe mal einen Auszug meiner Log-Datei beigefügt. Einen Auszug nur deshalb, weil sich die Datei innerhalb von zwei Minuten so aufgebläht hat, dass ich unmöglich alles einfügen kann ...  :(

    2015.01.19 18:58:21 3: Haustuerkontakt return value: Unknown command {
    , try help.
    Unknown command push(Sensor_Haustuerfenster,, try help.
    Unknown command push(Sensor_Haustuerfenster,, try help.
    IF: no right bracket: ($
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:24 2: SONOS17: SonosPlayer 'Wohnzimmer' (ZP90) with ID 'RINCON_000E58A5A72201400_MR' is already defined and will only be updated
    2015.01.19 18:58:24 2: SONOS17: SonosPlayer 'Wohnzimmer' is now updated
    2015.01.19 18:58:24 2: SONOS17: Service-subscribing successful with SID="uuid:RINCON_000E58A5A72201400_sub0000007327" and Timeout="86400s"
    2015.01.19 18:58:24 2: SONOS17: Rendering-Service-subscribing successful with SID="uuid:RINCON_000E58A5A72201400_sub0000007328" and Timeout="86400s"
    2015.01.19 18:58:24 2: SONOS17: Alarm-Service-subscribing successful with SID="uuid:RINCON_000E58A5A72201400_sub0000007329" and Timeout="86400s"
    2015.01.19 18:58:24 2: SONOS17: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E58A5A72201400_sub0000007330" and Timeout="86400s"
    2015.01.19 18:58:24 2: SONOS17: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E58A5A72201400_sub0000007331" and Timeout="86400s"
    2015.01.19 18:58:24 2: SONOS17: AudioIn-Service-subscribing successful with SID="uuid:RINCON_000E58A5A72201400_sub0000007332" and Timeout="86400s"
    2015.01.19 18:58:24 3: SONOS17: Discover: End of discover-event for "Wohnzimmer".
    2015.01.19 18:58:24 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:24 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:25 2: SONOS17: Discover Sonosplayer 'Bad EG' (S3) Software Revision 5.2 with ID 'RINCON_000E58777A0E01400_MR'
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:31 2: SONOS17: SonosPlayer 'Bad_EG' (S3) with ID 'RINCON_000E58777A0E01400_MR' is already defined and will only be updated
    2015.01.19 18:58:31 2: SONOS17: SonosPlayer 'Bad_EG' is now updated
    2015.01.19 18:58:31 2: SONOS17: Service-subscribing successful with SID="uuid:RINCON_000E58777A0E01400_sub0000010839" and Timeout="86400s"
    2015.01.19 18:58:31 2: SONOS17: Rendering-Service-subscribing successful with SID="uuid:RINCON_000E58777A0E01400_sub0000010840" and Timeout="86400s"
    2015.01.19 18:58:31 2: SONOS17: Alarm-Service-subscribing successful with SID="uuid:RINCON_000E58777A0E01400_sub0000010841" and Timeout="86400s"
    2015.01.19 18:58:31 2: SONOS17: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E58777A0E01400_sub0000010842" and Timeout="86400s"
    2015.01.19 18:58:31 2: SONOS17: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E58777A0E01400_sub0000010843" and Timeout="86400s"
    2015.01.19 18:58:31 3: SONOS17: Discover: End of discover-event for "Bad EG".
    2015.01.19 18:58:31 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:32 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:32 3: SONOS17: Event: Received DeviceProperties-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:32 3: SONOS17: Event: End of DeviceProperties-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:32 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:32 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:33 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:33 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:33 3: SONOS17: Event: Received Rendering-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:33 3: SONOS17: Event: End of Rendering-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:33 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Kueche".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:33 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:33 3: SONOS17: Event: Received DeviceProperties-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:33 3: SONOS17: Event: End of DeviceProperties-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:33 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:33 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:33 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Luis".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:34 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:34 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:34 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:34 3: SONOS17: Event: Received Rendering-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:34 3: SONOS17: Event: End of Rendering-Event for Zone "Sonos_Charlie".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Loading device description failed with error: 200 OK at ./FHEM/00_SONOS.pm line 3198 thread 17
    2015.01.19 18:58:34 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:34 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:34 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:34 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:34 3: SONOS17: Event: Received DeviceProperties-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:34 3: SONOS17: Event: End of DeviceProperties-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:34 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:35 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:35 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Charlie".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:35 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:35 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:36 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:36 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:36 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:36 3: SONOS17: Event: Received Rendering-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:36 3: SONOS17: Event: End of Rendering-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:36 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Wohnzimmer".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:36 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:36 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:36 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:36 3: SONOS17: Event: Received DeviceProperties-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:36 3: SONOS17: Event: End of DeviceProperties-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:36 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Bad_EG".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:37 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Bad_EG".
    2015.01.19 18:58:37 3: SONOS17: Event: Received DeviceProperties-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:37 3: SONOS17: Event: End of DeviceProperties-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:37 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Kueche".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:37 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:37 3: SONOS17: Event: Received AudioIn-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:37 3: SONOS17: Event: End of AudioIn-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:37 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:37 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:37 3: SONOS17: Event: Received Rendering-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:37 3: SONOS17: Event: End of Rendering-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:38 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Bad_EG".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:38 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Bad_EG".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:58:38 3: SONOS17: Event: Received Rendering-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:38 3: SONOS17: Event: End of Rendering-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:38 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:38 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:38 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:38 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:38 3: SONOS17: Event: Received DeviceProperties-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:38 3: SONOS17: Event: End of DeviceProperties-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:38 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:39 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:39 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Bad_EG".
    2015.01.19 18:58:39 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Bad_EG".
    2015.01.19 18:58:39 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:40 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:40 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:40 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:40 3: SONOS17: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:40 3: SONOS17: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:40 3: SONOS17: Event: Received Rendering-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:40 3: SONOS17: Event: End of Rendering-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:40 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:40 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:40 3: SONOS17: Event: Received DeviceProperties-Event for Zone "Sonos_Bad_EG".
    2015.01.19 18:58:40 3: SONOS17: Event: End of DeviceProperties-Event for Zone "Sonos_Bad_EG".
    2015.01.19 18:58:40 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:40 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:40 3: SONOS17: Event: Received DeviceProperties-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:40 3: SONOS17: Event: End of DeviceProperties-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:40 3: SONOS17: Event: Received Rendering-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:40 3: SONOS17: Event: End of Rendering-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:40 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:41 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:41 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:41 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:41 3: SONOS17: Event: Received Rendering-Event for Zone "Sonos_Bad_EG".
    2015.01.19 18:58:41 3: SONOS17: Event: End of Rendering-Event for Zone "Sonos_Bad_EG".
    2015.01.19 18:58:41 3: SONOS17: Event: Received Rendering-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:41 3: SONOS17: Event: End of Rendering-Event for Zone "Sonos_Kueche".
    2015.01.19 18:58:41 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:41 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:41 3: SONOS17: Event: Received DeviceProperties-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:41 3: SONOS17: Event: End of DeviceProperties-Event for Zone "Sonos_Schlafzimmer".
    2015.01.19 18:58:41 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Bad_EG".
    2015.01.19 18:58:42 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Bad_EG".
    2015.01.19 18:58:42 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:42 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 18:58:42 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:42 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Luis".
    2015.01.19 18:58:44 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:44 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Charlie".
    2015.01.19 18:58:45 3: SONOS0: Connection accepted from localhost:44282
    2015.01.19 18:59:03 3: Haustuerkontakt return value: Unknown command {
    , try help.
    Unknown command push(Sensor_Haustuerfenster,, try help.
    Unknown command push(Sensor_Haustuerfenster,, try help.
    IF: no right bracket: ($
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:15 3: SONOS0: Connection accepted from localhost:44297
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:23 2: SONOS17: Discover Sonosplayer 'Charlie' (S3) Software Revision 5.2 with ID 'RINCON_000E58777B3001400_MR'
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:29 2: SONOS17: SonosPlayer 'Charlie' (S3) with ID 'RINCON_000E58777B3001400_MR' is already defined and will only be updated
    2015.01.19 18:59:29 2: SONOS17: SonosPlayer 'Charlie' is now updated
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:29 2: SONOS17: Service-subscribing successful with SID="uuid:RINCON_000E58777B3001400_sub0000000299" and Timeout="86400s"
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:29 2: SONOS17: Rendering-Service-subscribing successful with SID="uuid:RINCON_000E58777B3001400_sub0000000300" and Timeout="86400s"
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:29 2: SONOS17: Alarm-Service-subscribing successful with SID="uuid:RINCON_000E58777B3001400_sub0000000301" and Timeout="86400s"
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:30 2: SONOS17: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E58777B3001400_sub0000000302" and Timeout="86400s"
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:30 2: SONOS17: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E58777B3001400_sub0000000303" and Timeout="86400s"
    2015.01.19 18:59:30 3: SONOS17: Discover: End of discover-event for "Charlie".
    2015.01.19 18:59:30 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Charlie".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:30 3: SONOS17: Event: End of Transport-Event for Zone "Sonos_Charlie".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:31 2: SONOS17: Discover Sonosplayer 'Charlie' (S3) Software Revision 5.2 with ID 'RINCON_000E58777B3001400_MR'
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:37 2: SONOS17: SonosPlayer 'Charlie' (S3) with ID 'RINCON_000E58777B3001400_MR' is already defined and will only be updated
    2015.01.19 18:59:37 2: SONOS17: SonosPlayer 'Charlie' is now updated
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:37 2: SONOS17: Service-subscribing successful with SID="uuid:RINCON_000E58777B3001400_sub0000000304" and Timeout="86400s"
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:37 2: SONOS17: Rendering-Service-subscribing successful with SID="uuid:RINCON_000E58777B3001400_sub0000000305" and Timeout="86400s"
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:37 2: SONOS17: Alarm-Service-subscribing successful with SID="uuid:RINCON_000E58777B3001400_sub0000000306" and Timeout="86400s"
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:37 2: SONOS17: ZoneGroupTopology-Service-subscribing successful with SID="uuid:RINCON_000E58777B3001400_sub0000000307" and Timeout="86400s"
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.
    2015.01.19 18:59:37 2: SONOS17: DeviceProperties-Service-subscribing successful with SID="uuid:RINCON_000E58777B3001400_sub0000000308" and Timeout="86400s"
    2015.01.19 18:59:37 3: SONOS17: Discover: End of discover-event for "Charlie".
    2015.01.19 18:59:37 3: SONOS17: Event: Received Alarm-Event for Zone "Sonos_Charlie".
    2015.01.19 18:59:37 3: SONOS17: Event: End of Alarm-Event for Zone "Sonos_Charlie".
    2015.01.19 18:59:37 3: SONOS17: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Charlie".
    2015.01.19 18:59:37 3: SONOS17: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Charlie".
    2015.01.19 18:59:38 3: SONOS17: Event: Received DeviceProperties-Event for Zone "Sonos_Charlie".
    2015.01.19 18:59:38 3: SONOS17: Event: End of DeviceProperties-Event for Zone "Sonos_Charlie".
    2015.01.19 18:59:38 3: SONOS17: Event: Received Rendering-Event for Zone "Sonos_Charlie".
    2015.01.19 18:59:38 3: SONOS17: Event: End of Rendering-Event for Zone "Sonos_Charlie".
    2015.01.19 18:59:38 3: SONOS17: Event: Received Transport-Event for Zone "Sonos_Charlie".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 9.


    Kannst Du noch einmal helfen, Reinerlein?

    Die Haustuer.cfg habe ich wie oben gelassen, nur ohne die Leerzeichen nach dem Backslash.

    Danke und Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Januar 2015, 19:40:29
    Hi Mandel,

    sorry, das hatte ich mir in deinem Code gar nicht angeschaut:
    Das ist Notify-Code, das bedeutet, dass du die @-Zeichen maskieren musst (@@), sonst wird ein @-Zeichen durch den Devicenamen ersetzt, der das Notify ausgelöst hat.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 19 Januar 2015, 20:13:20
    Danke, Reinerlein, auch für die Erklärung.

    Nun sieht das so bei mir aus:
    define Haustuerkontakt notify Sensor_Haustuer:open {\
        my @@fenster = ();;\
        push(@@fenster, 'Badezimmerfenster_EG)' if (Value("Sensor_Badezimmerfenster_EG") eq "open");;\
        push(@@fenster, 'Schlafzimmerfenster') if (Value("Sensor_Schlafzimmerfenster_EG") eq "open");;\
    if ($#fenster && (Value("Sensor_Haustuer_EG") eq "open")) {\
    my $durchsage = 'Achtung! Die Haustür wurde geöffnet. Folgende Fenster sind noch offen: '.join(', ', @@fenster);;\
    fhem('set Sonos_Kueche Speak 45 de '.$durchsage);;\
    fhem('set Sonos_Bad_EG Speak 35 de '.$durchsage);;\
    DebianMail('XXXXXXXXXXX@@XXXXXXXXXX','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');;\
    DebianMail('XXXXXXX@@gmail.com','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');;\
    }\
    }


    Die Fehlermeldung lautet nun:
    2015.01.19 20:08:30 3: Haustuerkontakt return value: Unknown command {
    , try help.
    Unknown command push(@fenster,, try help.
    Unknown command push(@fenster,, try help.
    IF: no right bracket: ($
    2015.01.19 20:08:30 3: SONOS21: Event: Received Alarm-Event for Zone "Sonos_Wohnzimmer".
    2015.01.19 20:08:30 3: SONOS21: Event: End of Alarm-Event for Zone "Sonos_Wohnzimmer".


    Danke noch mal für Deine Hilfe.

    Gruß
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Januar 2015, 20:27:19
    Hi Mandel,

    bei der Push-Anweisung für Badezimmer_EG musst du das Anführungsstrichelchen (') und die Klammer am Ende vertauschen... So enthält der String die Klammer und die Funktion Push ist nicht korrekt beendet.

    Korrekt:

    push(@@fenster, 'Badezimmerfenster_EG') if (Value("Sensor_Badezimmerfenster_EG") eq "open");;\


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: PowerDiz am 19 Januar 2015, 20:35:59
    Zitat von: Reinerlein am 19 Januar 2015, 14:15:27
    Hallo Dieter,

    das fühlt sich so an, als würde der Prüfmechanismus des Moduls den Player immer noch sehen, oder andererseits gar nicht laufen.

    Auf was steht denn bei dir das Attribut "pingType"? Wenn es nicht verändert/gesetzt wurde, verwendet er in der aktuellen Version leider "none". Das habe ich bei mir jetzt auf "syn" als Standard geändert (war ein Bug, sollte eigentlich schon längst so sein :) ), werde ich nachher noch testen und einchecken...

    Das bedeutet für dich: Die Prüfung ist vermutlich einfach inaktiv. Er erkennt dann erst kurz vorm Neuerkennen einen fehlenden Player.
    Du kannst das bei dir aktivieren, indem du das Attribut auf "syn" oder, viel besser (braucht aber root-Rechte), "icmp" stellst.
    Danach kurz das Attribut "disable" aktivieren, einen Augenblick warten und wieder löschen (geht seit der Version vom 15.1.). Das startet den SubProzess neu.

    Syn hatte bei mir den Nachteil das die Abwesenheit mancher Player nicht immer erkannt wurde, ICMP hat den Nachteil der notwendigen Root-Rechte...

    Grüße
    Reinerlein

    Hallo Reiner,
    Danke für die schnelle Hilfe, hatte natürlich den PingType nicht gesetzt, jetzt funktioniert alles wie es soll.
    Danke noch mal,
    Gruß,
    Dieter
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 19 Januar 2015, 22:15:55
    Oh Shit, danke Reinerlein ...

    Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 20 Januar 2015, 01:23:10
    Hi Reinerlein,

    ich suche mir echt einen Wolf.

    So sieht meine Haustuer.cfg jetzt aus:
    define Haustuerkontakt notify Sensor_Haustuer:open {\
        my @@fenster = ();;\
        push(@@fenster, 'Badezimmerfenster_EG') if (Value("Sensor_Badezimmerfenster_EG") eq "open");;\
        push(@@fenster, 'Schlafzimmerfenster') if (Value("Sensor_Schlafzimmerfenster") eq "open");;\
    if ($#fenster && (Value("Sensor_Haustuer") eq "open")) {\
    my $durchsage = 'Achtung! Die Haustür wurde geöffnet. Folgende Fenster sind noch offen: '.join(', ', @@fenster);;\
    fhem('set Sonos_Kueche Speak 45 de '.$durchsage);;\
    fhem('set Sonos_Bad_EG Speak 35 de '.$durchsage);;\
    DebianMail('XXXXXXX@@XXXXXX','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');;\
    DebianMail('XXXXXXXX@@gmail.com','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');;\
    }\
    }


    Leider kommt nachwievor eine Fehlermeldung:
    2015.01.20 01:18:07 3: Haustuerkontakt return value: Unknown command {
    , try help.
    Unknown command push(@fenster,, try help.
    Unknown command push(@fenster,, try help.
    IF: no right bracket: ($


    Hast Du noch eine Idee?

    Danke und viele Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 20 Januar 2015, 07:01:47
    Hallo MandelHH,

    schau dir mal diese Funktion hier an, habe ich einst für so einen Zweck geschrieben: http://forum.fhem.de/index.php?topic=29684.0

    Da legst du dir z.B. einen Dummy an, welcher die Konfiguration enthält,

    # list gotoSleep_checkFensterkontakte

    Internals:
       CFGFN      ./FHEM/monitor.cfg
       NAME       gotoSleep_checkFensterkontakte
       NR         502
       STATE      rc_GREEN
       TYPE       dummy
       Readings:
         2015-01-19 01:38:27   LastResult      Found 5 devices, open: 0 closed: 5 unknown: 0
         2015-01-19 01:38:27   state           rc_GREEN
    Attributes:
       badCommand set Sonos_Schlafzimmer Speak 18 de Achtung die Fenster %contacts% sind noch geöffnet.
       checkType  CUL_HM
       goodState  closed
       room       Monitor
       searchRegExp ^(?!vccu_|FileLog).+fensterkontakt.*
       unknownCommand set Sonos_Schlafzimmer Speak 18 de Achtung der Status der Fenster %contacts% ist unbekannt.
       userattr   searchRegExp checkType goodState:closed,open goodCommand badCommand unknownCommand contactsDelimiter


    und rufst die Funktion einfach in über 'gotoSleep()' irgendwo auf.

    BTW: Da dein Problem nicht wirklich was mit Reinerlein seinem Modul zu tun hat, wäre es warscheinlich in Anfängerfragen besser aufgehoben. Hier würde evtl. auch eine höhere Resonanz darauf erfolgen?

    Gruß
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 20 Januar 2015, 07:57:37
    Hallo Mandel,

    es scheint so zu sein, dass hinter dem #-Zeichen in der If-Anweisung abgeschnitten wird.

    Schreib mal anstatt "$#fenster" ein "scalar(@@fenster)" hin.

    Ansonsten scheint mir das Modul von rapster auch sehr gut geeignet zu sein... Da müsstest du nur noch schauen, wie du den zusätzlichen Mailversand in das Kommando reinbekommst...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 20 Januar 2015, 09:31:16
    Guten Morgen,

    wieder einmal bin ich schwerst begeistert.

    Danke rapster, danke Reinerlein.

    Mit dem "scaler" hat es nun tatsächlich funtioniert.

    Danke Euch beiden.

    Viele Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 20 Januar 2015, 20:13:04
    Hallo zusammen,
    nach gut einem halben Jahr Pause, habe ich heute auf einem raspi, den ich nur für Sonos Devices angeschafft habe, das Sonos Modul installiert.

    Junge, Junge, das ist ja kein Vergleich mehr zur alten Version. Da gibt es ja so viel Neues, dass ich nicht weiß, wo ich anfangen soll!

    Zunächst habe ich die Frage, was es mit diesen RG auf sich hat. Was soll hier angezeigt werden? Diese werden zwar alle automatisch angelegt, aber mehr passiert hier nicht! Ist bei mir etwas falsch, oder muss ich hier etwas konfigurieren? Sorry, aber ich habe es nicht geblickt!

    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 20 Januar 2015, 20:15:16
    Du musst die get funktionen noch ausführen
    get sonosDEVICE favoritesWithCovers, playlistsWithCovers, RadioswithCovers...

    am besten in einem at sodass auch aktualisiert wird wenn du mit dem Controller was veränderst.

    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 20 Januar 2015, 20:22:46
    Hallo
    danke! 

    Er zeigt mir jetzt alle Favourits, Radios oder Playlists des jeweiligen Sonosplayers an. Aber ich blicke einfach nicht, warum und wofür das gut sein soll! Sorry, bin noch zu weit weg vom Thema!
    Christian

    NACHTRAG:
    Ich glaube ich habe es gerafft! Durch klicken auf das Icon in der RG wird der Radiosender umgeschaltet. Das habe ich gar nicht gemerkt! Den Klick auf das Symbol müsste man aber irgendwie in der RG sichtbar machen....
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 20 Januar 2015, 20:48:43
    Hallo Spartacus,

    ich habe die Dinger generieren lassen, damit Nutzer, die sich ein Dashboard für eine übersichtliche Steuerung geschaffen haben, einen einfachen Einstiegspunkt in diese Direktsteuerung haben.
    Sozusagen, um zu sehen, mit welchen Mitteln man einfach was erreichen kann...
    Klick auf das Symbol startet den jeweiligen Radiosender, Favorit oder die Playliste auf dem zugehörigen Player.

    Aber ich gebe zu, dass ich das mal in der Doku erwähnen könnte :)

    Das soll auch tatsächlich mehr als Vorlage zu verstehen sein, da das vermutlich nicht jedermanns Geschmack oder Anforderung treffen wird (und ja auch gar nicht kann).
    Wenn man die nicht benutzen will, kann man sie auch einfach entfernen, die werden immer nur zusammen mit einem Sonosplayer-Device erzeugt...

    Das automatische Erzeugen der Readings habe ich aus Performancegründen nicht direkt mit erzeugen lassen.
    So hat das noch jeder selber in der Hand...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 20 Januar 2015, 21:53:35
    Hi Reiner,
    null Problemo! Ich habe mich nur gewundert!
    Ich muss mich auch erst wieder einarbeiten, ist sehr lange her, aber ich wollte das Sonos Modul nicht auf meinen Beleuchtungs-Pi hängen und habe ihm deshalb nen eigenen Rechner spendiert....
    Da kann ich nun prima rumspielen und testen!

    Danke für die vielen neuen Funktionen.....
    bis bald,
    Christian

    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 21 Januar 2015, 14:28:00
    Hallo Zusammen,

    die Gerüchteküche behauptet, dass SONOS bald eine API für Drittanwendungen veröffentlichen will:

    https://gigaom.com/2015/01/19/sonos-wants-to-launch-an-api-for-third-party-apps/ (https://gigaom.com/2015/01/19/sonos-wants-to-launch-an-api-for-third-party-apps/)


    Vielleicht lässt sich da ja etwas für das SONOS-Modul ableiten.


    Viele Grüße

    Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 21 Januar 2015, 14:40:31
    Hallo,
    bin gerade dabei meine Sonos Devices per fhem zu initialisieren!
    Wenn die Geräte vom Netz getrennt waren, sollen Sie, je Typ, per Default mit Standardwerten geladen.
    # Sonos initialisieren
    # siehe 99_mySonosUtils.pm
    #
    define SonosInit notify Sonos_.*:.appeared  \
    define Init_$NAME_Later at +00:02:00 \
    {\
      my $reading =(ReadingsVal ("$NAME","playerType",""));;;;;;;;\
      if (($reading eq ("S1")) || ($reading eq ("S3")) || ($reading eq ("ZP120")))\
      {\
       if (ReadingsVal ("$NAME","currentTrackURI","") eq "")\
        {\
         SON_Init('$NAME', $reading)\
        }\
      }\
    }
    attr SonosInit disable 0
    attr SonosInit group Sonos System
    attr SonosInit room 98-Sonos
    attr SonosInit sortby 1


    mySonosUtils:
    # Sound-Grundeinstellungen
    #
    sub SON_Init($$)
    {
    my ($player, $typ) = @_;
    if ($typ eq "S1")
    {
      {fhem "set $player LoadRadio WDR2%20Ruhrgebiet"}
      {fhem "set $player Volume 5"}
      {fhem "set $player Treble 10"}
      {fhem "set $player Bass 3"}
      {fhem "set $player Balance 0"}
      {fhem "set $player Loudness 1"}
      {fhem "set $player LEDState 0"}
    }
    if ($typ eq "S3")
    {
      {fhem "set $player
    ......


    Die Verzögerung von 2min habe ich eingebaut, weil die Geräte nach einem Neustart von fhem bzw.beim Einstöpseln des Sonos-Devices von fhem noch nicht vollständig erkannt wurden. Das klappt eigentlich auch ganz gut.

    Nun möchte ich aber auch Gruppenkonfigurationen per Default einstellen, falls ein Gerät aus der Gruppenkonfiguration gerissen wird.

    Dafür habe ich das hier gebaut:
    define SonosSchlafzimmerGroup notify (Sonos_Schlafzimmer|Sonos_Bad):presence:.appeared \
    define Init_SchlafzimmerGroup_Later at +00:05:00 \
    {\
      if (ReadingsVal ("$NAME","currentTrackURI","") eq "") \
      {\
       fhem "set Sonos Groups [Sonos_Schlafzimmer, Sonos_Bad]"\
      }\
    }


    wenn Schlafzimmer bzw. Bad kurzfristig vom Netz getrennt werden, soll nach dem presence:.appeard die Gruppe wieder gebildet werden, wenn Sie nicht bereits existiert. CurrentTrackURI kann ich aber nicht nehmen, da dies zuvor mit dem Radiosender geladen wird. Wie kann ich erkennen, ob das Gerät bereits in der Gruppenkonfiguration ist? Mit SONOS get groups bekomme ich zwar alle Gruppen aufgelistet, aber diese dann zu zerlegen, ist nicht ganz einfach!(soll heißen: kriege ich nicht hin!)

    Könnte man nicht für jeden Player ein Reading einbauen (z.B. CurrentGroupMaster und CurrentGroupMember)? Dann könnte man das recht easy abragen und die alte Gruppe wieder aufbauen, wenn die Werte leer sind weil eines der Geräte aus dem Verband gerissen wurde. Oder kann man das anders lösen?
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Januar 2015, 15:49:47
    Hi Christian,

    Sonos bietet nur ein paar Informationen dazu an:
    - Das Reading "ZoneGroupID" des jeweiligen Players: Es enthält die ID des Zonemasters
    - Das Reading "currentTrackURI" des jeweiligen Players: Es enthält bei einer Gruppenwiedergabe die RINCON-ID des Masters. Damit erkennt das Modul selbst die Wiedergabe und schreibt z.B. diesen Gruppenwiedergabetext hin...
    - Das Reading "ZoneGroupState" des Sonos-Devices: Das ist die Grundlage für den Groups-Getter

    Im Wiki gibt es unter den Beispielen (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Beispiel_f.C3.BCr_die_Anzeige_der_Gruppenkonstellation_in_einer_ReadingsGroup (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Beispiel_f.C3.BCr_die_Anzeige_der_Gruppenkonstellation_in_einer_ReadingsGroup)) Perl-Code, den ich z.B. verwende, um die Gruppensituation auf der Oberfläche darzustellen (siehe Anhang).

    Dort kannst du dir das zerlegen doch rausholen... es ist bei meinem pragmatischen Ansatz auch nicht schwer...
    Da kann man sich schnell eine Prozedur schaffen, die einfach prüfen kann, ob zwei gegebene Playerdevices innerhalb derselben Gruppe stehen (sprich innerhalb einer []-Blocks):

    sub sameGroup($$) {
    my ($first, $second) = @_;
    my $groups = CommandGet(undef, SONOS_getDeviceDefHash(undef)->{NAME}.' Groups');

    while ($groups =~ m/\[(.*?)\]/ig) {
    my @member = split(/, /, $1);

    return 1 if (SONOS_isInList($first, @member) && SONOS_isInList($second, @member));
    }
    return 0;
    }


    @Christoph: Das mit der API wäre cool. Vieles muss man sich echt mühselig rauskramen und per Wireshark rumschnüffeln :) Es fehlen ja z.B. noch die Satellitenanbindung (das 5.1er System) im Modul...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: KalleBlomquist am 21 Januar 2015, 16:51:07
    Hallo,

    besteht die Möglichkeit die Logeinträge (s. Beispiel unten) im FHEM-Log zu reduzieren bzw. in ein eigenes Log zu schreiben ?
    attr verbose 0 habe ich schon gesetzt.

    VG


    Beispiellog:
    SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Flur".
    2014.12.15 18:48:15 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Wohnzimmer".
    2014.12.15 18:48:15 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Bad".
    2014.12.15 18:48:15 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Bad".
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Januar 2015, 17:06:30
    Hallo KalleBlomquist,

    du brauchst dafür eigentlich nur das verbose-Attribut am Sonos-Device zu setzen (speichern nicht vergessen).
    Danach musst du entweder einen Fhem-Restart durchführen, oder am Sonos-Device das disable-Attribut setzen, kurz warten, und wieder löschen. Das bewirkt einen Neustart des SubProzesses...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 21 Januar 2015, 22:18:55
    Zitat von: Reinerlein am 21 Januar 2015, 15:49:47
    Hi Christian,

    Sonos bietet nur ein paar Informationen dazu an:
    - Das Reading "ZoneGroupID" des jeweiligen Players: Es enthält die ID des Zonemasters
    - Das Reading "currentTrackURI" des jeweiligen Players: Es enthält bei einer Gruppenwiedergabe die RINCON-ID des Masters. Damit erkennt das Modul selbst die Wiedergabe und schreibt z.B. diesen Gruppenwiedergabetext hin...
    - Das Reading "ZoneGroupState" des Sonos-Devices: Das ist die Grundlage für den Groups-Getter

    Im Wiki gibt es unter den Beispielen (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Beispiel_f.C3.BCr_die_Anzeige_der_Gruppenkonstellation_in_einer_ReadingsGroup (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Beispiel_f.C3.BCr_die_Anzeige_der_Gruppenkonstellation_in_einer_ReadingsGroup)) Perl-Code, den ich z.B. verwende, um die Gruppensituation auf der Oberfläche darzustellen (siehe Anhang).

    Dort kannst du dir das zerlegen doch rausholen... es ist bei meinem pragmatischen Ansatz auch nicht schwer...
    Da kann man sich schnell eine Prozedur schaffen, die einfach prüfen kann, ob zwei gegebene Playerdevices innerhalb derselben Gruppe stehen (sprich innerhalb einer []-Blocks):

    sub sameGroup($$) {
    my ($first, $second) = @_;
    my $groups = CommandGet(undef, SONOS_getDeviceDefHash(undef)->{NAME}.' Groups');

    while ($groups =~ m/\[(.*?)\]/ig) {
    my @member = split(/, /, $1);

    return 1 if (SONOS_isInList($first, @member) && SONOS_isInList($second, @member));
    }
    return 0;
    }


    @Christoph: Das mit der API wäre cool. Vieles muss man sich echt mühselig rauskramen und per Wireshark rumschnüffeln :) Es fehlen ja z.B. noch die Satellitenanbindung (das 5.1er System) im Modul...

    Grüße
    Reinerlein
    Hallo Reiner,
    vielen Dank für Deine ausführliche Antwort. Ich konnte mir das noch nicht angucken, da ich heute ein anderes Problem mit meinem Beleuchtungs-Fhem hatte....

    Vielen Dank,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: MarioS1969 am 21 Januar 2015, 22:55:48
    Hallo,
    ich bekomme es einfach nicht hin mp3s mit dem Sonos Play:3 abzuspielen. Internetradio funktioniert (2 Sender, Ausschalten, lauter und leiser). Aber mp3 und speak will einfach nicht klappen.

    Wenn ich speak aufrufe wie folgt aufrufe:
    set Sonos_Wohnzimmer Speak 20 de Hura der Sommer ist da.
    wird im Verzeichnis \\192.168.xxx.xxx\mnt\SonosSpeak eine mp3 Datei abgelegt, aber nicht abgespielt.

    Kann mir jemand sagen was ich falsch mache?

    hier mein Code aus der fhem.cfg

    define Sonos SONOS localhost:4711 30
    attr Sonos targetSpeakDir /mnt/SonosSpeak
    attr Sonos targetSpeakFileHashCache 1
    attr Sonos targetSpeakURL \\192.168.xxx.xxx\mnt\SonosSpeak
    attr Sonos verbose 5

    define Sonos_Wohnzimmer SONOSPLAYER RINCON_B8E9373ACB7401400_MR
    attr Sonos_Wohnzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Wohnzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Wohnzimmer generateInfoSummarize3 <Volume prefix="Lautstaerke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhoerer aktiv" ifempty=" ~ Kein Kopfhoerer" emptyval="0"/>
    attr Sonos_Wohnzimmer getAlarms 1
    attr Sonos_Wohnzimmer group Sonos
    attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-S3.png
    attr Sonos_Wohnzimmer minVolume 0
    attr Sonos_Wohnzimmer model Sonos_S3
    attr Sonos_Wohnzimmer room Sonos
    attr Sonos_Wohnzimmer stateVariable InfoSummarize2
    attr Sonos_Wohnzimmer verbose 5
    attr Sonos_Wohnzimmer webCmd Play:Pause:Previous:Next:VolumeD:VolumeU:MuteT

    #SWR3
    define SWR3 dummy
    attr SWR3 devStateIcon Aus:Wecker.Wochenende:Ein Ein:Wecker.Wochenende:Aus
    attr SWR3 group Radio
    attr SWR3 room Sonos
    attr SWR3 setList State:Ein,Aus
    attr SWR3 webCmd :

    define act_SWR3 notify SWR3 {\
         fhem("set Sonos_Wohnzimmer PlayURI http://mp3-live.swr3.de/swr3_s.m3u");;\
         fhem("set Sonos_Wohnzimmer play");;\
    }

    # Antenne1
    define Antenne dummy
    attr Antenne devStateIcon Aus:Wecker.Wochenende:Ein Ein:Wecker.Wochenende:Aus
    attr Antenne group Radio
    attr Antenne room Sonos
    attr Antenne setList State:Ein,Aus
    attr Antenne webCmd :

    define act_Antenne notify Antenne {\
         fhem("set Sonos_Wohnzimmer PlayURI http://stream.antenne1.de/stream1/livestream.mp3");;\
         fhem("set Sonos_Wohnzimmer play");;\
    }

    #Radio leiser
    define leiser dummy
    attr leiser devStateIcon Aus:remotecontrol/black_btn_VOLDOWN:Ein Ein:remotecontrol/black_btn_VOLDOWN:Aus
    attr leiser group Radio
    attr leiser room Sonos
    attr leiser setList State:Ein,Aus
    attr leiser webCmd :

    define act_leiser notify leiser {\
         fhem("set Sonos_Wohnzimmer volume -3");;\
    }

    #Radio lauter
    define lauter dummy
    attr lauter devStateIcon Aus:remotecontrol/black_btn_VOLUP:Ein Ein:remotecontrol/black_btn_VOLUP:Aus
    attr lauter group Radio
    attr lauter room Sonos
    attr lauter setList State:Ein,Aus
    attr lauter webCmd :

    define act_lauter notify lauter {\
         fhem("set Sonos_Wohnzimmer volume +3");;\
    }

    #Radio ausschalten
    define ausschalten dummy
    attr ausschalten devStateIcon Aus:remotecontrol/black_btn_POWEROFF:Ein Ein:remotecontrol/black_btn_POWEROFF:Aus
    attr ausschalten group Radio
    attr ausschalten room Sonos
    attr ausschalten setList State:Ein,Aus
    attr ausschalten webCmd :

    define act_ausschalten notify ausschalten {\
         fhem("set Sonos_Wohnzimmer stop");;\
    }




    und hier der Logbucheintrag:


    2015.01.21 22:40:11 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_B8E9373ACB7401400_MR:1::http://192.168.xxx.xxx:1400'
    2015.01.21 22:40:11 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt.png');
    2015.01.21 22:40:11 4: SONOS0: Couldn't retrieve file "./FHEM/lib/UPnP/sonos_empty.jpg" via web. Trying to copy directly...
    2015.01.21 22:40:11 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt.png'!
    2015.01.21 22:40:11 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackPosition:0:00:00'
    2015.01.21 22:40:11 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_B8E9373ACB7401400_MR'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_B8E9373ACB7401400_MR:Balance:0'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_B8E9373ACB7401400_MR:Volume:6'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_B8E9373ACB7401400_MR:0'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_B8E9373ACB7401400_MR'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_B8E9373ACB7401400_MR:1'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TransportState:STOPPED'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'SetCurrent:CrossfadeMode:0'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NumberOfTracks:1'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Track:1'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackURI:http://stream.antenne1.de/stream1/livestream.mp3'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackDuration:0:00:00'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_B8E9373ACB7401400_MR:0::http://192.168.xxx.xxx:1400'
    2015.01.21 22:40:12 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt.png');
    2015.01.21 22:40:12 4: SONOS0: Couldn't retrieve file "./FHEM/lib/UPnP/sonos_empty.jpg" via web. Trying to copy directly...
    2015.01.21 22:40:12 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt.png'!
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NormalAudio:1'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Title:livestream.mp3'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'SetCurrent:AlbumArtist:'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextTrackURI:'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_B8E9373ACB7401400_MR:1::http://192.168.xxx.xxx:1400'
    2015.01.21 22:40:12 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt.png');
    2015.01.21 22:40:12 4: SONOS0: Couldn't retrieve file "./FHEM/lib/UPnP/sonos_empty.jpg" via web. Trying to copy directly...
    2015.01.21 22:40:12 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt.png'!
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackPosition:0:00:00'
    2015.01.21 22:40:12 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_B8E9373ACB7401400_MR'
    2015.01.21 22:40:19 4: SONOS0: Got correct Answer from Subprocess...
    2015.01.21 22:40:49 4: SONOS0: Got correct Answer from Subprocess...
    2015.01.21 22:40:57 5: SW: 446f576f726b3a52494e434f4e5f42384539333733414342373430313430305f4d523a737065616b303a32302c64652c204875726120536f6d6d657266657269656e2e0d0a
    2015.01.21 22:41:00 5: SONOS0: Received from UPnP-Server: 'DoWorkAnswer:RINCON_B8E9373ACB7401400_MR:LastActionResult:PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"'
    2015.01.21 22:41:00 4: SONOS0: DoWorkAnswer arrived for Sonos_Wohnzimmer->LastActionResult: 'PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_B8E9373ACB7401400_MR:1'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TransportState:STOPPED'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'SetCurrent:CrossfadeMode:0'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NumberOfTracks:1'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Track:1'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackURI://192.168.xxx.xxx/mnt/SonosSpeak/RINCON_B8E9373ACB7401400_MR_Speak_41616841418683e2a592ee5f710efa46b0ea0035.mp3'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackDuration:0:00:00'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_B8E9373ACB7401400_MR:0::http://192.168.xxx.xxx:1400'
    2015.01.21 22:41:02 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt.png');
    2015.01.21 22:41:02 4: SONOS0: Couldn't retrieve file "./FHEM/lib/UPnP/sonos_empty.jpg" via web. Trying to copy directly...
    2015.01.21 22:41:02 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt.png'!
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NormalAudio:1'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Title:RINCON_B8E9373ACB7401400_MR_Speak_41616841418683e2a592ee5f710efa46b0ea0035.mp3'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'SetCurrent:AlbumArtist:'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextTrackURI:'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_B8E9373ACB7401400_MR:1::http://192.168.xxx.xxx:1400'
    2015.01.21 22:41:02 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt.png');
    2015.01.21 22:41:02 4: SONOS0: Couldn't retrieve file "./FHEM/lib/UPnP/sonos_empty.jpg" via web. Trying to copy directly...
    2015.01.21 22:41:02 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt.png'!
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackPosition:0:00:00'
    2015.01.21 22:41:02 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_B8E9373ACB7401400_MR'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_B8E9373ACB7401400_MR:Balance:0'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_B8E9373ACB7401400_MR:Volume:20'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_B8E9373ACB7401400_MR:0'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_B8E9373ACB7401400_MR'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_B8E9373ACB7401400_MR:1'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TransportState:STOPPED'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'SetCurrent:CrossfadeMode:0'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NumberOfTracks:1'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Track:1'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackURI://192.168.xxx.xxx/mnt/SonosSpeak/RINCON_B8E9373ACB7401400_MR_Speak_41616841418683e2a592ee5f710efa46b0ea0035.mp3'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackDuration:0:00:00'
    2015.01.21 22:41:03 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_B8E9373ACB7401400_MR:0::http://192.168.xxx.xxx:1400'
    2015.01.21 22:41:03 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt.png');
    2015.01.21 22:41:04 4: SONOS0: Couldn't retrieve file "./FHEM/lib/UPnP/sonos_empty.jpg" via web. Trying to copy directly...
    2015.01.21 22:41:04 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt.png'!
    2015.01.21 22:41:04 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NormalAudio:1'
    2015.01.21 22:41:04 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Title:RINCON_B8E9373ACB7401400_MR_Speak_41616841418683e2a592ee5f710efa46b0ea0035.mp3'
    2015.01.21 22:41:04 5: SONOS0: Received from UPnP-Server: 'SetCurrent:AlbumArtist:'
    2015.01.21 22:41:04 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextTrackURI:'
    2015.01.21 22:41:04 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_B8E9373ACB7401400_MR:1::http://192.168.xxx.xxx:1400'
    2015.01.21 22:41:04 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt.png');
    2015.01.21 22:41:04 4: SONOS0: Couldn't retrieve file "./FHEM/lib/UPnP/sonos_empty.jpg" via web. Trying to copy directly...
    2015.01.21 22:41:04 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt.png'!
    2015.01.21 22:41:04 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackPosition:0:00:00'
    2015.01.21 22:41:04 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_B8E9373ACB7401400_MR'
    2015.01.21 22:41:04 5: SW: 446f576f726b3a52494e434f4e5f42384539333733414342373430313430305f4d523a737065616b303a32302c64652c204875726120536f6d6d657266657269656e2e0d0a


    Vielleicht hat ja jemand auch eine schönere Darstellung für die Radiofunktion.

    Vielen Dank schon mal im Voraus
    Mario
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Januar 2015, 23:29:12
    Hi Mario,

    also als erstes kurz zum Radio: Ich würde dir empfehlen, die Radiosender nach Möglichkeit aus den Radiofavoriten zu starten (also per Sonos-Controller den Sender zu den Radiofavoriten hinzufügen, und dann aus Fhem heraus mittels "StartRadio" starten).
    Dabei werden dann die üblichen Informationen sowie das Sendercover angezeigt...

    Zum Speak: Das sieht so aus, als könnte der Sonosplayer die Datei nicht lesen. Bitte die Rechte und den Zugriff von "aussen" auf die Dateifreigabe genauestens prüfen. Die meisten Probleme sind dort zu finden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 22 Januar 2015, 18:24:47
    Zitat von: Reinerlein am 21 Januar 2015, 15:49:47
    Hi Christian,

    Sonos bietet nur ein paar Informationen dazu an:
    - Das Reading "ZoneGroupID" des jeweiligen Players: Es enthält die ID des Zonemasters
    - Das Reading "currentTrackURI" des jeweiligen Players: Es enthält bei einer Gruppenwiedergabe die RINCON-ID des Masters. Damit erkennt das Modul selbst die Wiedergabe und schreibt z.B. diesen Gruppenwiedergabetext hin...
    - Das Reading "ZoneGroupState" des Sonos-Devices: Das ist die Grundlage für den Groups-Getter

    Im Wiki gibt es unter den Beispielen (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Beispiel_f.C3.BCr_die_Anzeige_der_Gruppenkonstellation_in_einer_ReadingsGroup (http://www.fhemwiki.de/wiki/Sonos_Anwendungsbeispiel#Beispiel_f.C3.BCr_die_Anzeige_der_Gruppenkonstellation_in_einer_ReadingsGroup)) Perl-Code, den ich z.B. verwende, um die Gruppensituation auf der Oberfläche darzustellen (siehe Anhang).

    Dort kannst du dir das zerlegen doch rausholen... es ist bei meinem pragmatischen Ansatz auch nicht schwer...
    Da kann man sich schnell eine Prozedur schaffen, die einfach prüfen kann, ob zwei gegebene Playerdevices innerhalb derselben Gruppe stehen (sprich innerhalb einer []-Blocks):

    sub sameGroup($$) {
    my ($first, $second) = @_;
    my $groups = CommandGet(undef, SONOS_getDeviceDefHash(undef)->{NAME}.' Groups');

    while ($groups =~ m/\[(.*?)\]/ig) {
    my @member = split(/, /, $1);

    return 1 if (SONOS_isInList($first, @member) && SONOS_isInList($second, @member));
    }
    return 0;
    }


    @Christoph: Das mit der API wäre cool. Vieles muss man sich echt mühselig rauskramen und per Wireshark rumschnüffeln :) Es fehlen ja z.B. noch die Satellitenanbindung (das 5.1er System) im Modul...

    Grüße
    Reinerlein
    Hallo Reiner,
    das funktioniert perfekt! Klasse Sache!

    Ach übrigens:
    Das Bilden und Trennen von Stereopaaren funzt auch perfekt und ist zudem noch viel einfacher als wenn man das zu Fuß macht! Wenn jetzt noch der Sub konfiguriert werden könnte, wäre das obercool  8)...aber da gibt es mehrere Einstellmöglichkeiten, die man berücksichtigen müsste (Pegeleinstellung, Platzeinstellung, Lautsprechertyp und in Verbindung mit der Playbar noch weitere...)...aber das mit den Stereopaaren ist schon mal spitze!

    Danke und Gruß,
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: KalleBlomquist am 22 Januar 2015, 20:13:23
    attr Sonos targetSpeakDir /mnt/SonosSpeak
    attr Sonos targetSpeakURL \\192.168.x.x\SonosSpeak
    attr Sonos targetSpeakFileTimestamp 1

    Bei set Sonos_xxx Speak 10 de Hallo Test
    Kommt dann immer "speak0 not possible. Please define valid "targetSpeakDir" and "targetSpeakURL" for Device "Sonos" first."

    Die Rechte sind auf 777 gesetzt ...

    Was kann das noch sein ?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Januar 2015, 20:25:03
    Hi KalleBlomquist,

    du solltest das Modul mal updaten. Dieser Fehler wurde am 16.1. entfernt. Da war mir eine Überprüfung zu scharf geraten :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: KalleBlomquist am 23 Januar 2015, 09:42:42
    Hallo Reinerlein,

    perfekt !!! Jetzt klappt es ...

    Vielen Dank für Deine ganze Mühe hier  :)

    VG
    Kalle
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 23 Januar 2015, 11:59:35
    Hallo zusammen,
    ich habe mir überlegt, alle Devices nach einem einheitlichen Names-Schema in fhem anzulegen und damit auch die Sonos_Devices.

    Meine Sonos Player heißen im Sonos selbst wie üblich "Wohnzimmer, Bad, Büro...etc"
    Meine fhem Devices heißen jetzt aber z.B. "EG.wz.SON.ZP_120" für "Connect Amp im Wohnzimmer im EG" oder "OG.bz.SON.ZP_S1" für "Play 1 im Bad im OG". Der Vorteil dieser Namen ist, dass ich die Lokation und den Playertyp aus diesen Kürzeln ableiten kann.

    Das funktioniert soweit auch ganz gut und die Devices reagieren wie gewohnt, allerdings hat die Sache einen Haken: Das SONOS Modul erkennt meine Player offenbar nicht richtig und meckert dies im fhem log an:
    Please define Sonos_Wohnzimmer first
    Please define Sonos_Bad first
    etc...


    Kann man das irgendwie abstellen? Ich würde schon ganz gerne an meinem Namensschema festhalten.

    Danke,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 23 Januar 2015, 12:03:50
    ich glaube eher du hast irgendwo in der cfg, einer include oder in fhem.save noch verweise auf die namen sonos_Wohnzimmer etc.
    dursuch diese dateien mal danach...
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 23 Januar 2015, 12:55:13
    Hi der-Lolo
    das dachte ich auch! Deshalb habe ich die fhem.save und die eventTypes.txt gelöscht!
    Ich finde keinen Verweis auf die alten Namen und mein System ist noch sehr übersichtlich, da nur der Sonos auf diesem Gerät läuft.

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Januar 2015, 13:58:48
    Hi Christian,

    hattest du beim Löschen der fhem.save-Datei auch Fhem vorher beendet?
    Sonst wird die beim Beenden neu geschrieben. Lediglich die Config-Datei wird beim Beenden nicht automatisch geschrieben...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 23 Januar 2015, 14:48:04
    Hallo Reiner,
    ja, das habe ich gemacht, ich habe keine Ahnung, wo die alten Namen herkommen..
    hier mal die Sonos.cfg
    #
    # SONOS-Devices
    #
    define Sonos SONOS localhost:4711 30
    attr Sonos group Sonos Devices
    attr Sonos room 98-Sonos
    attr Sonos sortby 1
    attr Sonos targetSpeakDir /mnt/SonosSpeak
    attr Sonos targetSpeakURL \\enterprise\SonosSpeak
    attr Sonos verbose 3
    #
    #
    # Bridge Keller
    define KG.sr.SON.ZB_100 SONOSPLAYER RINCON_000E58EC309A01400_MR
    attr KG.sr.SON.ZB_100 alias Bridge Keller
    attr KG.sr.SON.ZB_100 group Sonos Devices
    attr KG.sr.SON.ZB_100 model Bridge Keller
    attr KG.sr.SON.ZB_100 room 98-Sonos
    attr KG.sr.SON.ZB_100 sortby 2
    #
    #
    # Bridge Garten
    define GH.xx.SON.ZB_100 SONOSPLAYER RINCON_000E5865FFD401400_MR
    attr GH.xx.SON.ZB_100 alias Bridge Gartenhaus
    attr GH.xx.SON.ZB_100 group Sonos Devices
    attr GH.xx.SON.ZB_100 model Sonos_ZB100
    attr GH.xx.SON.ZB_100 room 98-Sonos
    attr GH.xx.SON.ZB_100 sortby 3
    #
    #
    # CONNECT:AMP, Wohnzimmer
    define EG.wz.SON.ZP_120 SONOSPLAYER RINCON_000E583B374001400_MR
    attr EG.wz.SON.ZP_120 alias Connect AMP Wohnzimmer
    attr EG.wz.SON.ZP_120 getAlarms 1
    attr EG.wz.SON.ZP_120 group Connect!AMP
    attr EG.wz.SON.ZP_120 minVolume 0
    attr EG.wz.SON.ZP_120 model Sonos_ZP120
    attr EG.wz.SON.ZP_120 room 98-Sonos
    #
    #
    # SUB, Wohnzimmer
    define EG.wz.SON.SUB SONOSPLAYER RINCON_000E5898943A01400_MR
    attr EG.wz.SON.SUB alias SUB Wohnzimmer
    attr EG.wz.SON.SUB getAlarms 1
    attr EG.wz.SON.SUB group Sonos Devices
    attr EG.wz.SON.SUB minVolume 0
    attr EG.wz.SON.SUB model Sonos_Sub
    attr EG.wz.SON.SUB room 98-Sonos
    #
    #
    # Play 1, Bad
    define OG.bz.SON.ZP_S1 SONOSPLAYER RINCON_000E58C4F42E01400_MR
    attr OG.bz.SON.ZP_S1 alias Play 1 Bad
    attr OG.bz.SON.ZP_S1 getAlarms 1
    attr OG.bz.SON.ZP_S1 group Play 1
    attr OG.bz.SON.ZP_S1 minVolume 0
    attr OG.bz.SON.ZP_S1 model Sonos_S1
    attr OG.bz.SON.ZP_S1 room 98-Sonos
    #
    #
    #
    # Play 1, Schlafzimmer (links)
    define OG.sz.SON.ZP_S1_L SONOSPLAYER RINCON_000E58C6EF1C01400_MR
    attr OG.sz.SON.ZP_S1_L alias Play 1 Schlafzimmer, links
    attr OG.sz.SON.ZP_S1_L getAlarms 1
    attr OG.sz.SON.ZP_S1_L group Play 1
    attr OG.sz.SON.ZP_S1_L minVolume 0
    attr OG.sz.SON.ZP_S1_L model Sonos_S1
    attr OG.sz.SON.ZP_S1_L room 98-Sonos
    #
    #
    #
    # Play 1, Schlafzimmer (rechts)
    define OG.sz.SON.ZP_S1_R SONOSPLAYER RINCON_000E58C6F31C01400_MR
    attr OG.sz.SON.ZP_S1_R alias Play 1 Schlafzimmer, rechts
    attr OG.sz.SON.ZP_S1_R getAlarms 1
    attr OG.sz.SON.ZP_S1_R group Play 1
    attr OG.sz.SON.ZP_S1_R minVolume 0
    attr OG.sz.SON.ZP_S1_R model Sonos_S1
    attr OG.sz.SON.ZP_S1_R room 98-Sonos
    #
    #
    #
    # Play 1, Kind 2
    define OG.kz.SON.ZP_S1 SONOSPLAYER RINCON_B8E9375131E201400_MR
    attr OG.kz.SON.ZP_S1 alias Play 1 Kind 2
    attr OG.kz.SON.ZP_S1 getAlarms 1
    attr OG.kz.SON.ZP_S1 group Play 1
    attr OG.kz.SON.ZP_S1 minVolume 0
    attr OG.kz.SON.ZP_S1 model Sonos_S1
    attr OG.kz.SON.ZP_S1 room 98-Sonos
    #
    #
    #
    # Play 1, Kind 1
    define DG.kz.SON.ZP_S1 SONOSPLAYER RINCON_B8E937512F2201400_MR
    attr DG.kz.SON.ZP_S1 alias Play 1 Kind 1
    attr DG.kz.SON.ZP_S1 getAlarms 1
    attr DG.kz.SON.ZP_S1 group Play 1
    attr DG.kz.SON.ZP_S1 minVolume 0
    attr DG.kz.SON.ZP_S1 model Sonos_S1
    attr DG.kz.SON.ZP_S1 room 98-Sonos
    #
    #
    #
    # Play 3, Büro
    define OG.br.SON.ZP_S3 SONOSPLAYER RINCON_000E58F084FC01400_MR
    attr OG.br.SON.ZP_S3 alias Play 3 Büro
    attr OG.br.SON.ZP_S3 getAlarms 1
    attr OG.br.SON.ZP_S3 group Play 3
    attr OG.br.SON.ZP_S3 minVolume 0
    attr OG.br.SON.ZP_S3 model Sonos_S3
    attr OG.br.SON.ZP_S3 room 98-Sonos
    #
    #
    #
    # Play 3, Terrasse
    define KG.sk.SON.ZP_S3 SONOSPLAYER RINCON_000E58F224CE01400_MR
    attr KG.sk.SON.ZP_S3 alias Play 3 Terrasse
    attr KG.sk.SON.ZP_S3 getAlarms 1
    attr KG.sk.SON.ZP_S3 group Play 3
    attr KG.sk.SON.ZP_S3 minVolume 0
    attr KG.sk.SON.ZP_S3 model Sonos_S3
    attr KG.sk.SON.ZP_S3 room 98-Sonos
    #
    #
    #
    # weitere Konfiguration
    # Sonos initialisieren
    # siehe 99_mySonosUtils.pm
    #
    define SonosInit notify .*ZP.*:presence:.appeared  \
    define Init_$NAME_Later at +00:02:00 \
    {\
      my $reading =(ReadingsVal ("$NAME","playerType",""));;;;;;;;\
      if (($reading eq ("S1")) || ($reading eq ("S3")) || ($reading eq ("ZP120")))\
      {\
       if (ReadingsVal ("$NAME","currentTrackURI","") eq "")\
        {\
         SON_Init('$NAME', $reading)\
        }\
      }\
    }
    attr SonosInit disable 0
    attr SonosInit group Sonos System
    attr SonosInit room 98-Sonos
    attr SonosInit sortby 1
    #
    #
    # Schlafzimmergruppe setzen, wenn ein Teilnehmer vom Strom getrennt wurde.
    #
    define not.01.OG.sz.SON.ZP_S1_L notify (OG.sz.SON.ZP_S1_L|OG.bz.SON.ZP_S1):presence:.appeared \
    {\
    if (!defined ($defs{'at.01.OG.sz.SON.ZP_S1_L'}))\
    {\
      define at.01.OG.sz.SON.ZP_S1_L at +00:05:00 \
      {\
       if (!sameGroup('OG.sz.SON.ZP_S1_L','OG.bz.SON.ZP_S1')) \
       {\
        fhem "set Sonos Groups [OG.sz.SON.ZP_S1_L, OG.bz.SON.ZP_S1]"\
       }\
      }\
    }\
    }
    attr not.01.OG.sz.SON.ZP_S1_L alias erstelle Gruppe [Schlafzimmer Bad]
    attr not.01.OG.sz.SON.ZP_S1_L group Sonos Script
    attr not.01.OG.sz.SON.ZP_S1_L room 99-Dienste
    #
    #
    # Kind 2´s Sonos morgens um 04:00 Uhr von Gruppe [Schlafzimmer Bad ] trennen.
    #
    define at.01.OG.kz.SON.ZP_S1 at *04:00 \
    {\
      if (sameGroup('OG.kz.SON.ZP_S1','OG.sz.SON.ZP_S1_L')) \
      {\
       fhem "set Sonos Groups [OG.sz.SON.ZP_S1_L, OG.bz.SON.ZP_S1]"\
      }\
    }


    und die mySonosUtils
    package main;
    use strict;
    use warnings;
    use POSIX;
    use Time::Local;
    sub
    mySonosUtils_Initialize($$)
    {
    my ($hash) = @_;
    }
    #
    # prüfe gleiche Gruppe
    #
    sub sameGroup($$) {
    my ($first, $second) = @_;
    my $groups = CommandGet(undef, SONOS_getDeviceDefHash(undef)->{NAME}.' Groups');

    while ($groups =~ m/\[(.*?)\]/ig) {
    my @member = split(/, /, $1);

    return 1 if (SONOS_isInList($first, @member) && SONOS_isInList($second, @member));
    }
    return 0;
    }
    #
    # Sound-Grundeinstellungen
    #
    sub SON_Init($$)
    {
    my ($player, $typ) = @_;
    if ($typ eq "S1")
    {
      {fhem "set $player LoadRadio WDR2%20Ruhrgebiet"}
      {fhem "set $player Volume 5"}
      {fhem "set $player Treble 10"}
      {fhem "set $player Bass 3"}
      {fhem "set $player Balance 0"}
      {fhem "set $player Loudness 1"}
      {fhem "set $player LEDState 0"}
    }
    if ($typ eq "S3")
    {
      {fhem "set $player LoadRadio WDR2%20Ruhrgebiet"}
      {fhem "set $player Volume 10"}
      {fhem "set $player Treble 10"}
      {fhem "set $player Bass 3"}
      {fhem "set $player Balance 0"}
      {fhem "set $player Loudness 1"}
      {fhem "set $player LEDState 0"}
    }
    if ($typ eq "ZP120")
    {
      {fhem "set $player LoadRadio WDR2%20Ruhrgebiet"}
      {fhem "set $player Volume 20"}
      {fhem "set $player Treble 10"}
      {fhem "set $player Bass 5"}
      {fhem "set $player Balance 0"}
      {fhem "set $player Loudness 1"}
      {fhem "set $player LEDState 0"}
    }
    }
    #
    # Reduce Volume
    #
    sub Reduce_Volume($$)
    {
    my ($player, $time) = @_;
      {
       fhem ("define ReduceVolume$player at +$time
        set Sonos_$player Volume 1 1;;
        set Sonos_$player SleepTimer 02:00:00")
    }
    }
    #
    #
    # Sleeptimer
    #
    sub SleepTimer($$$$$)
    {
    my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
    my ($player, $ST_offset, $ST_offset_we, $VolDown_offset, $VolDown_offset_we) = @_;
    if (($wday == 5) || 
         ($wday == 6) ||
         (Value("SchulferienStart") == 1) ||
         ((Value("Ferientag") == 1) && (Value("SchulferienEnde")!~1)) ||
         (fhem("get Feiertag tomorrow") !~ m/none/))
      {
       fhem ("define ReduceVolume$player at +$VolDown_offset_we
        set Sonos_$player Volume 1 1;;
        set Sonos_$player SleepTimer $ST_offset_we")
      }
    else
      {
       fhem ("define ReduceVolume$player at +$VolDown_offset
        set Sonos_$player Volume 1 1;;
        set Sonos_$player SleepTimer $ST_offset")
      }
    }
    1;


    und mehr läuft auf dem rpi derzeit nicht. Es gibt m.E. keinen Verweis auf die Sonos_<Gerätename>.Im log werden alle ehemaligen Gerätenamen angemeckert...

    Gruß,
    Christian.

    P.S. In der Konfig "Schlafzimmergruppe setzen" ist noch ein Syntaxfehler, aber das kann nicht der Fehler sein!

    NACHTRAG:
    hier noch das Logfile
    2015.01.23 14:49:38 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
    2015.01.23 14:49:38 0: Server started with 24 defined entities (version $Id: fhem.pl 7609 2015-01-17 21:37:05Z rudolfkoenig $, os linux, user fhem, pid 2289)
    2015.01.23 14:49:38 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2015.01.23 14:49:46 3: Opening Sonos device localhost:4711
    2015.01.23 14:49:46 3: Can't connect to localhost:4711: Connection refused
    2015.01.23 14:50:49 1: localhost:4711 reappeared (Sonos)
    2015.01.23 14:51:02 3: Please define Sonos_Terrasse first
    2015.01.23 14:51:07 3: Please define Sonos_Kind2 first
    2015.01.23 14:51:15 3: not.01.OG.sz.SON.ZP_S1_L return value: syntax error at (eval 132) line 5, near ""define at.01.OG.sz.SON.ZP_S1_L at +00:05:00"
      {"
    syntax error at (eval 132) line 11, near "}
    }"

    2015.01.23 14:51:15 3: Please define Sonos_Bad first
    2015.01.23 14:51:22 3: Please define Sonos_Wohnzimmer_SW first
    2015.01.23 14:51:25 3: Please define Sonos_Keller first
    2015.01.23 14:51:32 3: Please define Sonos_Kind1 first
    2015.01.23 14:51:39 3: Please define Sonos_Schlafzimmer_RF first
    2015.01.23 14:51:46 3: Please define Sonos_Buero first
    2015.01.23 14:51:53 3: Please define Sonos_Wohnzimmer first
    2015.01.23 14:52:00 3: not.01.OG.sz.SON.ZP_S1_L return value: syntax error at (eval 156) line 5, near ""define at.01.OG.sz.SON.ZP_S1_L at +00:05:00"
      {"
    syntax error at (eval 156) line 11, near "}
    }"

    2015.01.23 14:52:00 3: Please define Sonos_Schlafzimmer first
    2015.01.23 14:52:46 3: Please define Sonos_Kind1 first
    2015.01.23 14:52:54 3: Please define Sonos_Kind1 first
    2015.01.23 14:53:02 3: Please define Sonos_Buero first
    2015.01.23 14:53:10 3: Please define Sonos_Buero first
    2015.01.23 14:53:19 3: Please define Sonos_Bad first
    2015.01.23 14:53:26 3: Please define Sonos_Bad first
    2015.01.23 14:54:05 3: Please define Sonos_Terrasse first
    2015.01.23 14:54:12 3: Please define Sonos_Terrasse first
    2015.01.23 14:54:25 3: Please define Sonos_Schlafzimmer first
    2015.01.23 14:54:32 3: Please define Sonos_Schlafzimmer first
    2015.01.23 15:01:04 3: Please define Sonos_Schlafzimmer_RF first
    2015.01.23 15:01:11 3: Please define Sonos_Schlafzimmer_RF first
    2015.01.23 15:02:45 3: Please define Sonos_Kind2 first
    2015.01.23 15:02:53 3: Please define Sonos_Kind2 first
    2015.01.23 15:03:01 3: Please define Sonos_Wohnzimmer first
    2015.01.23 15:03:10 3: Please define Sonos_Wohnzimmer first
    2015.01.23 15:04:21 3: Please define Sonos_Wohnzimmer_SW first
    2015.01.23 15:04:28 3: Please define Sonos_Wohnzimmer_SW first
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Januar 2015, 16:03:43
    Hallo Christian,

    kannst du den globalen Verbose-Level mal hochsetzen? Dann sieht man vor dieser Fehlermeldung, was Fhem dort eigentlich machen wollte.
    Vielleicht erkennt man daran, wo das herkommt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: oliverk am 23 Januar 2015, 16:27:56

    Vielleicht habe ich es grad nicht gefunden. Ist es möglich die aktuelle Auswahl mit einem set Befehl den Sonos-Favoriten hinzuzufügen ?
    Habe mit dem Windows Phone einen Radiosender gewählt. Leider kann die blöde App nicht zu den Favoriten hinzufügen.


    Oliver

    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 23 Januar 2015, 17:57:04
    Zitat von: Reinerlein am 23 Januar 2015, 16:03:43
    Hallo Christian,

    kannst du den globalen Verbose-Level mal hochsetzen? Dann sieht man vor dieser Fehlermeldung, was Fhem dort eigentlich machen wollte.
    Vielleicht erkennt man daran, wo das herkommt...

    Grüße
    Reiner
    Hallo,
    hier mal der Bereich aus dem Log bei Level 5:
    2015.01.23 17:50:11 5: Cmd: >define Init_$NAME_Later at +00:02:00
    {
      my $reading =(ReadingsVal ("$NAME","playerType",""));;
      if (($reading eq ("S1")) || ($reading eq ("S3")) || ($reading eq ("ZP120")))
      {
       if (ReadingsVal ("$NAME","currentTrackURI","") eq "")
        {
         SON_Init('$NAME', $reading)
        }
      }
    }<
    2015.01.23 17:50:11 5: Triggering global (1 changes)
    2015.01.23 17:50:11 5: Notify loop for global DEFINED Init_EG.wz.SON.ZP_120_Later
    2015.01.23 17:50:11 4: eventTypes: SONOSPLAYER EG.wz.SON.ZP_120 presence: appeared -> presence: appeared
    2015.01.23 17:50:11 3: Please define Sonos_Wohnzimmer first


    Es scheint irgendetwas mit meiner Init_Routine zu tun zu haben, aber ich wüsste nicht, wie er auf den Namen "Sonos-Wohnzimmer" kommt!
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Januar 2015, 18:17:19
    Hallo Christian,

    was mich ein bißchen wundert ist das $NAME im Log. Eigentlich sollte die Variable doch schon ersetzt sein, oder?
    Vielleicht mal in deine myUtils auslagern, und im Notify $NAME als Parameter weiterreichen (Perl-Anführungsstriche um $NAME nicht vergessen, da es einfach String-Ersetzt wird)?

    @Oliver: Diese Richtung habe ich nur für das Speichern im Playlist-Bereich eingebaut. Gerade bei den Favoriten muss man ja genau angeben, was man eigentlich jetzt in dem Favoriten ablegen möchte (Einschließlich eines Namens dafür). Das erschien mir immer etwas undurchsichtig bzw. umständlich zu handhaben.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 23 Januar 2015, 18:30:07
    Hallo Reiner,
    das wird aber korrekt ersetzt, wenn ich mir die Init_Later´s mal ansehe, dann sehen die so aus:
    +00:02:00
    {
      my $reading =(ReadingsVal ("OG.kz.SON.ZP_S1","playerType",""));;
      if (($reading eq ("S1")) || ($reading eq ("S3")) || ($reading eq ("ZP120")))
      {
       if (ReadingsVal ("OG.kz.SON.ZP_S1","currentTrackURI","") eq "")
        {
         SON_Init('OG.kz.SON.ZP_S1', $reading)
        }
      }
    }

    Daran kann es nicht liegen. Die werte werden ja auch korrekt in den Playern gesetzt, also muss das ja laufen, oder übersehe ich etwas.
    Im Prinzip ist nur die Meldung im Log seltsam. Die Funktionen sind alle i.O.

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Januar 2015, 18:37:26
    Hi Christian,

    du siehst mich sozusagen ratlos :)
    Das ist nur gestochere...

    Es ist ein bißchen Schade, dass beim "please define..." nicht sowas wie "CommandGet: Please define..." davor steht. Dann könnte man die Meldungen unterscheiden...
    Ich dachte halt, das bei verbose 5 genau das irgendwo ersichtlich wäre...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 23 Januar 2015, 18:53:13
    Hi,
    ich habe noch einmal alles durchgetestet. Die Funktionen sind bei allen Playern absolut korrekt.
    Die Meldung erscheinen übrigens auch zwischendurch im Log. Es hängt offenbar nicht mit dem Init-Modul zusammen.

    Und im Code gibt es keinen Verweis mehr auf Sonos_Wohnzimmer und Co. Ich habe ja die ganze Config bereits gepostet, ink. der myUrils.

    M.E. werden die Meldungen von diesem SONOS UPNP-Player erzeugt.
    Ich hänge noch einmal das komplette Log bei Verbose 5 an. Das Einzige was ich manipuliert habe sind die namen der kinder, die habe ich mit Kind1 und Kind2 ersetzt...

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Januar 2015, 20:02:32
    Hi Christian,

    ich würde mal kurz jedes Vorkommen von "Please define..." in der fhem.pl eindeutig machen.
    Irgendwie muss das doch rauszufinden sein...

    Im Log habe ich jetzt auch nix gefunden. Wenn es vom SubProcess käme, wäre es über die normalen Kanäle in Fhem reingekommen, und würde auch dementsprechend geloggt werden...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 23 Januar 2015, 21:58:42
    Hi Reiner,
    Sorry, aber was meinst Du mit "jedes Vorkommen deutlich machen". Ich stecke nicht so tief drin, deshalb brauche ich eine DAU-Anweisung!
    Christian

    NACHTRAG:
    habe mal in die fhem.pl geguckt, aber damit kann ich nichts anfangen...interessant wäre es, wenn jemand das Problem nachstellen könnte, damit man einen Konfigurationsfehler meinerseits ausschließen kann.... die Konfig Dateien hatte ich immer schon auf meinem System, aber damals hießen die Player auch Sonos_Wohnzimmer und Co. Ich habe gestern nur die Namen umgestellt.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Januar 2015, 22:29:22
    Hi Christian,

    ich meinte bei jedem Vorkommen von "Please define..." in der Datei fhem.pl den entsprechenden Befehl wo es vorkommt mit davorschreiben.
    Z.B. Zeile 1456 so anpassen:

    return "DoSet: Please define $dev first" if(!$hash);
    Weil es in der Perl-Prozedur "DoSet" vorkommt...
    Damit sieht man in der Ausgabe, wenn der Befehl "Set" aufgerufen wurde

    Die anderen 10 Vorkommen analog dazu anpassen.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 24 Januar 2015, 07:33:41
    Guten Morgen Reiner,
    ich habe das mal gemacht, wie Du geschrieben hast:
    Hier das Ergebnis aus dem Log bei Verbose 3. So wie es aussieht ist es die Funktion "CommandAttr". Ich hoffe, Du kannst daraus etwas ableiten....

    2015.01.24 07:27:00 0: Server shutdown
    2015.01.24 07:27:06 1: Including fhem.cfg
    2015.01.24 07:27:07 3: telnetPort: port 7072 opened
    2015.01.24 07:27:07 3: WEB: port 8083 opened
    2015.01.24 07:27:07 3: WEBphone: port 8084 opened
    2015.01.24 07:27:07 3: WEBtablet: port 8085 opened
    2015.01.24 07:27:08 2: eventTypes: loaded 930 events from ./log/eventTypes.txt
    2015.01.24 07:27:08 1: Including Config/98-Sonos.cfg
    2015.01.24 07:27:13 1: Including ./log/fhem.save
    2015.01.24 07:27:14 1: usb create starting
    2015.01.24 07:27:16 3: Probing CUL device /dev/ttyAMA0
    2015.01.24 07:27:16 3: Can't open /dev/ttyAMA0: Permission denied
    2015.01.24 07:27:16 1: usb create end
    2015.01.24 07:27:16 2: SecurityCheck:  WEB,WEBphone,WEBtablet has no basicAuth attribute. telnetPort has no password/globalpassword attribute.  Restart FHEM for a new check if the problem is fixed, or set the global attribute motd to none to supress this message.
    2015.01.24 07:27:16 0: Server started with 24 defined entities (version $Id: fhem.pl 7609 2015-01-17 21:37:05Z rudolfkoenig $, os linux, user fhem, pid 2883)
    2015.01.24 07:27:16 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2015.01.24 07:27:24 3: Opening Sonos device localhost:4711
    2015.01.24 07:27:24 3: Can't connect to localhost:4711: Connection refused
    2015.01.24 07:28:27 1: localhost:4711 reappeared (Sonos)
    2015.01.24 07:28:39 3: CommandAttr: Please define Sonos_Buero first
    2015.01.24 07:28:46 3: CommandAttr: Please define Sonos_Wohnzimmer first
    2015.01.24 07:28:53 3: CommandAttr: Please define Sonos_Schlafzimmer first
    2015.01.24 07:28:55 3: CommandAttr: Please define Sonos_Keller first
    2015.01.24 07:29:02 3: CommandAttr: Please define Sonos_Wohnzimmer_SW first
    2015.01.24 07:29:09 3: CommandAttr: Please define Sonos_Lena first
    2015.01.24 07:29:17 3: CommandAttr: Please define Sonos_Bad first
    2015.01.24 07:29:24 3: CommandAttr: Please define Sonos_Fynn first
    2015.01.24 07:29:32 3: CommandAttr: Please define Sonos_Schlafzimmer_RF first


    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Januar 2015, 12:03:11
    Hi Christian,

    das hat geholfen, ich habe es gefunden.
    Jetzt muss ich das nur noch beheben :)

    Du bist anscheinend der erste, der seine Player umbenannt hat, bzw. diese Fehlermeldung bemerkt hat...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Januar 2015, 12:50:47
    Hi Christian,

    soo, die Fehlerbehebung ist eingecheckt.
    Beim Setzen des Model-Attributs wurde immer der vom Modul erzeugte Name verwendet, auch wenn der Benutzer die Player umbenannt hatte.

    Morgen also im Update oder jetzt im SVN...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 24 Januar 2015, 16:06:55
    Hallo Reiner,
    super! Du hast es gefunden! Dann bin ich ja mal gespannt. Werde es morgen per Update laden und berichten....

    Vielen Dank für Deine Hilfe,
    Gruß,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 24 Januar 2015, 17:40:52
    ...konnte es doch nicht abwarten und habe es vom SVN geladen...
    der Fehler ist weg!
    Nochmals vielen Dank!
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Januar 2015, 17:55:54
    Hi Christian,

    schön, das es endlich weg ist...
    das sowas nach so langer Zeit im Betrieb noch auftaucht :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 24 Januar 2015, 18:09:47
    Hi Reiner,
    es ist ja auch niemand so bescheuert, sich neue Namen für die Sonos-Geräte auszudenken.....  :)

    Gruß und bis bald,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 24 Januar 2015, 19:00:23
    naja sagen wir mal ich glaube es ist niemand so bescheuert andere Namen in der Sonos App als in FHEM zu benutzen.

    ;D
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 26 Januar 2015, 11:36:21
    Warum wird das Reading transportState eigentlich nicht aktualisiert, wenn ein Gerät in einer Gruppe ist?
    Es bleibt bei mir auf PLAYING, obwohl die Gruppe bzw. das Hauptabspielgerät gerade pausiert und dort auch korrekt STOPPED angezeigt wird. Sollte STOPPED in diesem Fall nicht übernommen werden?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Januar 2015, 11:56:11
    Hi Loredo,

    das Reading wird vom Player so geliefert. In einer Gruppe ist nur der Gruppenmaster mit vollständigen Informationen versorgt. Die restlichen Informationen werden von Sonos nicht geliefert.
    Das sieht man z.B. wenn man eine LineIn-Wiedergabe von einem anderen Player hat. Da wechselt nämlich nach eine Weile des Nichtspielens am Eingang der Transportstate auf Stopped...

    Ich habe noch eingebaut, dass man sieht, dass es eine Gruppenwiedergabe ist, wollte aber jetzt nicht eine Fremdaktualisierung einbauen (das hieße ja, dass bei Events an Player1, dem Master, auch alle Titel-/Playreadings als Event an PlayerN derselben Gruppe erzeugt werden müssten).
    Das hätte nur einen Haufen Events zur Folge, die dann ja alle denselben Inhalt haben.

    Bei dem Sonos-Controller ist das geschickt gelöst, da es die gruppierten anderen Player einfach nicht mehr auf der Oberfläche zu sehen gibt.
    Das könnte man sich natürlich auch durch eine Readingsgroup nachbauen, die immer die Informationen des Gruppenmasters anzeigt (auch ein einzelner Player ist sein eigener Master).
    Ist aber natürlich auch wieder sehr individuell :) Wäre aber auf jeden Fall was für die Beispiele im Wiki, wenn das jemand hätte...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 26 Januar 2015, 12:01:40
    Zitat von: Reinerlein am 26 Januar 2015, 11:56:11
    das Reading wird vom Player so geliefert. In einer Gruppe ist nur der Gruppenmaster mit vollständigen Informationen versorgt. Die restlichen Informationen werden von Sonos nicht geliefert.


    Das habe ich mir schon gedacht. Hast du mal drüber nachgedacht, nur das FHEM Reading dann trotzdem zu synchronisieren? Letztlich befinden sich die Geräte ja alle im gleichen Zustand (von außen betrachtet).
    Hintergrund: Ich versuche Sonos gerade in mein Media Structure-Device einzubinden und da gibt es jede Menge Hürden den Status korrekt hoch zu aggregieren.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Januar 2015, 13:14:20
    Hi Loredo,

    du meinst jetzt den "transportState"?
    Naja, korrekterweise müsste man dann ziemlich viele Readings übertragen (diejenigen, die für die Darstellung des Inhalts und Abspielzustands da sind)...

    Ich denke, wenn man sein Fhem zu einem solchen Mediasteuerungssystem (so mit Oberfläche und so) aufbauen möchte, sollte man eher eine Zwischenschicht einbauen.
    Man könnte also für jeden notwendigen SonosPlayer eine neue readingsGroup erzeugen, deren Inhalt vom jeweiligen Master kommt...

    Du kannst dir z.B. mit dem Befehl:

    SONOSPLAYER_GetRealTargetPlayerHash($hash);
    den Hash-Eintrag des eigentlichen Masters geben lassen.

    Damit ermittele ich auch intern, wo ich meine Steuerbefehle hinsenden muss (die müssen schließlich auch immer an den Master gehen).

    Damit könnte man doch jetzt aber sowas wie eine readingsGroup und auch eine RemoteControl dynamisch mit Inhalten vom jeweiligen Master versorgen...
    Wenn der Player alleine eine "Gruppe" ist, gibt die Prozedur den übergebenen Hash wieder. Du kannst das also einfach immer verwenden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Januar 2015, 14:38:54
    Hi Loredo,

    ich habe mich kurz mit der Masterplayer-Thematik beschäftigt, und habe dazu eine vereinfachte Prozedur gebaut: "SONOSPLAYER_GetMasterPlayerName()"
    Diese benötigt den Devicenamen des Players, zu dem du den Masterplayerdevicenamen haben möchtest.

    Also z.B.:

    my $master = SONOSPLAYER_GetMasterPlayerName("Sonos_Wohnzimmer");


    Dann habe ich mit Unterstützung von justme1969 vom readingsGroup-Modul eine ReadingsGroup zusammengebaut, die die Anzeige vom Master holt:

    define Sonos_WohnzimmerRG2 ReadingsGroup Sonos_Wohnzimmer:infoSummarize2@{SONOSPLAYER_GetMasterPlayerName($DEVICE)}
    attr Sonos_WohnzimmerRG2 valueFormat {" "}
    attr Sonos_WohnzimmerRG2 valuePrefix {SONOS_getCoverTitleRG(SONOSPLAYER_GetMasterPlayerName($DEVICE))}
    attr Sonos_WohnzimmerRG2 noheading 1
    attr Sonos_WohnzimmerRG2 nonames 1
    attr Sonos_WohnzimmerRG2 notime 1

    Hier besteht noch das Manko, dass man bei einem Gruppenumbau diese ReadingsGroup einmal anticken muss. Siehe dazu auch http://forum.fhem.de/index.php/topic,14425.msg252626.html#msg252626 (http://forum.fhem.de/index.php/topic,14425.msg252626.html#msg252626).
    Aber longpoll (solange die Gruppe nicht umgebaut wurde) geht.

    Damit kannst du dir jetzt eine Oberfläche zusammenbauen, die zu einem Player immer die korrekten Informationen anzeigt, ohne diese in die eigentlichen Playerdevices duplizieren zu müssen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 27 Januar 2015, 14:45:29
    Hi Rainer,


    mir geht es gar nicht um eine Oberflächen-Spielerei. Ich möchte vielmehr beim Verlassen des Hauses über eine structure gesteuert alle Geräte mittels eines einzigen "off" Befehls ausschalten. Auch soll der Befehl nur abgesetzt werden, wenn ein Device tatsächlich noch in Gebrauch ist. Dafür muss der Status "on" oder "off" aber korrekt über die Structure hochaggregiert werden.


    Ich habe es jetzt auch soweit hingefummelt. Allerdings hätte ich gedacht, dass es schicker wäre, im SONOS Device einen Gesamtstatus zu haben statt ihn sich über eine Structure bauen zu müssen. Über die Structure steuere ich aktuell auch, dass alle Geräte (ganz gleich ob in einer Gruppe oder nicht) gemutet werden, wenn beispielsweise das Telefon klingelt o.ä. Auch da wäre ein Global-Mute (analog zu Pause/Stop) ggf. sinnvoll. Korrekterweise müsste das SONOS Device dann aber auch die Status von den SONOSPLAYER Devices logisch hochaggregieren (ggf. mit variabler Einstellung was höhere Prio hat, mute oder unmute). Beim state "on" oder "off" wäre es einfach, denn sobald ein SONOSPLAYER Device im transferState PLAYING ist, ist das Sonos System in gebrauch und somit "on".
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 27 Januar 2015, 17:51:09
    Hier nochmals zur Verdeutlichung, wie ich jetzt die Structure umgesetzt habe. Ob es mir von den Funktionen her so genügt, muss ich noch schauen. Ich habe das Gefühl man könnte da sicherlich einiges besser/schlanker machen, wenn man es im Modul verfügbar hätte.




    define Sonos_Bedroom SONOSPLAYER RINCON_B8E93722EB1001400_MR
    attr Sonos_Bedroom userattr g_audio g_audio_map g_media g_media_map structexclude
    attr Sonos_Bedroom alias Sonos Bedroom
    attr Sonos_Bedroom devStateIcon on:rc_PLAY.svg:off off:rc_PAUSE.svg:on initialized:rc_POWER.svg
    attr Sonos_Bedroom eventMap Play:on Pause:off STOPPED:off PAUSED_PLAYBACK:off PLAYING:on
    attr Sonos_Bedroom g_audio g_APT_Audio
    attr Sonos_Bedroom g_audio_map transportState:PLAYING:on transportState:STOPPED:off transportState:PAUSED_PLAYBACK:off Mute:1:mute
    attr Sonos_Bedroom group Media
    attr Sonos_Bedroom stateFormat transportState
    attr Sonos_Bedroom room Sonos,Bedroom
    attr Sonos_Bedroom webCmd Volume:Mute


    define Sonos_Bathroom SONOSPLAYER RINCON_B8E93783CA9801400_MR
    attr Sonos_Bathroom userattr g_audio g_audio_map g_media g_media_map structexclude
    attr Sonos_Bathroom alias Sonos Bathroom
    attr Sonos_Bathroom devStateIcon on:rc_PLAY.svg:off off:rc_PAUSE.svg:on initialized:rc_POWER.svg
    attr Sonos_Bathroom eventMap Play:on Pause:off STOPPED:off PAUSED_PLAYBACK:off PLAYING:on
    attr Sonos_Bathroom g_audio g_APT_Audio
    attr Sonos_Bathroom g_audio_map transportState:PLAYING:on transportState:STOPPED:off transportState:PAUSED_PLAYBACK:off Mute:1:mute
    attr Sonos_Bathroom group Media
    attr Sonos_Bathroom stateFormat transportState
    attr Sonos_Bathroom room Sonos,Bathroom
    attr Sonos_Bathroom webCmd Volume:Mute


    define Sonos_Living_Room SONOSPLAYER RINCON_B8E93722EB5001400_MR
    attr Sonos_Living_Room userattr g_audio g_audio_map g_media g_media_map structexclude
    attr Sonos_Living_Room alias Sonos Living Room
    attr Sonos_Living_Room devStateIcon on:rc_PLAY.svg:off off:rc_PAUSE.svg:on initialized:rc_POWER.svg
    attr Sonos_Living_Room eventMap Play:on Stop:off STOPPED:off PLAYING:on
    attr Sonos_Living_Room g_audio g_APT_Audio
    attr Sonos_Living_Room g_audio_map transportState:PLAYING:on transportState:STOPPED:off transportState:PAUSED_PLAYBACK:off Mute:1:mute
    attr Sonos_Living_Room group Media
    attr Sonos_Living_Room stateFormat transportState
    attr Sonos_Living_Room room Sonos,Living
    attr Sonos_Living_Room webCmd Volume:Mute


    define Sonos_Kitchen SONOSPLAYER RINCON_B8E93732EB5401400_MR
    attr Sonos_Kitchen userattr g_audio g_audio_map g_media g_media_map structexclude
    attr Sonos_Kitchen alias Sonos Kitchen
    attr Sonos_Kitchen devStateIcon on:rc_PLAY.svg:off off:rc_PAUSE.svg:on initialized:rc_POWER.svg
    attr Sonos_Kitchen eventMap Play:on Pause:off STOPPED:off PAUSED_PLAYBACK:off PLAYING:on
    attr Sonos_Kitchen g_audio g_APT_Audio
    attr Sonos_Kitchen g_audio_map transportState:PLAYING:on transportState:STOPPED:off transportState:PAUSED_PLAYBACK:off Mute:1:mute
    attr Sonos_Kitchen group Media
    attr Sonos_Kitchen stateFormat transportState
    attr Sonos_Kitchen room Sonos,Kitchen
    attr Sonos_Kitchen webCmd Volume:Mute


    define g_APT_Audio structure g_audio Sonos_Bedroom Sonos_Bathroom Sonos_Kitchen Sonos_Living_Room
    attr g_APT_Audio userattr g_media g_media_map structexclude
    attr g_APT_Audio alias Sonos System
    attr g_APT_Audio clientstate_behavior relative
    attr g_APT_Audio clientstate_priority mute on off
    attr g_APT_Audio devStateIcon on:rc_PLAY.svg:off off:rc_PAUSE.svg mute:rc_PLAY.svg:mute 0
    attr g_APT_Audio g_media g_APT_Media
    attr g_APT_Audio g_media_map on:on off:off mute:on
    attr g_APT_Audio group Media
    attr g_APT_Audio icon audio_volume_mid
    attr g_APT_Audio room Sonos
    attr g_APT_Audio webCmd :


    define g_APT_Media structure g_media g_APT_Audio LR_AVR LR_SAT
    attr g_APT_Media alias Media
    attr g_APT_Media clientstate_behavior relative
    attr g_APT_Media clientstate_priority on off
    attr g_APT_Media devStateIcon off:rc_STOP .*:rc_YELLOW:off
    attr g_APT_Media group Home State
    attr g_APT_Media icon audio_sound
    attr g_APT_Media room Apartment
    attr g_APT_Media webCmd :
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Januar 2015, 19:50:02
    Hi Loredo,

    also mit der Aggregation von Werten der einzelnen Player würde ich mich im Modul schwer tun.
    Das ist zu speziell: Der eine will alle Räume, der andere nur Teile davon und dann auch mehrere "Gruppen", usw...
    Auch mit einem aggregierten "on" oder "off" wäre ich nicht glücklich, da es meinem Verständnis nach kein on oder off bei Sonos gibt.
    Ich denke, mit einer Structure ist das schon am Besten gelöst

    Was ich aber natürlich einbauen kann, ist ein "Mute" auf dem Sonos-Device. Ein Groupmute am Player gibt es ja schon.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Januar 2015, 21:57:52
    Hallo zusammen,

    ich habe gerade eine Änderung eingecheckt:
    Es gibt jetzt einen Setter "Mute" am Sonos-Device. Mit diesem kann bei allen Playern in einem Rutsch der Mute-Zustand gesetzt werden.

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

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 27 Januar 2015, 22:33:28
    Zitat von: Reinerlein am 27 Januar 2015, 19:50:02
    Was ich aber natürlich einbauen kann, ist ein "Mute" auf dem Sonos-Device. Ein Groupmute am Player gibt es ja schon.



    Ja, danke dir :D

    Trotzdem kann ich da ja nur auf Verdacht muten, aber nicht, weil ich genau aus dem Reading ersehen kann, dass gerade auf irgend einem Device etwas abgespielt wird und die Devices noch nicht gemutet sind. Dafür muss ich halt wieder selbst Code schreiben (if... then...else...fi). Bei der Structure kann ich jetzt wenigstens sehen "oh, da wird gerade tatsächlich etwas gespielt, jetzt macht es Sinn auch zu muten". Ich weiß, viele muten dann wohl einfach egal ob es nötig ist oder nicht und ich bin hier etwas pingelig... 8)
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 27 Januar 2015, 22:38:41
    Achso und bzgl on/off: Jedes Gerät hat zu dem tatsächlichen Zustand sicherlich eine eigene Definition. Was ich jedoch ja erreichen möchte ist, dass bei "set g_APT_Media off" alle Mediengeräte in den sagen wir mal betriebslosen Zustand geschaltet werden. Dafür muss eben auch ein Sonos Gerät den Befehl "off" kennen und halt eben das ausführen, was dem am nächsten kommt. Das ist ja einer der Gründe, weshalb bei den Media Geräten die Befehle möglichst überall gleich sein sollten, damit das nicht so kompliziert wird in einer Structure. Gleichzeitig sollte der Modulentwickler IMHO die Entscheidung abnehmen, was dem Zustand "off" am nächsten kommt, wenn es diesen sonst nicht unbedingt so in der Form gibt (ja Bevormundung, ich hab die Kritiker gehört...).
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 27 Januar 2015, 22:58:47
    Hallo Reiner,
    ich weiß, es ist schon mehrfach angefragt worden, aber vielleicht gibt es inzwischen neue Erkenntnisse dazu:

    Stichwort Gruppendurchsage!
    Ist es möglich eine Durchsage an mehrere Sonos-Devices zeitgleich zu senden?

    Hintergrund:
    Ich möchte die Türklingel einbinden und auf eine zuvor definierte Gruppe von Geräten den BigBen als mp3 abspielen, wenn der Klingeltaster gedrückt wird. Wenn erst die Sonos-Gruppe gebildet wird, dann ist der DHL-Mann bereits weg, bevor BigBen erklingt. Das dauert einfach zu lange. Und dann muss die Gruppe danach auch wieder getrennt werden und der alte Playlistenzustand/Radio Stream wieder starten...
    Wenn überhaupt, wird es wahrscheinlich recht aufwändig, richtig?

    Danke,
    Christian

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Januar 2015, 23:11:04
    Hi Loredo,

    meine Meinung dazu kennst du ja.
    Was spricht denn dagegen, vorhandene Fhem-Features für diese individuellen Wünsche zu verwenden?

    Es gibt das Attribut "eventMap" mit dem man "eigene" Befehle zurechtbauen kann.

    In deinem Fall z.B.:

    attr Sonos_Wohnzimmer eventMap Stop:off Play:on


    Damit kannst du dann einen neuen Setter "off" bzw. "on" verwenden, und die tun genau das, was du möchtest...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Januar 2015, 23:43:31
    Hi Christian,

    Das ist problematisch. Es gibt seitens Sonos keine schnellere Variante für die Gruppenbildung. Die tauschen untereinander beim Bilden der Gruppe eine Menge Informationen aus, und deswegen dauert das ein bißchen.
    Sich den Zustand aller Gruppenmitglieder vor einer Gruppierung zu merken dürfte irgendwann ziemlich komplex werden. Eine der Fragen die sich dabei stellt, ist z.B., wielange diese Informationen gültig sein sollen und wiederhergestellt werden sollen... Was passiert, wenn nicht die gesamte Gruppe aufgelöst wird... was soll passieren, wenn die Player direkt in eine andere Gruppierung umgebaut werden... usw...

    Das schnellste dürfte einfach eine Sammelwiedergabe sein, und natürlich eine Cachingvorgabe für die Durchsagedateien...

    Also auf jeden Fall das Attribut "targetSpeakFileHashCache" auf "1" setzen, und das Attribut "targetSpeakFileTimestamp" nicht setzen (oder auf "0").
    Damit werden gleiche Texte nicht doppelt angefragt und erzeugt.

    Mit einem Sammelbefehl z.B. kannst du dann die Durchsage starten:

    set Sonos_Wohnzimmer,Sonos_Flur Speak 10 de Dies ist ein Test.
    Wenn dieser Text schon mal wiedergegeben wurde (vielleicht bei einem Test :) ), dann sollte die Wiedergabe auf dem ersten System praktisch gleich starten. Die weiteren Player sollten da eigentlich auch keine lange Verzögerung mehr aufweisen...

    Edit:
    Ich sehe gerade, dass du ja ein MP3 wiedergeben möchtest. Dann brauchst du den ganzen Durchsagequatsch natürlich nicht, und du machst das ja direkt:

    set Sonos_Wohnzimmer,Sonos_Flur PlayURITemp \\pfad\zum\mp3
    Dauert das schon zulange?
    Aber natürlich hat die Wiedergabe dann eine kurze Verzögerung dazwischen... Das klingt bestimmt interessant. So wie bei Marty McFly im ersten Teil mit den Uhren beim Doc :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: John am 28 Januar 2015, 21:25:25
    Hallo Reiner,
    ich bin mit folgender Meldung geplagt.
    ZitatLoading device description failed with error: 500 Can't connect to 192.168.66.253:52881 (timeout) at ./FHEM/00_SONOS.pm line 3227 thread 4
    Loading device description failed with error: 500 Can't connect to 192.168.66.253:80 (timeout) at ./FHEM/00_SONOS.pm line 3227 thread 4

    Woher er die IP-Adresse nimmt ist mir ein Rätsel.

    John
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 Januar 2015, 21:42:53
    Hi John,

    das scheint ein Zoneplayer von dir zu sein (zumindest denkt das Modul das). Und aus irgendeinem Grund erreicht das Modul den nicht, um das Beschreibungsdokument zu laden.

    Ist die Adresse denn von einem Player?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: John am 28 Januar 2015, 21:48:07
    Hi Reiner,

    das Adresse-Band 192.168.66.??? gibts bei mir gar nicht.

    mein Sonosplayer hat folgendes reading
    Zitatlocation      http://192.168.178.40:1400/xml/device_description.xml

    John
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 28 Januar 2015, 21:58:33
    Hallo John,
    ich hatte ein sehr ähnliches phänomen... mittlerweile checke ich nach dem einschalten eines play3 mithilfe eines eigenem presence devices ob die richtige ip vergeben wurde. Falls das nich passiert ist starte ich den betreffenden player neu...
    Später fand ich dann einen zusätzlichen DHCP server der in meinem netz aktiv war - nachdem ich den deinstallierte war der spuk vorbei.
    Titel: Antw:Sonos steuern
    Beitrag von: John am 28 Januar 2015, 22:14:15
    Hi der-Lolo,
    ich habe garantiert nur einen DHCP-Server.

    Ich glaube nicht, daß es daran liegen wird.

    John
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 28 Januar 2015, 22:42:00
    ich habe auch solche meldungen:
    ZitatLoading device description failed with error: 500 Can't connect to 10.0.1.9:49155 at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 3041 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.0.1.9:49155 at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 3041 thread 1.

    die ip gehört zu einer dlan wifi stecker der aber nicht im gleichen wlan ist wie die sonos player.

    ich hatte nur einen der player für kurze zeit per kabel am ethernet port des dlan teils betrieben. das ist aber schon eine weile und mehrere neu starts her.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 29 Januar 2015, 20:35:37
    Hi Reinerlein,


    langsam komme ich dem näher, was ich mir vorstelle.


    Über ein userReading erzeuge ich jetzt ein zweites state-Reading:



    state2 {
      if(ReadingsVal($name,"presence",0) ne "appeared") {
        "disappeared"
     
      } elsif( ReadingsVal(SONOSPLAYER_GetMasterPlayerName($name),"transportState",0) eq "PLAYING") {
         if(ReadingsVal($name,"Mute",0) eq "1") {"mute"} else {"on"}

      } else {
        "off"
      }
    }



    Das einzige, was jetzt noch fehlt ist, dass im Falle eines Masters dann alle dazugehörigen Slaves getriggert werden und ihre userReadings neu auswerten. Das kriege ich gerade nicht hin (fängt schon bei der Auswertung wie die FHEM-Namen der Slave-Geräte lauten an, da gibts ja leider kein Reading).
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Januar 2015, 00:47:34
    Hi Loredo,

    ich habe gerade eine neue Hilfsprozedur eingebaut, die als Ergänzung zu "SONOSPLAYER_GetMasterPlayerName()" die Teilnehmer der Gruppe ohne den Master zurückgibt: "SONOSPLAYER_GetSlavePlayerNames()". Damit kannst du dir zumindest schon mal alle Fhem-Devicenamen der restlichen Gruppenteilnehmer liefern lassen:

    my $groupMasterName = SONOSPLAYER_GetMasterPlayerName('Sonos_Wohnzimmer');
    my @groupMemberNames = SONOSPLAYER_GetSlavePlayerNames('Sonos_Wohnzimmer');


    Vielleicht hilft dir das ja einen Schritt weiter...

    Und als Tipp für einen Notify-Aufhänger:
    Das Reading "ZoneGroupState" des Sonos-Devices wird bei einer Gruppenänderung (mit einem Event) aktualisiert, also auch, wenn ein Player neu auftaucht. Die oben genannten Prozeduren greifen auch auf dieses Reading zurück...

    Wie immer ab jetzt im SVN oder ab nachher im Update...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 30 Januar 2015, 14:05:51
    Hallo Zusammen,

    ich probiere es hier noch einmal, habe ein kleines Problem. Ich habe 2 Play1 Bad und Küche und ein Stereo Paar 2 Play5 im Esszimmer. Die Player werden Nachts abgeschaltet und vorher die Gruppe aufgelöst. Über eine Weckfunktion werden die Player zur eingestellten Zeit eingeschaltet und neu gruppiert. Das Gruppieren von Bad und Küche geht ohne Probleme, aber wenn ich das Stereo Paar mit einbinden will klappt es nicht. Hat jemand eine Idee, oder kann mir jemand sagen wie ich das StereoPaar Sonos_Wohnzimmer mit in die Gruppe bekomme.

    Das Stereo Paar habe ich über die Sonos Software gekoppelt

    define Sonos_Kueche_Appeared_Notify notify Sonos_Kueche:presence:.appeared { \
       fhem "set Sonos_Kueche StartRadio SWR3%%20Elchradio" ;; \
       fhem "set Sonos_Kueche Volume 20" ;; \
            fhem "set Sonos Groups [Sonos_Bad, Sonos_Kueche, Sonos_Wohnzimmer]" ;; \
            fhem "set Sonos_Kueche Play" \


    Gruß Peter
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Januar 2015, 14:56:25
    Hi Peter,

    so, ich konnte bei mir mal ein bißchen testen...

    Bei mir hat es normal geklappt. Vielleicht solltest du ein bißchen auf Masterplayer achten.

    Was (bei mir) auf jeden Fall ging:
    - Stereopaar erzeugen, der Player auf dem man "CreateStereoPair" aufruft, ist der zukünftige Master der Stereogruppe.
    - Gruppe mit "AddMember" oder "Groups" erzeugen: Wenn du das Stereopaar mit in die Gruppe nehmen möchtest, dann nur den Master der Stereogruppe hinzufügen, sonst wird die Stereozugehörigkeit u.U. wieder aufgelöst.
    - Beim Ablösen, auch nur den Master verwenden.

    In deinem geposteten Code stellst du erst die Küche ein (Titel und Lautstärke), und baust dann eine Gruppe, wo die Küche nicht der Master ist. Das bedeutet, dass die Einstellungen der Küche "verloren" sind (zumindest der Titel für die Gruppenkonstellation).
    Wenn du möchtest, dass die Gruppe die Dinge deiner Küche abspielt, dann muss die Küche in der SetGroups-Anweisung der erste Player sein:

    fhem "set Sonos Groups [Sonos_Kueche, Sonos_Bad, Sonos_Wohnzimmer]" ;; \
    Danach ist die Küche der Gruppenmaster, und die Wiedergabe der Küche landet auch im Bad und im Wohnzimmer.

    Leider sieht man in deinem Post nicht, wer das Stereopaar ist, wenn wir aber mal anehmen, es gäbe "Sonos_Flur1" und "Sonos_Flur2":

    set Sonos_Flur1 CreateStereoPair Sonos_Flur2
    Jetzt gibt es ein Stereopaar mit Flur1 und Flur2, Flur1 ist dabei der Stereomaster.

    Nun zur Gruppe:

    set Sonos Groups [Sonos_Kueche, Sonos_Bad, Sonos_Wohnzimmer, Sonos_Flur1]
    Jetzt ist das Stereopaar auch in der großen Gruppe drin, Sonos_Kueche ist der Gruppenmaster.

    Auf keinen Fall etwas in der Art von

    set Sonos Groups [Sonos_Kueche, Sonos_Bad, Sonos_Wohnzimmer, Sonos_Flur1, Sonos_Flur2]
    aufrufen. Das ist logisch inkorrekt, und ich weiß nicht, was die Sonosplayer da so draus machen... Bestimmt nicht das, was du möchtest :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 30 Januar 2015, 16:00:05
    Hey Reinerlein,

    danke dir für die Anpassungen, damit konnte ich mein Vorhaben jetzt umsetzen  :)

    Ich beschreibe es hier nochmals vollständig das Setup eines zusätzlichen Readings "state2", welches ich über stateFormat bei mir als definitives STATE für meine Sonos Geräte verwende.

    Vielleicht findet es ja noch jemand nützlich.





    Die angehängten Screenshots zeigen die minimalistische Darstellung für meine Sonos Geräte. Dabei verhält sich das Icon ähnlich wie der Knopf an den Sonos Geräten mit dem Zusatz, dass bei laufender Musik + mute=on man das Gerät auch unmuten kann über den Button. Das ist besonders hilfreich bei der Nutzung bei der Darstellung auf einem Smallscreen (z.B. Smartphone). Wird gerade nichts abgespielt, ist der Status "off", auch wenn mute ggf. auf "on" ist. Erscheint mir logischer

    Man kann die gesamte Sonos-Gruppe von jedem beliebigen Mitglied aus steuern und jedes Mitglied gibt den Status der Gruppe entsprechend wieder. Der Mute-Status wird dabei pro Gerät dargestellt.

    Über eine Structure (hier "Sonos System" benannt) werden alle Sonos-Geräte nochmals zusammengefasst und liefern einen konsistenten Status "on" oder "off", damit man dies in einer Anwesenheitssteuerung einfacher verwenden kann.




    Was muss man nun tun?

    Folgenden Code in 99_myUtils.pm:

    sub jpSonosState2($) {
        my ($name) = @_;

        if ( SONOSPLAYER_GetMasterPlayerName($name) eq "$name" ) {
            foreach my $player ( SONOSPLAYER_GetSlavePlayerNames($name) ) {
                Log3 $name, 4,
    "SONOSPLAYER $name: Recalculation of reading 'state2' triggered for slave device $player";
                my $newstate = jpSonosState2($player);
                if ( $newstate ne ReadingsVal( $name, "state2", 0 ) ) {
                    readingsSingleUpdate( $defs{$player}, "state2", $newstate, 1 );
                }
            }
        }

        Log3 $name, 4, "SONOSPLAYER $name: Recalculating reading 'state2'";

        if ( ReadingsVal( $name, "presence", 0 ) ne "appeared" ) {
            return "disappeared";
        }
        elsif (
            ReadingsVal( SONOSPLAYER_GetMasterPlayerName($name),
                "transportState", 0 ) eq "PLAYING"
          )
        {
            if   ( ReadingsVal( $name, "Mute", 0 ) eq "1" ) { return "mute" }
            else                                            { return "on" }
        }
        else { return "off" }
    }


    Die Structure sieht folgendermaßen aus (bei mir sind es 4 Sonos Geräte):



    define g_APT_Audio structure g_audio Sonos_Bedroom Sonos_Bathroom Sonos_Kitchen Sonos_Living_Room
    attr g_APT_Audio alias Sonos System
    attr g_APT_Audio clientstate_behavior relative
    attr g_APT_Audio clientstate_priority on off
    attr g_APT_Audio devStateIcon off:rc_PAUSE .*:rc_PLAY:off
    attr g_APT_Audio group Media
    attr g_APT_Audio icon audio_volume_mid
    attr g_APT_Audio room Sonos
    attr g_APT_Audio webCmd mute 0:mute 1


    Dann gibt es noch einige entscheidende Attribute in den SONOSPLAYER Devices zu setzen.
    Hier beispielhaft die entscheidenden Attribute für einen meiner Player:



    define Sonos_Bathroom SONOSPLAYER RINCON_B8E93783CA9801400_MR
    attr Sonos_Bathroom userattr g_audio g_audio_map structexclude
    attr Sonos_Bathroom alias Sonos Bathroom
    attr Sonos_Bathroom devStateIcon on:rc_PLAY.svg:pause off:rc_PAUSE.svg:play mute:rc_MUTE.svg:muteT
    attr Sonos_Bathroom eventMap Stop:off Play:on
    attr Sonos_Bathroom g_audio g_APT_Audio
    attr Sonos_Bathroom g_audio_map state2:on:on state2:mute:on state2:off:off state2:disappeared:off
    attr Sonos_Bathroom group Media
    attr Sonos_Bathroom stateFormat state2
    attr Sonos_Bathroom userReadings state2:(presence|transportState|Mute).* {jpSonosState2($name)}
    attr Sonos_Bathroom webCmd Volume:MuteT
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 30 Januar 2015, 18:29:09
    hast du vielleicht noch eine idee wegen den Loading device description failed with error: 500 Can't connect to 10.0.1.9:49155 at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 3232 thread 1.meldungen?

    ich habe das gefühl das das sie alles ziemlich verzögern weil der hintergrund prozess jedes mal erst in einen timeout läuft bevor es weiter geht.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Januar 2015, 18:44:29
    Hi Andre,

    leider habe ich da auch keine richtige Idee. Du könntest als Versuch mal im Code von 00_SONOS.pm in der Zeile 335 die IP "10.0.1.9" als String in das Array eintragen.

    Aber dieses Feature ist noch gar nicht getestet und auch nur angefangen, da es damals dann gar keinen Grund mehr gab :)

    Wenn das eine Lösung (oder besser ein Workaround) sein sollte, würde ich das noch weiterbauen, sodass man das als Fhem-Attribut angeben kann... aber erstmal schauen...

    Da es eine Codeänderung ist, solltest du Fhem nach der Änderung auf jeden Fall neustarten...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Januar 2015, 18:48:46
    Hi Andre,

    ich sehe gerade, dass es der Einfachheit halber ein Hash ist.
    Dann solltest du folgendes schreiben:

    my %IgnoreIPs = ('10.0.1.9' => 1);


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 30 Januar 2015, 19:12:46
    Hi Reinerlein,

    vielen Dank für Deine schnelle Hilfe, aber ich habe immer noch Probleme mit dem bilden von dem Stereo Paar. Wo packst Du das " set ... CreateStereoPair ... " hin. Muß ich da ein neues define anlegen

    define Sonos_Wohnzimmer_stereo set Sonos_Wohnzimmer CreateStereoPair Sonos_Wohnzimmer2

    oder wie muß das aussehen?

    Entschuldigung das ich so blöde bin

    Gruß
    Peter
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 30 Januar 2015, 19:28:43
    die meldungen sind weg und bis jetzt funktioniert alles...

    ich verfolge das mal weiter.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: MarioS1969 am 30 Januar 2015, 20:16:50
    Hallo Reinerlein,
    mein Problem besteht immer noch. Ich kann einfach keine mp3 mit dem Sonos abspielen. Radiosender funktionieren.
    Rufe ich speak auf wird die mp3 datei abgelegt, aber nicht abgespielt. Auch andere mp3s können nicht abgespielt werden. Die Recht in diesem Verzeichnis stehten auf 777.

    Im Logfile erscheint die folgende Fehlermeldung:

    2015.01.21 22:41:00 5: SONOS0: Received from UPnP-Server: 'DoWorkAnswer:RINCON_B8E9373ACB7401400_MR:LastActionResult:PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"'

    2015.01.21 22:41:00 4: SONOS0: DoWorkAnswer arrived for Sonos_Wohnzimmer->LastActionResult: 'PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"'


    Kann es daran liegen, dass das folgende Verzeichnis nicht existiert?
    Dodurch dies angelegt?

    find /usr/share/fhem/FHEM/lib/UPnP


    Ich versuche es seit ca. 2 Wochen und komme, trotz deiner super Beschreibung im FHEMWiki einfach nicht weiter. Die Installation habe ich nach deiner Beschreibung durchgeführt.

    Hast du noch eine Idee?

    Vielen Dank und ein schönes Wochenende
    Mario
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Januar 2015, 22:05:31
    Hallo zusammen,

    @Peter: Das mit dem Stereopaar von Fhem aus war nur ein Beispiel. Wenn es sowieso ein festes Paar ist, dann brauchst du das natürlich nicht in Fhem machen. Aber achte immer darauf, dass du den Master für deine späteren Gruppierungen verwendest.
    Wenn es bereits ein Paar bei der Erkennung durch Fhem war, dann gibt es einen Player, der z.B. "Sonos_Flur" heißt, und einen, der "Sonos_Flur_RF" oder so ähnlich heißt...
    Dann musst du immer den ohne Kürzel verwenden...

    @Andre: Du hast jetzt diese IgnoreIPs gefüllt, und hast erstmal Ruhe?

    @Mario: Versuch doch mal bitte im Sonos-System mit dem Controller eine weitere zu indizierende Freigabe einzurichten (genauso wie deine normale), das können ja mehrere sein. Dort gibst du bitte die Freigabe deines Pi an, und läßt ihn indizieren.
    Danach versuchst du die Dateien dort abzuspielen. Wenn das nicht geht, dann stimmt offensichtlich etwas mit den Rechten noch nicht, und du musst dort nochmal nachschauen...
    Vergiss nicht bei Erfolg das wieder im Controller zu entfernen.

    Das mit dem fehlenden Verzeichnis kann nicht die richtige Stelle sein. Das UPnP-Modul läuft ja offensichtlich, da es ja einen UPnP-Fehler liefert, als es versucht hat, dem Player das neue Stück zum Abspielen mitzuteilen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Januar 2015, 04:23:22
    Hi Andre,

    ich habe nun ein neues Attribut "ignoredIPs" am Sonos-Device eingeführt. Mit diesem kann man eine oder mehrere IP-Adressen komplett von der UPnP-Verarbeitung ausschließen.
    Die IPs müssen mit Komma getrennt und ohne Leerzeichen aufgelistet werden...

    Damit brauchst du nicht mehr etwas direkt im Code verdrahten.

    Wie immer ab sofort im SVN oder ab nachher im Update...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 31 Januar 2015, 09:42:36
    perfekt. das ganze hat tatsächlich geholfen. keine meldungen mehr. keine verzögerungen und keine verbindungsabbrüche.

    gruß
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: John am 31 Januar 2015, 10:33:43
    ich kann das bestätigen, das Problem ist beseitigt und meine Skripte funktionieren wieder.

    Folgende Ausgabe ohne für mich erkennbare negative Folgen hab ich noch:
    Zitatutf8 "\xFC" does not map to Unicode at ./FHEM/00_SONOS.pm line 2721.
    John
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Januar 2015, 10:49:10
    Hi John,

    ist die Zeilennumer von der aktuellsten Version heute Morgen?
    Hast du da vielleicht gerade versucht eine Playlist aus einer Dazei zu laden?

    Dann könnte es ein Fehler in eben dieser Datei sein...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: John am 31 Januar 2015, 12:15:19
    Hallo Reiner,

    2x Ja, ich denke den Fehler kann man ignorieren.

    Dank dir nochmal sehr für deine Arbeit und dein Engagement.

    John
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 31 Januar 2015, 13:37:34
    Hallo Reiner,

    ich habe es mittlerweile hinbekommen mit createstereopair, habe nur noch das Problem, ich habe am Master, Sonos_Wohnzimmer linker Kanal "Set Sonos_Wohnzimmer CreateStereoPair Sonos_Wohnzimmer2" eingegeben, Stereo Paar wurde gebildet, aber er zeigt mir immer Sonos_Wohnzimmer2 als Master an und auch der Balance Regler geht in die falsche Richtung, also wenn ich ganz nach rechts gehe ist die rechte Seite stumm.
    Hast Du vielleicht noch eine Idee?

    Gruß Peter
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Januar 2015, 14:04:29
    Hi Peter,

    das klingt danach, als seien die beiden Player vertauscht. Ich würde das Stereopaar in Fhem erstmal wieder auflösen, und über den normalen Controller neu bilden. Dort gibt man ja per Tastendruck vor, welcher der Linke Player wird.

    Anschließend kannst du dir in Fhem die Konstellation anhand des Readings "fieldType" anschauen.
    Wenn da etwas vertauscht ist, würde ich das Sonos-Device per "disable" deaktivieren, die beiden fraglichen Player aus Fhem löschen, und das Sonos-Device wieder aktivieren (durch löschen des "disable"-Attributs).
    Damit solltest du wieder eine klar erkennbare Basis haben.

    Alternativ kannst du natürlich auch die Seriennummern an den Geräten mit dem Internal "UDN" vergleichen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 31 Januar 2015, 15:49:19
    Hi Reiner,

    Du hast recht, es waren aus irgend einem Grund die beiden Adressen vertauscht. Ich habe in der cfg die Namen getauscht, jetzt passt es.
    Vielen Dank für Deine tolle Unterstützung.

    Gruß
    Peter
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 01 Februar 2015, 15:27:36
    Hallo Reinerlein

    Besteht die Möglichkeit einem Dummy die Favoriten zum Bsp der Radiosender (Im Sonos unter "Meine Radiosender" zu finden - gelten für alle Sonos Räume)  diese dem Dummy als drop-down liste (SetList) zuzuordnen, wie würde dies gehen?

    define SonosRadiosFavoriten dummy
    attr SonosRadiosFavoriten setList state: ........ -> hier die gewünschte liest der Radiosender aus dem Sonos - "Meine Radiosender"
    attr SonosRadiosFavoriten webCmd state

    um eine Unterstützung wäre ich dankbar.

    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Februar 2015, 16:17:45
    Hi Eric,

    am Besten ist ein Notify auf einem Player deiner Wahl der auf "LastActionResult" lauscht und reagiert, wenn dort "GetRadios:" am Anfang steht.
    Dort machst du einfach ein "set Attr" auf deinem Dummy.

    Also sowas in der Art:

    define radioDummy_Notify notify Sonos_Wohnzimmer:LastActionResult.*GetRadios: { if ('%' =~ m/GetRadios: (.*)/i) { CommandAttr(undef, 'radioDummy setList '.$1) } }
    Alles ungetestet, nur aus dem Kopf geschrieben...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 01 Februar 2015, 20:37:19
    Hallo Reinerlein

    Vielen Dank, das hat sehr geholfen.

    Habs jetzt so:
    Sonos_Wohnzimmer:LastActionResult.*?GetRadios.* { if ('%' =~ m/GetRadios: (.*)/i) { CommandAttr(undef, 'radioDummy setList '.$1) } }

    Damit wird die setList gefüllt. Mein Problem ist, dass ich das dummy "radioDummy" die Elemente in der Liste mit "space" vorhanden sind und so nicht richtig als Dropdown dargestellt werden. 

    bsp: der setList eintrages:
    "Energy Zürich 100.9 (Euro-Hits)","Juventus Radio","Kanal K 92.2 (Gemischtes/Vielfalt)"

    Das Dummy zeigt es nicht korrekt als DropDown an, oder mache ich da was noch falsch?

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Februar 2015, 21:19:14
    Hi Eric,

    ja, Leerzeichen sind oft ein Problem :)

    Du könntest die Zeile so anpassen:

    Sonos_Wohnzimmer:LastActionResult.*?GetRadios.* { if ('%' =~ m/GetRadios: (.*)/i) { CommandAttr(undef, 'radioDummy setList '.uri_escape($1)) } }
    Damit würde ein anschließender Aufruf an den Player schonmal passen :) Dort müssen die Leerzeichen nämlich auch weg...

    Ob dann in der Auswahl komische %-Zahlen stehen weiß ich jetzt auch nicht, dass musst du probieren...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Februar 2015, 22:10:18
    Hi Eric,

    ich habe das mal gerade nachgebaut.

    Es muss doch mehr hin:

    Sonos_Wohnzimmer:LastActionResult.*?GetRadios.* { if ('%' =~ m/GetRadios: (.*)/i) { my @@list = split(',', $1); @@list = map uri_escape(substr($_,1,-1)), @@list; CommandAttr(undef, 'radioDummy setList '.join(' ', @@list)) } }

    Aber Leerzeichen in der setList gehen nicht. Und hiermit werden statt Leerzeichen dann die "%20" angezeigt (so wie die anderen Sonderzeichen auch)...

    Das wird im Resultat nicht schön.
    Ich würde dir eher eine Readingsgroup empfehlen.

    Eine einfache Variante geht out-of-the-box pro Player:

    define Sonos_Wohnzimmer_radioReadingsGroup readingsGroup Sonos_Wohnzimmer:<{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>

    Dazu gibt es aber auch eine Beschreibung im Wiki...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 02 Februar 2015, 21:01:43
    Hallo,
    seit heute verstehe ich die Welt nicht mehr!
    Kann mir mal jemand sagen, warum seit heute dieser Code nicht mehr läuft?
    define SonosInit notify .*ZP.*:presence:.appeared  \
    define Init_$NAME_Later at +00:02:00 \
    {\
      my $reading =(ReadingsVal ("$NAME","playerType",""));;;;;;;;\
      if (($reading eq ("S1")) || ($reading eq ("S3")) || ($reading eq ("ZP120")))\
      {\
       if (ReadingsVal ("$NAME","currentTrackURI","") eq "")\
        {\
         SON_Init('$NAME', $reading)\
        }\
      }\
    }
    attr SonosInit disable 0
    attr SonosInit group Sonos System
    attr SonosInit room 98-Sonos
    attr SonosInit sortby 1


    Die INIT-Devices werden einfach nicht mehr angelegt! Irgendwie kann $NAME nicht mehr aufgelöst werden! Bis gestern ging das aber!
    im Logfile sieht das so aus:
    2015.02.02 20:54:32 5: Cmd: >attr KG.sk.SON.ZP_S3 room 98-Sonos<
    2015.02.02 20:54:32 5: Cmd: >define SonosInit notify .*ZP.*:presence:.appeared 
    define Init_$NAME_Later at +00:02:00
    {
      my $reading =(ReadingsVal ("$NAME","playerType",""));;;;
      if (($reading eq ("S1")) || ($reading eq ("S3")) || ($reading eq ("ZP120")))
      {
       if (ReadingsVal ("$NAME","currentTrackURI","") eq "")
        {
         SON_Init('$NAME', $reading)
        }
      }
    }<
    2015.02.02 20:54:32 5: Cmd: >attr SonosInit disable 0<
    2015.02.02 20:54:32 5: Cmd: >attr SonosInit group Sonos System<
    2015.02.02 20:54:32 5: Cmd: >attr SonosInit room 98-Sonos<


    liegt das am fhem Update von heute?
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 02 Februar 2015, 21:07:21
    Hallo,
    ich noch mal....
    Komischerweise wird der Code korrekt ausgeführt, aber die defines werden nicht mehr unter "unsorted" aufgeführt. Was ist denn da jetzt los!
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Februar 2015, 23:40:08
    Lieber pah,

    ich denke, jeder der es verstehen will, wird es verstehen... für alle anderen ist es nicht geschrieben worden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 03 Februar 2015, 09:36:52
    Zitat
    höfliche Bitte: überarbeitet mal die englische Commandref, denn das ist nicht nur sehr einfaches Englisch, sondern darüber hinaus auch Unsinn: This Module will not be functioning on any platform.


    Lieber PA, steht Dir doch frei, da Deine Kenntnisse helfend in die Bresche zu werfen.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Februar 2015, 17:18:38
    Hallo pah,

    um das Thema von meiner Seite aus hier abzuschließen:
    Meine Kernkompetenz liegt eindeutig nicht im Schreiben von englischen Texten. OK, ich habe damit kein Problem.
    Jeder, der die deutsche Beschreibung nicht lesen/verstehen kann, weil er vielleicht die deutsche Sprache nicht beherrscht, wird mit dieser "schlechten" englischen Beschreibung auskommen müssen, und in den meisten Fällen auch damit auskommen.
    Wem das nicht gelingt, dem empfehle ich die Verwendung eines Übersetzungstools.

    Das Problem ist hier nicht die, deiner Meinung nach, schlechte englische Dokumentation, sondern dass du dich einmischen möchtest, auf überhebliche Art und Weise deine Fähigkeiten der englischen Sprache deutlich machen möchtest, aber gleichzeitig klarmachen möchtest, dass du anderweitig ja so wichtig und eingespannt bist, dass du leider nicht helfen kannst. Außerdem gibt es ja so viele Module, die eine schlechte englische Dokumentation haben, dass du das gar nicht bewältigen könntest.

    Das ist nicht nett. Wenn es dir wirklich um eine qualitative Verbesserung der englischen Dokumentation geht, dann mach bitte einen neuen Thread auf, der einen Titel wie "Korrektur/Verbesserung der englischen Dokumentation des Sonos-Moduls" hat, und beteilige dich bitte aktiv mit fertigen (Teil-)Übersetzungen am Thema. Ich pflege solche Dinge gerne ein.
    Wenn dir das zuviel ist, dann lass es. Dann kaper hier aber auch bitte nicht den Thread "Sonos steuern", in dem es nur am Rande um dieses Thema gehen sollte.

    Ich denke, dass dieses Thema damit nun aus dem Thread verschwindet. Bei Bedarf wirst du ja einen neuen eröffnen.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Frank Hell am 03 Februar 2015, 18:22:45
    Get a life, Prof.! :-P
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Februar 2015, 18:23:13
    Hallo pah,

    nein, ich habe kein Problem auf Fehler hingewiesen zu werden. Aber hier macht der Ton die Musik, und die Musik in deinen Postings hier ist eindeutig disharmonisch.
    Man stößt niemanden so vor den Kopf wenn man etwas freiwilliges von ihm möchte...

    Diesen von dir beschriebenen Satz habe ich natürlich korrigiert. Er stammte sogar noch aus der Modulvorlage, die ich vor 2 Jahren als Grundlage für mein Modul verwendet habe. Er könnte also noch irgendwo in dieser Art vorkommen...
    Da mir die englische Dokumentation aber überhaupt nicht wichtig ist, kann sowas natürlich von mir übersehen werden.

    Was ich schade finde, ist, dass du meine Antwort als Inhaltsleer bezeichnest (übrigens eine überhebliche Anmerkung). Damit hast du die Chance verpasst, zu lernen, dass deine reale Informationsübermittlung in deinen Postings anscheinend nicht mit deiner gewünschten Übereinstimmt. Außerdem habe ich deutlich gemacht, dass du bitte nicht in dieser Form mit mir hier kommunizieren sollst.
    Scheinbar fällt es dir schwer, diese Kritik anzunehmen und dein Verhalten entsprechend zu ändern.

    Ich würde dich jetzt wirklich bitten, bei weiteren Wünschen in dieser Richtung einen neuen Thread aufzumachen, da dieser Thread hier nicht für diese Diskussion missbraucht werden sollte (übrigens auch ein Hinweis aus dem inhaltsleeren Post von mir).

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 06 Februar 2015, 21:22:29
    rheinerlein,

    ich versuche gerade einen hm 2fach schalter zum steuern eines sonos player zu verwenden.

    ein und aus schalten funktioniert so weit. aber mit der laustärke habe ich probleme. ich verwende hierzu die long events und scheinbar dauert das ausführen der VolumeU bzw. VolumeD kommandos so lange das es nach dem zweiten oder dritten schritt irgendwo fhem intern anfängt zu hackeln und danach alles hängt. ich habe noch nicht mehr rausgefunden. hast du eine idee?

    zwei dinge sind mir noch aufgefallen:
    - im wiki steht die schrittweite für beide kommandos ist 10, tatsächlich ist es aber 7.
    - wie wäre es bei beidem einen optionalen zusätzlichen parameter für die schrittweite zu haben?
      ich weiss das geht auch mit dem volume kommando. aber das gilt ja für die beiden kommandos sowieso :)

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 06 Februar 2015, 21:35:24
    und noch zwei fragen:

    - ich habe zwar das LineInConnected reading gesehen aber nicht gefunden wie ich diesen eingang auch abspielen kann.

    - inzwischen habe ich einen gebrauchten zp100. der neben eingang und lautsprecher anschluss des zp120 auch noch line out
      hat. diesen kann line out auf fixer oder variable stellen. bei fixer werden die lautsprecher deaktiviert (und ich glaube sogar
      der Verstärker abgeschaltet). diese einstellung gibt es im fhem modul noch nicht oder?

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Februar 2015, 21:41:26
    Hi Andre,

    zu der Schrittweite: Ich korrigiere das gleich im Wiki. Danke für den Hinweis...

    Wenn du sowieso einen Parameter mitgeben kannst/willst, kannst du ja wirklich Volume verwenden :)
    Ansonsten kannst du an jedem einzelnen Player ein Attribut "VolumeStep" setzen, dessen Wert für die Änderung verwendet wird.

    Aber warum dein Fhem nach mehreren Volume-Änderungen stockt kann ich mir nicht erklären. Natürlich bedeutet eine Änderung, dass ein Volume-Event vom Player zurückgemeldet wird, und das könnte mit dem von dir abgesetzten Befehl des Tasters kollidieren, sollte aber trotzdem ausgeführt werden... halt nur später...
    Was taucht den bei deinem stockenden Fhem im Konsolenlog auf?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 06 Februar 2015, 21:48:10
    bis jetzt habe ich noch keinerlei meldungen gesehen. nur das Perfmon meldet das fhem bis zu 60 sekunden hängt.

    ich muss mal in ruhe das losging hoch drehen und schauen.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Februar 2015, 21:49:39
    Hi Andre,

    zum zweiten Post:
    Du kannst als Quelle bei einem PlayURI einfach einen Fhem-Devicenamen verwenden. Dann wird dessen LineIn-Eingang o.ä. verwendet (oder bei der PlayBar z.B. der HDMI-Port).

    Mit diesem fixed oder variable kann ich mir ja mal anschauen, was man da machen kann...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 06 Februar 2015, 21:55:33
    so einfach kann es sein :) danke.

    gruss
      andre

    ps: ich habe gerade noch gesehen das du beim get EthernetPortStatus in der liste der parameter nur 0 und 1 erlaubst. der zp100 hat aber 4 ports. aber die beschränkung gilt nur fürs drop down in fhemweb. auf der kommandozeile geht auch 2 und 3.
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 06 Februar 2015, 22:08:40
    ZP-100? Wow, war das ein Antiquitäten Händler?
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 06 Februar 2015, 22:13:19
    nicht lästern :)

    die 4 ports und der ausgang sind gold wert. ich hoffe der hält noch lange lange durch.

    gruss
      andre

    ps: der ist zwar älter als die anderen sonos player aber neuer als alle anderen verstärker und anlagen die ich habe :). und die 20 oder 30 jahre alten (damals high end) teile nehmen es von der qualität (klang ung verarbeitung) locker mit aktuellen geraten die deutlich mehr kosten auf. es ist erstaunlich was so eine kiste wiegen kann wenn kein plastik verwendet wird :)
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 06 Februar 2015, 22:36:19
     ;D

    Schon klar - von meiner Seite aus ist es auch eher Neid, die 4 Ethernet Ports hätte ich auch gerne, mein ZP120 hat nämlich nur zwei, steht aber neben dem Netzwerkdrucker und dem BeagleBoneBlack im Büro, deswegen musste ich mir einen zusätzlichen switch anschaffen für diese Stelle.
    Im Nachhinein ist das aber OK so, da der ZP120 ohne abzuspielen roundabout 66Watt zieht...
    Ich schalte ihn jetzt nur noch bei bedarf ein und brauche nicht auf den Drucker zu verzichten.

    Und ja - manche sind eben Audiophil veranlagt, ich zähle mich auch dazu und würde niemals auf meinen Stereo Verstärker und dessen Lautsprecher verzichten.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Februar 2015, 23:50:25
    Hi Andre,

    habe gerade noch eine neue Version eingecheckt, die folgende Änderungen beinhaltet:
    Außerdem ist das Wiki wegen der Schrittweite aktualisiert...

    Wie immer: jetzt im SVN oder Morgen im Update...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 07 Februar 2015, 00:05:19
    wow. das war schnell. klasse. danke.

    du weisst ja wie das mit den fingern und dem arm ist... :) gleich noch ein wunsch und zwei vorschläge:

    - du erinnerst dich ja an die komischen pfade auf meiner synology. ich wollte eigentlich den perl lib path direkt im fhem start script anpassen so das die module in lib gefunden werden. aus irgendwelchen gründen funktioniert das aber nicht und fhem beendet sich ohne fehlermeldung sofort wenn ich das mache. d.h. ich muss nach jedem update daran denken '/usr/local/FHEM/share/fhem/FHEM/lib' an den use lib in zeile 376 mit einzubauen. sonst wird das sonos modul nicht geladen. könntest du das vielleicht so mit einchecken ?

    - durch das nicht laden sind mir irgendwie die attribute eines der sonos player durcheinander gekommen. wie wäre es wenn man diese per kommando auf die werte die beim autocreate erzeugt werden zurück setzen kann ?

    - wenn das SONOS modul nicht geladen wird führt das dazu das im SONOSPLAYER modul threads->tid() nicht verfügbar ist und fhem sich direkt wieder beendet weil das use threads nur in SONOS und nicht in SONOSPLAYER enthalten ist.

    statt ein use thread einzubauen würde ich aber vorschlagen ein require "$attr{global}{modpath}/FHEM/00_SONOS.pm einzubauen. das würde gleich mit abfangen das die funktionen aus 00_SONOS die in 21_SONOSPLAYER verwendet werde nicht da sind und fhem dann deshalb aussteigt.

    das player modul ist ja ohne das sonos modul nicht wirklich sinnvoll und so würde fhem beide nicht laden und wenigstens starten wenn es irgendwelche probleme beim laden von sonos gibt.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 Februar 2015, 01:06:55
    Hi Andre,

    kurze Rückmeldung:
    - Das mit der require-Anweisung habe ich drin
    - Das mit deinem Synology-Pfad auch
    - Zu dem Attributresetten: Da bin ich mir noch nicht sicher, wie ich das so schreiben kann, damit es für mich keine Codeverdoppelung ist. Das muss schließlich auf verschiedenen "Ebenen" passieren. Die ursprüngliche Erzeugung (bzw. die Aufforderung dazu, und damit auch der genaue Umfang) liegt im SubProzess, ein ResetAttributesToDefault würde allein innerhalb Fhem liegen (bzw. nur über unsinnige Umwege im SubProzess :) ).
    Bisher nutzbare Alternative: Im Devicedetail unten auf "Delete this Device" klicken. Damit werden alle automatisch angelegten, zusätzlichen, Devices mit weggelöscht. Wenn du dann das "disable"-Attribut am Sonos-Device einmal kurz aktivierst, und wieder löschst, ist dein Device wieder da. Unter Umständen hat es halt einen anderen Namen (falls du diesen mal geändert haben solltest), den kann man ja aber auch schnell wieder anpassen...

    Aber ich denke da mal drauf rum... die anderen Änderungen bringe ich dann zusammen mit den nächsten Bugfixes rüber... da kommen bestimmt welche zum neuen Feature :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 07 Februar 2015, 15:57:43
    danke!

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 Februar 2015, 20:07:42
    Wow,  cool,  was hier alles entwickelt wird.
    Titel: Antw:Sonos steuern
    Beitrag von: mannitb303 am 08 Februar 2015, 01:10:22
    Hallo,

    ich bin echt am verzweifeln. Habe FHEM auf einem Raspberry PI B+ frisch installiert, habe laut der Anleitung im WIKI die Module welche für Sonos nötig sind installiert. Sonos Modul wird geladen, aber immer als Disconnected angezeigt.  Ich verbinde mich mit meinem RPI per Putty von meinem Windows Rechner. Wenn ich nun FHEM starte sehe ich in der Ausgabe 00_SONOS.pm is listening to Port 4711 im Log-File steht Can't connect to 192.168.178.20:4711: Connection refused. Sind die Ports immer gleich bzw. was macht der Port 4711 genau habe bei Sonos nichts darüber gefunden, habe eine PLAY5.
    Muss noch dazu sagen das beim Update-Befehl bei unterschiedlichen Dateien immer ein INET Timeout kommt. Allerdings hat er das SONOS sowie das SONOSPLAYER Modul geladen.

    Gruß

    Stefan 
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Februar 2015, 01:30:55
    Hi Stefan,

    der Port 4711 ist willkürlich gewählt, und du kannst auch einen anderen nehmen. Er muss nur auf deinem Pi frei sein. Er ist nur für die Kommunikation zwischen den beiden Prozessen des Sonos-Moduls zuständig, und hat nichts mit deinen Zoneplayern zu tun...

    Hast du in deinem Sonos-Device in Fhem als Netzwerkverbindung "localhost:4711" stehen? Beim Verbindungsversuch steht was von einer IP-Adresse. Nicht das diese falsch ist, bzw. der Server an eine andere Schnittstelle gebunden wurde (ich weiss jetzt nicht, ob dein Pi überhaupt mehrere Netzwerkschnittstellen hat).
    Ich vermute mal, dass du dort die IP-Adresse deines Zoneplayers eingetragen hast, oder?

    Ansonsten müsstest du mal mehr von deiner config posten, und die genauen Log-Ausgaben... dann können wir das Problem sicherlich eingrenzen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 08 Februar 2015, 10:07:13
    Guten Morgen Reinerlein,
    seit meinem update gestern ist der wurm in meinem Log drin...
    trotz Global verbose 2 werden level 3 nachrichten ausgegeben, das hat vermutlich nichts mit dem Sonos Modul zu tun...
    Was mir jetzt aber auffällt ist das alle 30sek ein connect stattfindet den ich mir nicht erklären kann...

    Zitat2015.02.08 10:03:50 3: SONOS0: Connection accepted from localhost:49055
    2015.02.08 10:03:20 3: SONOS0: Connection accepted from localhost:49033
    2015.02.08 10:02:50 3: SONOS0: Connection accepted from localhost:49022
    2015.02.08 10:02:28 0: SONOS1: Setting LogLevel to new value: 2
    2015.02.08 10:02:20 3: SONOS0: Connection accepted from localhost:49000

    ein setzen des Sonos Devices auf verbose 2 bringt auch keine Änderung.
    beachte bitte ich nutze reverseLog

    Hast Du eine Idee was da los ist?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Februar 2015, 10:22:20
    Hallo der-Lolo,

    Diese Verbindungen stellen die IsAlive-Überprüfung des SubProzesses durch den Fhem-Part des Moduls dar.
    Wenn das mal nicht klappt, dann versucht der Fhem-Part den SubProzess neuzustarten...
    Die sind also normal.

    Beachte bitte, dass das Setzen des Verbose-Levels erst nach einem Neustart des SubProzess wirkt. Wenn du das also zur Laufzeit setzt und es wirken soll, dann musst du einmal kurz das Attribut "disable" am Sonos-Devices aktivieren, etwas warten und wieder löschen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: mannitb303 am 08 Februar 2015, 11:56:46
    Hallo Reinerlein,

    danke für die Antwort. Bin gerade dabei meinen RPi nochmals komplett neu aufzusetzen, mit der neuesten Wheezy.
    Im Sonos Device habe ich die IP von meiner Play5 stehen, da ich in der Fritzbox immer die gleiche IP vergeben lasse. Mein RPi hat nur einen LAN-Anschluss und auch nur ein Device eth0:.
    Sollte ich Localhost oder die IP im Sonos Device eintragen bzw. wenn ich die IP eintrage muss ich auf dem RPi Ports freigeben, wenn ja wie? Ich sehe mit nmap welche Ports auf meinem RPi freigegeben sind, wenn der 4711 (bsp.) nicht auftaucht muss ich ihn freigeben, die Komunikation ist doch nur intern (Sorry bin etwas genervt, habe auch noch eine IPV6 mit DS-Lite Problem)?

    Werde es wie hier im Thread auf Seite 68 von miadam009 nochmals probieren.

    Vorerst mal Danke

    Gruß

    Stefan

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Februar 2015, 13:24:41
    Hi Stefan,

    noch kurz zum Klarstellen:
    Du brauchst nie irgendwo eine IP-Adresse eines Zoneplayers eingeben. Beim Definieren des Sonos-Devices solltest du *genau* das folgende eingeben:

    define Sonos SONOS localhost:4711 30
    Alles andere ist für Leute, die bestimmte Probleme haben, oder sich anderweitig damit auskennen :)

    Es gibt dann später noch diverse Attribute, die du für bestimmte Funktionalitäten benötigst... aber eins nach dem anderen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: mannitb303 am 08 Februar 2015, 13:38:23
    So...... nachdem ich jetzt zum 3. mal den RPi neu aufgesetzt habe, geht es immer noch nicht. Jetzt kommt configfile: Cannot load module SONOS.
    Habe ein Update gemacht, im log steht (nur ein Auszug):
    2015.02.08 12:34:29 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_HXB.pm
    2015.02.08 12:34:29 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_KM271.pm
    2015.02.08 12:34:29 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_LIRC.pm
    2015.02.08 12:34:30 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_MAXLAN.pm
    2015.02.08 12:34:30 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_MQTT.pm
    2015.02.08 12:34:30 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_MYSENSORS.pm
    2015.02.08 12:34:30 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_NetzerI2C.pm
    2015.02.08 12:34:30 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_OWX.pm
    2015.02.08 12:34:30 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_OWX_ASYNC.pm
    2015.02.08 12:34:30 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_RPII2C.pm
    2015.02.08 12:34:30 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_SONOS.pm
    2015.02.08 12:34:31 3: update get http://fhem.de/fhemupdate4/svn/FHEM/00_TCM.pm



    Gebe ich bei fhem erneut 'update' ein kommt:

    Events (global only):
    2015-02-08 13:24:45 Global global Got remote controlfile with 1457 entries.
    2015-02-08 13:24:45 Global global Got local controlfile with 1457 entries.
    2015-02-08 13:24:46 Global global mv ./www/pgm2/fhemweb_multiple.js ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/fhemweb_noArg.js ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/fhemweb_slider.js ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/fhemweb_svg.js ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/fhemweb_textField.js ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/fhemweb_time.js ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/darktouchpadsvg_defs.svg ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/darktouchpadsvg_style.css ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/ios6touchpadsvg_defs.svg ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/ios6touchpadsvg_style.css ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/ios7touchpadsvg_defs.svg ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/ios7touchpadsvg_style.css ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/iostouchpadsvg_defs.svg ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/iostouchpadsvg_style.css ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/darksmallscreensvg_defs.svg ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/darksmallscreensvg_style.css ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/ios7smallscreensvg_defs.svg ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/ios7smallscreensvg_style.css ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/iossmallscreensvg_defs.svg ./unused
    2015-02-08 13:24:46 Global global mv ./www/pgm2/iossmallscreensvg_style.css ./unused
    2015-02-08 13:24:46 Global global nothing to do...


    Bei update check kommt:

    Got remote controlfile with 1457 entries.
    Got local controlfile with 1457 entries.
    nothing to do...


    Sorry für den vielen Text, aber ich flipp bald aus. Gestern hat es das Modul noch geladen, da kam nur der Can't connect to 192.168.178.20:4711: Connection refused Fehler, jetzt läd er das Modul wieder nicht. Habe den RPi neu aufgesetzt nach http://www.meintechblog.de/2013/05/fhem-server-auf-dem-raspberry-pi-in-einer-stunde-einrichten/ und Sonos nach der Anleitung von maidam009 im Thread auf Seite 68. 
    Habe diesmal allerdings das neueste Raspian Wheezy vom 31.01.2015 von der Raspberrypi Homepage genommen.

    Nochmals Sorry falls irgendwas falsch gepostet sein sollte.

    Gruß

    Stefan
    Titel: Antw:Sonos steuern
    Beitrag von: mannitb303 am 08 Februar 2015, 13:41:10
    Hallo Reinerlein,

    mist Antwort überschnitten.  ;D
    Ok, habe jetzt auch localhost eingetragen, bringt aber nix weil das Modul gar nicht geladen wird (siehe vorheriges neues Problem).

    Gruß

    Stefan

    Titel: Antw:Sonos steuern
    Beitrag von: mannitb303 am 08 Februar 2015, 14:18:05
    Hallo,

    hat sich erledigt, Fehler behoben.
    Soap Lite war nicht richtig installiert.
    Habe im Log
    Can't locate Class/Inspector.pm in @INC (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /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/SOAP/Lite.pm line 435.
    übersehen. ::)

    @ reinerlein: Habe localhost:4711 im Device eingetragen. Sonosplayer wird angelegt und ist steuerbar.

    Danke. ;D
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Februar 2015, 14:25:39
    Hi Stefan,

    ok, ich habe mir gerade den Post von damals mal durchgelesen.
    Das ist sehr alt! :)

    Im Wiki steht eigentlich alles, was du wirklich machen musst:
    - Voraussetzung: Laufendes Fhem (zunächst ohne Sonos-Modul)
    - Dann die beiden notwendigen Perl-Pakete mittels Debian-Packagemanager installieren. Das ist unter http://www.fhemwiki.de/wiki/SONOS#Hinweis_f.C3.BCr_Debian-Systeme (http://www.fhemwiki.de/wiki/SONOS#Hinweis_f.C3.BCr_Debian-Systeme) beschrieben. In deinem Fall also
    sudo apt-get install libwww-perl
    sudo apt-get install libsoap-lite-perl

    - Fhem (immer noch ohne Sonos-Modul) neustarten und auf eventuelle Fehler im Log entsprechend reagieren. Das muss erstmal ohne Sonos-Modul sauber laufen...
    - In der Eingabezeile von Fhem "define Sonos SONOS localhost:4711 30" eingeben.
    Nun sollte das erstmal laufen, und deinen Player automatisch erkennen und anlegen...

    Anschließend noch ein "save config" durchführen, und alles steht in deiner fhem.cfg und damit auch nach einem Fhem-Neustart zur Verfügung...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Februar 2015, 14:26:36
    Hi Stefan,

    überschnitten... Schön, dass es geht :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 08 Februar 2015, 14:37:38
    Hallo,

    bin der Verzweiflung nahe. Nach dem (zwangweisen) Umzug auf neue Hardware habe ich Probleme mit dem Sonos Modul.
    Nach dem Starten von fhem läuft alles einwandfrei, aber nach kurzer Zeit ist keine Steuerung, Sprachdurchsage etc. möglich.
    Das Problem kann dann auf folgende Weise behoben werden:

    1. Neustart fhem
    2. Modify der Definition von Sonos (ohne eine Änderung vorzunehmen)
    3. Warten... NAch einer Zeit scheint er den UPNP Server wieder zu starten, und dann gehts

    Letzteres ist auch im Log zu sehen:


    2015.02.08 14:06:52 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Kueche_AlbumArt.jpg'!
    2015.02.08 14:06:52 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NormalAudio:1'
    2015.02.08 14:06:52 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Title:Light to the world feat.Al Jerreau'
    2015.02.08 14:06:52 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Artist:Mario Biondi'
    2015.02.08 14:06:52 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Album:Sun'
    2015.02.08 14:06:52 5: SONOS0: Received from UPnP-Server: 'SetCurrent:OriginalTrackNumber:10'
    2015.02.08 14:06:52 5: SONOS0: Received from UPnP-Server: 'SetCurrent:AlbumArtist:Mario Biondi'
    2015.02.08 14:06:52 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextTrackDuration:0:07:14'
    2015.02.08 14:06:52 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextTrackURI://DS/Musik/Musik/Mario%20Biondi/If/11%20-%20Mario%20Biondi%20-%20Winter%20in%20America.mp3'
    2015.02.08 14:06:52 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_000E58F171D401400_MR:1:/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fMario%20Biondi%2fIf%2f11%20-%20Mario%20Biondi%20-%20Winter%20in%20America.mp3&v=106:http://192.168.10.150:1400'
    2015.02.08 14:06:53 4: SONOS0: Transport-Event: Bilder-Download: SONOS_DownloadReplaceIfChanged('http://192.168.10.150:1400/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fMario%20Biondi%2fIf%2f11%20-%20Mario%20Biondi%20-%20Winter%20in%20America.mp3&v=106', './www/images/default/SONOSPLAYER/Sonos_Kueche_NextAlbumArt.jpg');
    2015.02.08 14:06:54 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Kueche_NextAlbumArt.jpg'!
    2015.02.08 14:06:54 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextTitle:Winter In America'
    2015.02.08 14:06:54 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextArtist:Mario Biondi'
    2015.02.08 14:06:54 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextAlbum:If'
    2015.02.08 14:06:54 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextAlbumArtist:Mario Biondi'
    2015.02.08 14:06:54 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextOriginalTrackNumber:11'
    2015.02.08 14:06:54 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackPosition:0:01:40'
    2015.02.08 14:06:54 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_000E58F171D401400_MR'
    2015.02.08 14:07:20 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:07:52 3: Can't connect to socket!
    2015.02.08 14:07:52 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:08:16 5: SW: 446f576f726b3a52494e434f4e5f30303045353846313731443430313430305f4d523a70617573653a0d0a
    2015.02.08 14:08:22 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:08:54 3: Can't connect to socket!
    2015.02.08 14:08:54 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:09:10 5: SW: 446f576f726b3a52494e434f4e5f30303045353846313731443430313430305f4d523a706c61793a0d0a
    2015.02.08 14:09:24 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:09:56 3: Can't connect to socket!
    2015.02.08 14:09:56 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:10:26 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:10:58 3: Can't connect to socket!
    2015.02.08 14:10:58 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:11:00 5: SW: 446f576f726b3a52494e434f4e5f30303045353846313731443430313430305f4d523a706c61793a0d0a
    2015.02.08 14:11:04 5: SW: 446f576f726b3a52494e434f4e5f30303045353846313731443430313430305f4d523a706c61793a0d0a
    2015.02.08 14:11:28 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:12:00 3: Can't connect to socket!
    2015.02.08 14:12:00 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:12:30 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:13:02 3: Can't connect to socket!
    2015.02.08 14:13:02 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:13:32 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:14:04 3: Can't connect to socket!
    2015.02.08 14:14:05 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:14:35 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:15:07 3: Can't connect to socket!
    2015.02.08 14:15:07 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:15:37 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:16:09 3: Can't connect to socket!
    2015.02.08 14:16:09 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:16:39 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:17:11 3: Can't connect to socket!
    2015.02.08 14:17:11 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:17:41 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:18:13 3: Can't connect to socket!
    2015.02.08 14:18:13 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:18:43 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:19:15 3: Can't connect to socket!
    2015.02.08 14:19:15 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:19:45 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:20:17 3: Can't connect to socket!
    2015.02.08 14:20:17 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:20:47 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:21:19 3: Can't connect to socket!
    2015.02.08 14:21:19 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:21:49 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:22:21 3: Can't connect to socket!
    2015.02.08 14:22:21 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:22:47 5: SW: 446f576f726b3a52494e434f4e5f30303045353846313731443430313430305f4d523a706c61793a0d0a
    2015.02.08 14:22:51 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:23:23 3: Can't connect to socket!
    2015.02.08 14:23:23 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:23:53 4: SONOS0: Got correct Answer from Subprocess...
    2015.02.08 14:24:12 1: SONOS0: Nothing could be read from TCP-Channel (the first level) even though the Read-Function was called.
    2015.02.08 14:24:12 5: SW: 646973636f6e6e6563740a
    2015.02.08 14:24:12 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2015.02.08 14:24:20 3: Opening Sonos device localhost:4711
    2015.02.08 14:24:20 3: Sonos device opened
    2015.02.08 14:24:21 5: SONOS0: SetData:Sonos:5:icmp::Sonos_Kueche,Sonos_Schlafzimmer,Sonos_Wohnzimmer:RINCON_000E58F171D401400_MR,RINCON_000E58C27EF401400_MR,RINCON_000E58A9E70A01400_MR
    2015.02.08 14:24:21 5: SW: 536574446174613a536f6e6f733a353a69636d703a3a536f6e6f735f4b75656368652c536f6e6f735f5363686c61667a696d6d65722c536f6e6f735f576f686e7a696d6d65723a52494e434f4e5f30303045353846313731443430313430305f4d522c52494e434f4e5f30303045353843323745463430313430305f4d522c52494e434f4e5f30303045353841394537304130313430305f4d520a
    2015.02.08 14:24:21 5: SONOS0: SetValues:SONOS:targetSpeakURL=%5C%5C192.168.10.80%5CSonosSpeak|INTERVAL=30|targetSpeakDir=%2Fmnt%2FSonosSpeak|NAME=Sonos
    2015.02.08 14:24:21 5: SW: 53657456616c7565733a534f4e4f533a746172676574537065616b55524c3d2535432535433139322e3136382e31302e3830253543536f6e6f73537065616b7c494e54455256414c3d33307c746172676574537065616b4469723d2532466d6e74253246536f6e6f73537065616b7c4e414d453d536f6e6f730a
    2015.02.08 14:24:21 5: SONOS0: SetValues:RINCON_000E58F171D401400_MR:SleepTimerVersion=0|AlarmListVersion=RINCON_000E58A9E70A01400%3A32|ZoneGroupID=RINCON_000E58F171D401400%3A__|AlarmList=%7B%7D|OutputFixed=0|AlarmListIDs=|getAlarms=1|Volume=7|Balance=0|Treble=0|currentAlbum=Sun|fieldType=|currentTitle=Light%20to%20the%20world%20feat.Al%20Jerreau|location=http%3A%2F%2F192.168.10.150%3A1400%2Fxml%2Fdevice_description.xml|Mute=0|Loudness=1|HeadphoneConnected=0|NAME=Sonos_Kueche|Bass=0|roomNameAlias=Kueche|roomName=Kueche|currentArtist=Mario%20Biondi|roomIcon=kitchen|minVolume=0
    2015.02.08 14:24:21 5: SW: 53657456616c7565733a52494e434f4e5f30303045353846313731443430313430305f4d523a536c65657054696d657256657273696f6e3d307c416c61726d4c69737456657273696f6e3d52494e434f4e5f303030453538413945373041303134303025334133327c5a6f6e6547726f757049443d52494e434f4e5f30303045353846313731443430313430302533415f5f7c416c61726d4c6973743d2537422537447c4f757470757446697865643d307c416c61726d4c6973744944733d7c676574416c61726d733d317c566f6c756d653d377c42616c616e63653d307c547265626c653d307c63757272656e74416c62756d3d53756e7c6669656c64547970653d7c63757272656e745469746c653d4c69676874253230746f253230746865253230776f726c64253230666561742e416c2532304a6572726561757c6c6f636174696f6e3d687474702533412532462532463139322e3136382e31302e31353025334131343030253246786d6c2532466465766963655f6465736372697074696f6e2e786d6c7c4d7574653d307c4c6f75646e6573733d317c4865616470686f6e65436f6e6e65637465643d307c4e414d453d536f6e6f735f4b75656368657c426173733d307c726f6f6d4e616d65416c6961733d4b75656368657c726f6f6d4e616d653d4b75656368657c63757272656e744172746973743d4d6172696f25323042696f6e64697c726f6f6d49636f6e3d6b69746368656e7c6d696e566f6c756d653d300a


    Ich hab eauch schon das Modzul gelöscht und neu angelegt. Gleicher Effekt.

    Infos zur Hard/Software

    fhem auf ubuntu Server 14.04  auf ESXi 5.5 (Vorher 4.1)

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 08 Februar 2015, 14:51:22
    Und gleich noch ein "kleines" Problemchen.

    Ich lasse mir über einen FS20 Taster die Uhrzeit und die Temperatur via Sonos ansagen.

    Internals:
       DEF        FL_Taster26:toggle {
    my $Temperatur = ReadingsVal("Netatmo_AC_1", "temperature", undef);
    my $Luftfeuchte = ReadingsVal("Netatmo_AC_1", "humidity", undef);
    my $Maxtemp = ReadingsVal("DWD", "c_tMaxAir24", undef);
    my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime;

       if ($Temperatur ne "undefined"){
          fhem("define Wetter_Ansage_A at +00:00:01 set Sonos_Kueche Speak 45 de Es ist $hour:$min Uhr . Aktuell beträgt die Aussentemperatur $Temperatur Grad.");
       }
       else {
          fhem("define Melde_Ansage_B at +00:00:01 set Sonos_Kueche Speak 45 de Es liegen keine Wetterdaten vor.");
       }
    }
       NAME       FL_T26
       NOTIFYDEV  FL_Taster26
       NR         241
       NTFY_ORDER 50-FL_T26
       REGEXP     FL_Taster26:toggle
       STATE      active
       TYPE       notify
    Attributes:
       room       System


    Wenn jetzt die Uhrzeit einstellige Minuten hat, sagt das System z.B. "Es ist 14 zu 2 Uhr....".
    Das liegt wohl daran das $min nur eine einstellige Zahl ausgibt. Wie kann ich da grundsäzlich zwei stellen ausgeben (Also z.B. 02)?

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 08 Februar 2015, 16:39:31
    Ich hätte noch einen Vorschlag für die Nutzung von Benachrichtigungen:


    Um mehr Aufmerksamkeit für eine Durchsage zu bekommen und damit man sich ggf. nicht so erschrickt, fände ich es toll wenn man vorab einen Ton oder eine Tonfolge abspielen könnte. Also ähnlich wie am Flughafen oder Bahnhof  ;D
    So einen Ton hätte ich als MP3 oder WAV, das Speak-Kommando könnte es mit dem von Google geholten MP3 ja dann zusammenschnippeln und die zusammengesetzte Datei abspielen lassen.


    Derzeit setze ich meinen Texten immer ein "Hinweis... " vorne dran. Aber die Sprachsynthese spricht das sehr komisch aus und bei einer Gruppendurchsage wird manchmal auch der erste Teil von "Hinweis" abgeschnitten. Das könnte man halt mit einem Pre-Voicefile auch beheben, indem man dort selbst einfach eine halbe Sekunde stille oder so mit einfügt.


    Wäre es außerdem denkbar, dass man Google TTS noch die Geschwindigkeit mitgibt? Manchmal spricht sie etwas lahmarschig und ich würde ihr gerne etwas Feuer unterm Hintern machen können  ;)






    Gruß
    Julian
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 08 Februar 2015, 16:42:09
    Zitat von: Masterfunk am 08 Februar 2015, 14:51:22
    Das liegt wohl daran das $min nur eine einstellige Zahl ausgibt. Wie kann ich da grundsäzlich zwei stellen ausgeben (Also z.B. 02)?

    Habe ich bei mir so gelöst:
    my $uhrzeit = sprintf("%02d:%02d Uhr",$hour,$min);

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Februar 2015, 17:05:47
    Hallo zusammen,

    @Detlef: Du müsstest mal die Konsolenausgabe des SubProzesses ermitteln und hier posten (also die "andere" Seite der Kommunikation).
    Irgendwas macht der SubProzess nicht richtig... Vielleicht hat der Prozess nach deinem Umzug keine Root-Rechte mehr? Du verwendest icmp als PingType, der braucht diese Rechte...
    Was auch immer... man sieht es in dem anderen Log :)

    @Julian: Das habe ich mir auch auch schon mal gedacht. Auf meiner Agenda war nur die Searchlist-Geschichte weiter oben :) Ich denke da auf jeden Fall mal drauf rum...
    Leider habe ich zur Sprechweise der Google-Dame keinen Parameter gefunden... Wenn du einen findest, dann her damit...
    Momentan rufe ich einfach folgende URL auf: http://translate.google.com/translate_tts?tl=de&q=Hier%20dann%20der%20Text (http://translate.google.com/translate_tts?tl=de&q=Hier%20dann%20der%20Text)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 08 Februar 2015, 17:13:35
    ich möchte keinen Gong..!
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 08 Februar 2015, 17:17:32
    Zitat von: Reinerlein am 08 Februar 2015, 17:05:47
    @Julian: Das habe ich mir auch auch schon mal gedacht. Auf meiner Agenda war nur die Searchlist-Geschichte weiter oben :) Ich denke da auf jeden Fall mal drauf rum...



    Super!  8)


    Zitat von: Reinerlein am 08 Februar 2015, 17:05:47
    Leider habe ich zur Sprechweise der Google-Dame keinen Parameter gefunden... Wenn du einen findest, dann her damit...
    Momentan rufe ich einfach folgende URL auf: http://translate.google.com/translate_tts?tl=de&q=Hier%20dann%20der%20Text (http://translate.google.com/translate_tts?tl=de&q=Hier%20dann%20der%20Text)



    Hm ja das stimmt, hatte ich damals anders gelöst (siehe hier für Inspiration: https://github.com/jpawlowski/freeswitch-sounds-tts/blob/master/make_sounds.sh#L44-L163)
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 08 Februar 2015, 17:18:26
    Zitat von: der-Lolo am 08 Februar 2015, 17:13:35
    ich möchte keinen Gong..!


    Zwingt dich ja keiner  ;)
    Man kann ja dann jede beliebige Sound-Datei nehmen, die man möchte. Du kannst auch das Plopp von Michael Schanze nehmen, wenns dir besser gefällt  ;D
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 08 Februar 2015, 17:24:19
    Ich möchte auch keinen plop, für mich ist die funktion so wie sie ist vollkommen in Ordnung.
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 08 Februar 2015, 17:25:22
    die idee finde ich klasse... um es komplett zu machen aber nicht vor sondern auch nach der ansage.

    und wenn wir gerade bei durchsagen sind: ich mache die durchsagen zur zeit mit TYPE=SONOSPLAYER auf alle player auf einmal. ich bräuchte aber eigentlich unterschiedliche lautstärken. wenn die volume angabe für die play1 laut genug ist kippt jemand neben den grossen boxen am connect amp aus den latschen :).

    mit mehreren kommandos habe ich aber das gefühl das die verzögerung grösser wird.

    ein attribut um einen offset zu hinterlegen der mit der volume angabe beim speak kommando verrechnet wird wäre vielleicht hilfreich.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 08 Februar 2015, 17:28:24
    Oder eine Lautstärke speziell für Speak, an jedem Player.
    Oder gibt es jemanden der je nach ereignis oder Uhrzeit unterschiedliche speak lautstärken benutzt?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Februar 2015, 18:12:24
    Hallo,

    also mir schwebt da was vor, dass man an beliebigen Stellen im Text Soundfileeinschübe machen kann. z.B.:

    set Sonos_Wohnzimmer Speak 20 de |achtung.mp3|Die Waschmaschine ist |trommelwirbel.mp3| fertig!|ende_der_durchsage.mp3|
    Das ist aber alles noch in Kladde gedacht...

    Mich würde es ehrlich gesagt wundern, wenn das in mehreren Befehlen soviel langsamer sein soll. Fhem macht daraus dann doch sowieso mehrere Aufrufe für jedes Device einzeln... Man spart also nur die Zeit, die Fhem braucht, um zu erkennen, dass es einen Befehl ausführen soll.... das kann ja eigentlich nicht soo lange dauern...

    Mit den verschiedenen Lautstärken wäre wahrscheinlich ein Grundwert pro Device für Sprachausgabe der dann zur Laufzeit mit dem an Speak übergebenen Wert verrechnet wird, das Beste. Das können ja dann auch negative Werte sein. Da muss sich dann jeder selber sozusagen einen "Gain" ermitteln, und muss darauf achten, das da keine negativen Werte am Player ankommen... das wird sonst ziemlich leise :)

    Ist damit alles erschlagen, oder habe ich was vergessen?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 08 Februar 2015, 19:56:41
    Hallo,
    ich habe mal eine Frage zu GroupVolume. Mir ist die Funktionsweise nicht ganz klar.
    Ich habe eine Gruppe aus Wohnzimmer und Büro gebildet, Wohnzimmer ist der GruppenMaster.
    Dann habe ich Wohnziimmer mit set Wohnzimmer Volume 20 und  Büro auf set Buero Volume 15 gesetzt.

    Habe nun mit set Wohnzimmer GroupVolume 10 versucht die Lautstärke der Gruppe zu ändern.

    Allerdings verstehe ich das Ergebnis nicht ganz.
    Wohnzimmer hat nun Volume 11
    Büro hat nun Volume 9
    Was passiert da genau? Kann man auch GroupVolume mit dem "Fade"-Parameter  benutzen? also quasi
    set Wohnzimmer GroupVolume 10 1
    Gruß,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Februar 2015, 20:17:11
    H Christian,

    also FadeIn geht dort nicht, das bietet Sonos meines Wissens nach nicht an. Dafür wird beim Aufruf von "Volume" intern umgeschaltet auf den Aufruf von "RampToVolume". Du könntest natürlich einfach mal versuchen eine solche Rampe auf einer Gruppe auszuführen. Ich weiss ehrlich gesagt nicht, was da passieren wird :)

    Aber du musst vor dem ersten Setzen von GroupVolume erstmal das Lautstärkeverhältnis deiner Gruppe festnageln.
    Das machst du mit:

    set Wohnzimmer SnapshotGroupVolume
    Eine genauere Beschreibung gibt es im Wiki unter http://www.fhemwiki.de/wiki/SONOS#Set-Befehle_an_den_SONOSPLAYER (http://www.fhemwiki.de/wiki/SONOS#Set-Befehle_an_den_SONOSPLAYER), und dort dann unter den Gruppenbefehlen...

    Aber im Prinzip sind die Lautstärken ja nicht soo falsch. Er muss ja irgendwie die Lautstärkenverhältnisse mit reinrechnen, es wird also versucht, alle Lautstärken über das gleiche Verhältnis (daher der Snapshot) zu verändern...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 08 Februar 2015, 20:33:59
    Hallo Reiner,
    vielen Dank. .Meine Absicht war es, die Lautstärke mit einem Befehl um x% zu ändern.  Ich probiere noch ein bissl!

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 08 Februar 2015, 21:04:34
    Hallo Reiner,
    danke für die schnelle Antwort.

    Zitat von: Reinerlein am 08 Februar 2015, 17:05:47
    @Detlef: Du müsstest mal die Konsolenausgabe des SubProzesses ermitteln und hier posten

    Wie stelle ich das an?

    Zitat von: Reinerlein am 08 Februar 2015, 17:05:47
    Vielleicht hat der Prozess nach deinem Umzug keine Root-Rechte mehr? Du verwendest icmp als PingType, der braucht diese Rechte...
    Was auch immer...

    Laut ps -ef läuft der Prozess als root.


    root     19026  6850 87 20:44 ?        00:15:17 /usr/bin/perl ./FHEM/00_SONOS.pm


    Habe auch schon alle anderen Ping Verfahren ausprobiert. Gleiches Verhalten

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 08 Februar 2015, 21:08:54
    Hallo Loredo,


    Zitat von: Loredo am 08 Februar 2015, 16:42:09
    Habe ich bei mir so gelöst:
    my $uhrzeit = sprintf("%02d:%02d Uhr",$hour,$min);

    Das liefert bei mir was vollkommen Unsinniges. (toggle 02 toggle 02 Uhr...)

    Habs so eingetragen:

    FL_Taster26:toggle {
    my $Temperatur = ReadingsVal("Netatmo_AC_1", "temperature", undef);
    my $Luftfeuchte = ReadingsVal("Netatmo_AC_1", "humidity", undef);
    my $Maxtemp = ReadingsVal("DWD", "c_tMaxAir24", undef);
    my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime;
    my $uhrzeit = sprintf("%02d:%02d Uhr",$hour,$min);

       if ($Temperatur ne "undefined"){
          fhem("define Wetter_Ansage_A at +00:00:01 set Sonos_Kueche Speak 45 de Es ist $uhrzeit Aktuell beträgt die Aussentemperatur $Temperatur Grad.");
       }
       else {
          fhem("define Melde_Ansage_B at +00:00:01 set Sonos_Kueche Speak 45 de Es liegen keine Wetterdaten vor.");
       }
    }


    Hab ich da irgend einen Denkfehler?

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 08 Februar 2015, 21:26:09
    @Reiner

    habs hin bekommen.


    2015.02.08 21:23:10 2: SONOS1: Error during UPnP-Handling: Can't use string ("
            ") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/Common.pm line 219.

    2015.02.08 21:23:10 4: SONOS1: ControlPoint is successfully stopped!
    2015.02.08 21:23:10 3: SONOS1: UPnP-Thread wurde beendet.


    Das steht im Log wenn die Verbindung abbricht.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Februar 2015, 22:10:39
    Hi Detlef,

    hmm... Hast du vielleicht irgendeinen anderen UPnP-Client, der da mitmischen möchte?
    Steht das Verbose-Attribut am Sonos-Device schon auf 5? Wenn nicht, kannst du es auf 5 setzen, und die Zeilen vor dem Abschalten des UPnP-Threads hier posten?

    Ich habe die Hoffnung, das dort vielleicht noch ein Hinweis verborgen ist...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 08 Februar 2015, 23:12:09
    Hallo Reiner

    wüsste nicht wer da noch mitspielen will. Im Umfeld hat sich ja auch nicht geändert.
    Ok, statt zwei 2003 er werkelt jetzt ein 2008 R2 als DC im Netz.

    Hier mal ein etwas längeres Log.
    Die letzten Zeilen sind der vergebliche Versuc auf "Pause" zu gehen.

    2015.02.08 23:07:29 4: SONOS1: Transport-Event: GroundURL: http://192.168.10.150:1400
    2015.02.08 23:07:29 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="PAUSED_PLAYBACK"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="9"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/01%20-%20Marcus%20Miller%20-%20Blast!.mp3"/><CurrentTrackDuration val="0:07:54"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-file-cifs:*:audio/mpeg:*&quot; duration=&quot;0:07:54&quot;&gt;x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/01%20-%20Marcus%20Miller%20-%20Blast!.mp3&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fMarcus%2520Miller%2fA%2520Night%2520In%2520Monte-Carlo%2f01%2520-%2520Marcus%2520Miller%2520-%2520Blast!.mp3&amp;amp;v=106&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;Blast!&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;dc:creator&gt;Marcus Miller&lt;/dc:creator&gt;&lt;upnp:album&gt;A Night In Monte-Carlo&lt;/upnp:album&gt;&lt;upnp:originalTrackNumber&gt;1&lt;/upnp:originalTrackNumber&gt;&lt;r:albumArtist&gt;Marcus Miller&lt;/r:albumArtist&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/02%20-%20Marcus%20Miller%20-%20So%20What.mp3"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-file-cifs:*:audio/mpeg:*&quot; duration=&quot;0:07:35&quot;&gt;x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/02%20-%20Marcus%20Miller%20-%20So%20What.mp3&lt;/res&gt;&lt;upnp:albumArtURI&gt;/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fMarcus%2520Miller%2fA%2520Night%2520In%2520Monte-Carlo%2f02%2520-%2520Marcus%2520Miller%2520-%2520So%2520What.mp3&amp;amp;v=106&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;So What&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;dc:creator&gt;Marcus Miller&lt;/dc:creator&gt;&lt;upnp:album&gt;A Night In Monte-Carlo&lt;/upnp:album&gt;&lt;upnp:originalTrackNumber&gt;2&lt;/upnp:originalTrackNumber&gt;&lt;r:albumArtist&gt;Marcus Miller&lt;/r:albumArtist&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-rincon-playlist:RINCON_000E58A9E70A01400#A:ALBUMARTIST/Marcus%20Miller/A%20Night%20In%20Monte-Carlo"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;A:ALBUMARTIST/Marcus%20Miller/A%20Night%20In%20Monte-Carlo&quot; parentID=&quot;A:ALBUMARTIST/Marcus%20Miller/A%20Night%20In%20Monte-Carlo&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;A Night In Monte-Carlo&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.album.musicAlbum&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;RINCON_AssociatedZPUDN&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2015.02.08 23:07:29 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-file-cifs:*:audio/mpeg:*" duration="0:07:54">x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/01%20-%20Marcus%20Miller%20-%20Blast!.mp3</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fMarcus%2520Miller%2fA%2520Night%2520In%2520Monte-Carlo%2f01%2520-%2520Marcus%2520Miller%2520-%2520Blast!.mp3&amp;v=106</upnp:albumArtURI><dc:title>Blast!</dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:creator>Marcus Miller</dc:creator><upnp:album>A Night In Monte-Carlo</upnp:album><upnp:originalTrackNumber>1</upnp:originalTrackNumber><r:albumArtist>Marcus Miller</r:albumArtist></item></DIDL-Lite>
    2015.02.08 23:07:29 4: SONOS1: Transport-Event: Normal erkannt!
    2015.02.08 23:07:29 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-file-cifs:*:audio/mpeg:*" duration="0:07:35">x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/02%20-%20Marcus%20Miller%20-%20So%20What.mp3</res><upnp:albumArtURI>/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fMarcus%2520Miller%2fA%2520Night%2520In%2520Monte-Carlo%2f02%2520-%2520Marcus%2520Miller%2520-%2520So%2520What.mp3&amp;v=106</upnp:albumArtURI><dc:title>So What</dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:creator>Marcus Miller</dc:creator><upnp:album>A Night In Monte-Carlo</upnp:album><upnp:originalTrackNumber>2</upnp:originalTrackNumber><r:albumArtist>Marcus Miller</r:albumArtist></item></DIDL-Lite>
    2015.02.08 23:07:29 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f94d4c07008)
    2015.02.08 23:07:29 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Kueche".
    2015.02.08 23:07:31 5: SONOS0: Received: 'DoWork:RINCON_000E58F171D401400_MR:play:'
    2015.02.08 23:07:32 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f94d4c07008)
    2015.02.08 23:07:32 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E58F171D401400_MR, def, NAME, RINCON_000E58F171D401400_MR) -> Sonos_Kueche
    2015.02.08 23:07:32 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E58F171D401400_MR, attr, disable, 0) -> DEFAULT
    2015.02.08 23:07:32 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Kueche".
    2015.02.08 23:07:32 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_000E58F171D401400_MR'
    2015.02.08 23:07:32 4: SONOS1: Transport-Event: GroundURL: http://192.168.10.150:1400
    2015.02.08 23:07:32 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="9"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/01%20-%20Marcus%20Miller%20-%20Blast!.mp3"/><CurrentTrackDuration val="0:07:54"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-file-cifs:*:audio/mpeg:*&quot; duration=&quot;0:07:54&quot;&gt;x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/01%20-%20Marcus%20Miller%20-%20Blast!.mp3&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fMarcus%2520Miller%2fA%2520Night%2520In%2520Monte-Carlo%2f01%2520-%2520Marcus%2520Miller%2520-%2520Blast!.mp3&amp;amp;v=106&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;Blast!&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;dc:creator&gt;Marcus Miller&lt;/dc:creator&gt;&lt;upnp:album&gt;A Night In Monte-Carlo&lt;/upnp:album&gt;&lt;upnp:originalTrackNumber&gt;1&lt;/upnp:originalTrackNumber&gt;&lt;r:albumArtist&gt;Marcus Miller&lt;/r:albumArtist&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val="x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/02%20-%20Marcus%20Miller%20-%20So%20What.mp3"/><r:NextTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;x-file-cifs:*:audio/mpeg:*&quot; duration=&quot;0:07:35&quot;&gt;x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/02%20-%20Marcus%20Miller%20-%20So%20What.mp3&lt;/res&gt;&lt;upnp:albumArtURI&gt;/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fMarcus%2520Miller%2fA%2520Night%2520In%2520Monte-Carlo%2f02%2520-%2520Marcus%2520Miller%2520-%2520So%2520What.mp3&amp;amp;v=106&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;So What&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.musicTrack&lt;/upnp:class&gt;&lt;dc:creator&gt;Marcus Miller&lt;/dc:creator&gt;&lt;upnp:album&gt;A Night In Monte-Carlo&lt;/upnp:album&gt;&lt;upnp:originalTrackNumber&gt;2&lt;/upnp:originalTrackNumber&gt;&lt;r:albumArtist&gt;Marcus Miller&lt;/r:albumArtist&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:EnqueuedTransportURI val="x-rincon-playlist:RINCON_000E58A9E70A01400#A:ALBUMARTIST/Marcus%20Miller/A%20Night%20In%20Monte-Carlo"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;A:ALBUMARTIST/Marcus%20Miller/A%20Night%20In%20Monte-Carlo&quot; parentID=&quot;A:ALBUMARTIST/Marcus%20Miller/A%20Night%20In%20Monte-Carlo&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;A Night In Monte-Carlo&lt;/dc:title&gt;&lt;upnp:class&gt;object.container.album.musicAlbum&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;RINCON_AssociatedZPUDN&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/></InstanceID></Event>
    2015.02.08 23:07:32 4: SONOS1: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-file-cifs:*:audio/mpeg:*" duration="0:07:54">x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/01%20-%20Marcus%20Miller%20-%20Blast!.mp3</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fMarcus%2520Miller%2fA%2520Night%2520In%2520Monte-Carlo%2f01%2520-%2520Marcus%2520Miller%2520-%2520Blast!.mp3&amp;v=106</upnp:albumArtURI><dc:title>Blast!</dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:creator>Marcus Miller</dc:creator><upnp:album>A Night In Monte-Carlo</upnp:album><upnp:originalTrackNumber>1</upnp:originalTrackNumber><r:albumArtist>Marcus Miller</r:albumArtist></item></DIDL-Lite>
    2015.02.08 23:07:32 4: SONOS1: Transport-Event: Normal erkannt!
    2015.02.08 23:07:32 4: SONOS1: Transport-Event: NextTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-file-cifs:*:audio/mpeg:*" duration="0:07:35">x-file-cifs://DS/Musik/Musik/Marcus%20Miller/A%20Night%20In%20Monte-Carlo/02%20-%20Marcus%20Miller%20-%20So%20What.mp3</res><upnp:albumArtURI>/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fMarcus%2520Miller%2fA%2520Night%2520In%2520Monte-Carlo%2f02%2520-%2520Marcus%2520Miller%2520-%2520So%2520What.mp3&amp;v=106</upnp:albumArtURI><dc:title>So What</dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:creator>Marcus Miller</dc:creator><upnp:album>A Night In Monte-Carlo</upnp:album><upnp:originalTrackNumber>2</upnp:originalTrackNumber><r:albumArtist>Marcus Miller</r:albumArtist></item></DIDL-Lite>
    2015.02.08 23:07:32 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7f94d4c07008)
    2015.02.08 23:07:32 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Kueche".
    2015.02.08 23:07:42 3: SONOS0: Connection accepted from localhost:50952
    2015.02.08 23:07:42 5: SONOS0: Received: 'hello'
    2015.02.08 23:07:42 5: SONOS0: Received: 'goaway'
    2015.02.08 23:08:10 2: SONOS1: Error during UPnP-Handling: Can't use string ("
            ") as an ARRAY ref while "strict refs" in use at FHEM/lib/UPnP/Common.pm line 219.

    2015.02.08 23:08:11 4: SONOS1: ControlPoint is successfully stopped!
    2015.02.08 23:08:11 3: SONOS1: UPnP-Thread wurde beendet.
    2015.02.08 23:08:12 3: SONOS0: Connection accepted from localhost:51011
    2015.02.08 23:08:12 5: SONOS0: Received: 'hello'
    2015.02.08 23:08:12 5: SONOS0: Received: 'goaway'
    2015.02.08 23:08:33 5: SONOS0: Received: 'DoWork:RINCON_000E58F171D401400_MR:pause:'
    2015.02.08 23:08:37 5: SONOS0: Received: 'DoWork:RINCON_000E58F171D401400_MR:pause:'
    2015.02.08 23:08:37 5: SONOS0: Received: 'DoWork:RINCON_000E58F171D401400_MR:pause:'
    2015.02.08 23:08:44 3: SONOS0: Connection accepted from localhost:51015
    2015.02.08 23:08:44 5: SONOS0: Received: 'hello'
    2015.02.08 23:08:44 5: SONOS0: Received: 'goaway'
    2015.02.08 23:08:51 5: SONOS0: Received: 'DoWork:RINCON_000E58F171D401400_MR:pause:'
    2015.02.08 23:09:14 3: SONOS0: Connection accepted from localhost:51025
    2015.02.08 23:09:14 5: SONOS0: Received: 'hello'
    2015.02.08 23:09:14 5: SONOS0: Received: 'goaway'


    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Februar 2015, 23:24:38
    Hi Detlef,

    also aus irgendeinem Grund bekommt er da ein ungültiges Device zugespielt, welches überhaupt nicht UPnP-konforme Daten liefert...

    Kannst in der Datei Common.pm (also da, wo der Fehler auftritt) mal vor die Zeile 219 etwas einfügen?
    Die neue Zeile 219 und die Zeile 220 (ehemals 219) sehen dann wie folgt aus:

    next if (ref $services ne "ARRAY");
    for my $serviceElement (@$services) {

    Damit wird dieser Fehler nicht mehr erzeugt werden... die Frage ist dann, ob es besser läuft :)
    Wenn das in die richtige Richtung geht, würde ich dass dann auch so einchecken... Ich habe ja schon ein paar Fehler in der Lib korrigiert...

    Danke schon mal.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 09 Februar 2015, 12:00:10
    Zitat von: Masterfunk am 08 Februar 2015, 21:08:54Hab ich da irgend einen Denkfehler?


    Du musst die % in FHEM quotieren, wenn du den Code nicht in 99_myUtils verwendest.

    FL_Taster26:toggle {
    my $Temperatur = ReadingsVal("Netatmo_AC_1", "temperature", undef);
    my $Luftfeuchte = ReadingsVal("Netatmo_AC_1", "humidity", undef);
    my $Maxtemp = ReadingsVal("DWD", "c_tMaxAir24", undef);
    my ($sec,$min,$hour,$mday,$month,$year,$wday,$yday,$isdst) = localtime;
    my $uhrzeit = sprintf("%%02d:%%02d",$hour,$min);

       if ($Temperatur ne "undefined"){
          fhem("define Wetter_Ansage_A at +00:00:01 set Sonos_Kueche Speak 45 de Es ist $uhrzeit Uhr. Aktuell beträgt die Aussentemperatur $Temperatur Grad.");
       }
       else {
          fhem("define Melde_Ansage_B at +00:00:01 set Sonos_Kueche Speak 45 de Es liegen keine Wetterdaten vor.");
       }
    }
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 09 Februar 2015, 12:46:56
    @Reiner

    Habe die Änderung gestern Abend noch eingebracht. In der kurzen Zeit gestern Abend und heute Morgen hat alles funktioniert.
    Werde nach der Arbeit noch mal testen und gebe dann Bescheid.

    @Loredo

    Also doch Denkfehler. ;-)
    Werds heute Abend mal so testen.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 09 Februar 2015, 13:23:12
    Zitat von: Reinerlein am 08 Februar 2015, 20:17:11
    Aber du musst vor dem ersten Setzen von GroupVolume erstmal das Lautstärkeverhältnis deiner Gruppe festnageln.
    Das machst du mit:

    set Wohnzimmer SnapshotGroupVolume
    Eine genauere Beschreibung gibt es im Wiki unter http://www.fhemwiki.de/wiki/SONOS#Set-Befehle_an_den_SONOSPLAYER (http://www.fhemwiki.de/wiki/SONOS#Set-Befehle_an_den_SONOSPLAYER), und dort dann unter den Gruppenbefehlen...


    Wäre ja schon toll, wenn da auch entsprechende Readings bei herausfielen. Ich denke da vor allem an die errechnete Gruppenlautstärke, damit man auch dafür dann einen Slider als Widget darstellen und zur Regelung verwenden kann.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Februar 2015, 14:40:27
    Hi Loredo,

    da hast du Recht. Ich baue das mal für die nächste Version ein.
    Ich habe auch gerade geprüft, ob ich die überhaupt bekommen kann... das scheint zu existieren...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 09 Februar 2015, 17:21:32
    Hallo zusammen

    @Loredo

    So läufts perfekt!

    @Reiner

    Habe jetzt noch mal getestet, der Fehler ist nicht mehr aufgetreten.
    Das scheints wohl gewesen zu sein.  :)

    Vielen Dank für den tollen Support!

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: FrankS am 09 Februar 2015, 20:57:31
    Hallo zusammen,

    bei mir klappt das Sonos-Modul nicht richtig. Trotz Recherche habe ich keine Hinweise darauf gefunden, dass jemand anderer ein ähnliches Problem hat. fhem läuft auf einem Raspberry PI II B, der keine Performance-Problem zeigt.
    Vielleicht hat jemand noch eine Idee, wo oder wie ich das Problem finden kann:

    Die Sonos-Komponenten habe ich m.E. wie dokumentiert installiert und kurz nach dem Neustart von FHEM klappt alles bestens.
    Nach einiger Zeit (15-20 Minuten) werden aber die Titelinformation und das Cover in FHEM nicht aktualisiert, obwohl Sonos weitere Lieder abspielt.
    Befehle (nächstes Lieder, lauter, leiser usw.) werden über FHEM dann z.T. noch verarbeitet. Dies erfolgt dann aber meist verzögert (einmal habe ich eine Verzögerung von 2 Minuten gemessen ab Klick auf Volume-Down bis zur Reaktion von Sonos).
    Ich habe schon versucht einige Sachen zu debuggen, führe den fhem-Prozess (der Sonos-Subprozess wird von fhem gesteuert) mit root-Rechten aus, habe den fhem-User in passwd gelöscht, leite stdout und stderr in Dateien um (stderr ist leer, stdout zeigt nur fhem-Start). Ich habe fhem, die Sonos-Komponenten und Sonos selbst aktualisiert. Der Fehler kommt aber immer wieder, auch wenn kurz nach dem Neustart alles super läuft.
    Den Log-Level habe ich auf 5 gestellt (siehe Anhang log_090215). Auch dort erkenne ich keinen Hinweis auf einen Fehler.
    Die logs habe ich mal angehängt:
    fhem wurde ca. 16.42 neu gestartet. Lief dann einwandfrei (mit diversen Liedsprüngen mit verschiedenen Steuergeräten ausgelöst, fhem, sonos-android-app, sonos-mac-anwendung) bis dann ca 17.09 die Liste zuende war.
    Als ich dann ein neues Lied abgespielt habe, wurden Lied-Information und Cover nicht mehr aktualisiert. Steuerbefehle wurde um 49 Sekunden verzögert ausgeführt.
    Sonos spielte noch Stunden weiter. die fhem-Information wurde zwischendurch noch ein einziges mal aktualisiert.

    Gruß an die Gemeinde
    F. S.
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 09 Februar 2015, 21:01:59
    Hallo FrankS

    klingt ähnlich wie das Problem was ich hatte. Auch wenn der Log nichts ausgibt.
    Versuche doch mal den Workaround, den Reiner mir eine paar Beiträge vorher empfohlen hat.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Februar 2015, 21:15:01
    Hi FrankS,

    wenn das von Detlef nicht funktioniert, benötigen wir auf jeden Fall die Logs des SubProzesses. Die von dir geposteten Logs sind ja alle von der Ebene Fhem. Dort scheint ja zunächst alles normal zu laufen...
    Vorher bitte Verbose am Sonos-Devie auf 5 setzen, damit wir auch alles zu sehen bekommen.

    Das Problem ist meiner Meinung nach eindeutig im SubProzess zu suchen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 09 Februar 2015, 21:19:55
    Hallo,
    habe meine alte Konfig für Sonos Speak reaktivieren wollen und bekomme nun diesen Fehler:
    Speak0: MP3-Creation ERROR during combining.
    Irgendetwas habe ich übersehen!

    attr Sonos targetSpeakDir /media/SonosSpeak
    attr Sonos targetSpeakURL \\blackberry\SonosSpeak

    SMB.conf
    [Global]
    workgroup = fritz.box
    netbios name = Blackberry
    security = share
    getwd cache = yes
    encrypt passwords = yes

    [SonosSpeak]
      comment = Audio-Files for SonosPlayer to Speak
      read only = false
      path = /media/SonosSpeak
      guest ok = yes


    Spontan eine Idee, was ich beim Konfigurieren vergessen habe?
    Christian

    NACHTRAG:
    Es sind die REchte von SonosSpeak. Wie müssen die denn gesetzt sein? Mit sudo chmod 777 /media/SonosSpeak geht es jetzt, aber das muss doch nicht sein, oder?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Februar 2015, 21:29:42
    Hi Christian,

    die Meldung besagt, dass er die Zieldatei, in das die Ausgangsdateien kopiert werden sollen, nicht zum Schreiben öffnen konnte.
    Schreibrechte sind alle da? Noch Platz auf der Partition?

    Ich werde diese Meldung auf jeden Fall mal erweitern, damit man besser sieht, was genau nicht geklappt hat... Das hilft dir nur jetzt nicht sofort weiter...

    Konfiguration sollte aber soweit passen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 09 Februar 2015, 21:48:22
    Hi Reinerlein,
    ja, die Rechte waren es!
    sudo chmod 777 /media/SonosSpeak
    hilft, aber was muss hier den minimal konfiguriert werden!
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Februar 2015, 22:31:08
    Hi Christian,

    du musst halt schauen, als was der Fhem-Prozess läuft. Dann kannst du den Ordnerbesitz an diesen User übergeben, und brauchst nur 700 (also rwx) setzen.
    Da musst du dann natürlich noch schauen, als was der Sambaserver zugreift. Der braucht ja nur lesend (r) und hineinwechselnd (x) zugreifen zu können (es sei denn, du verwendest das noch für was anderes).

    Notfall also ein 750, wenn du die Sambagruppe (nicht die Tänzerinnen ;D) zuordnest...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: FrankS am 10 Februar 2015, 01:36:36
    Hallo zusammen,

    das geht ja schnell hier.

    Zitat von: Reinerlein am 09 Februar 2015, 21:15:01
    wenn das von Detlef nicht funktioniert
    Nein, der Fix mit der Common.pm hat nicht funktioniert.

    Zitat von: Reinerlein am 09 Februar 2015, 21:15:01
    , benötigen wir auf jeden Fall die Logs des SubProzesses. Die von dir geposteten Logs sind ja alle von der Ebene Fhem. Dort scheint ja zunächst alles normal zu laufen...
    Vorher bitte Verbose am Sonos-Devie auf 5 setzen, damit wir auch alles zu sehen bekommen.
    Verbose=5 habe ich beim Device gesetzt. Allerdings ist im Log (m.E.) nichts Neues aufgetaucht (siehe fhem_log100215.txt).
    Daher habe ich den Subprozess nun manuell gestartet:
    root      3430  3429  1 00:15 pts/1    00:01:10 perl /opt/fhem/FHEM/00_SONOS.pm 4711 1 1

    Hier wirds spannender. Der stderr produziert hier immer wieder folgende Fehle, wenn die Verzögerung eintritt:
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 4.
    Loading device description failed with error: 500 Can't connect to 10.211.55.3:2869 at /opt/fhem/FHEM/00_SONOS.pm line 3057 thread 1

    Interessant ist, dass diese Fehler erst nach der Verzögerung geschrieben werden. D.h. ich klicke auf "nächsten Titel", es passiert dann z.B. 1 Minute nix und plötzlich springt Sonos zum nächsten Titel und in diesem Moment werden die Fehler geschrieben. Mit dem Klick direkt wird kein Fehler geschrieben.

    Gruß
    Frank
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 10 Februar 2015, 08:57:49
    den odd number of elements fehler hatte ich mit active perl auch. ich glaube es ist nicht sonos spezifisch.

    beim debuggen habe ich dann bemerkt das sich intern in LWP im constructor die _extra_sock_opts bei jedem aufruf vermehrt haben und der hash immer länger und länger geworden ist ohne einen sinnvollen inhalt zu haben.

    ich habe dann in LWP/Protocol/http.pm das $self->_extra_sock_opts($host, $port), auskommentiert und seit dem ist die meldung und das problem weg. das ist aber nur ein workaround der so lange geht wie man LWP nicht mit ssl zusammen verwendet.


    die can't connect meldung hatte ebenfalls. scheinbar wird hier ein upnp device entdeckt das die weitere verarbeitung durcheinander bringt und nach und nach zu ebenfalls immer längeren verzögerungen führt.

    setz mal im sonos device das ignoredIPs attribut auf die ip die der meldung auftaucht.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 Februar 2015, 15:44:00
    Hallo,
    ich versuche mit einer Prozedur, die auf Reiners sameGroup basiert, die Membernamen einer Gruppe zu ermitteln, aber meine Perl-Kenntnisse reichen irgendwie nicht aus! Wo sind die Namen der Member versteckt? Und wie kann ich diese an mein fhem zurückgeben um sie weiter auszuwerten?

    sub GroupMember($) {
    my ($first) = @_;
    my $groups = CommandGet(undef, SONOS_getDeviceDefHash(undef)->{NAME}.' Groups');

    while ($groups =~ m/\[(.*?)\]/ig) {
    my @member = split(/, /, $1);

    return @member if (SONOS_isInList($first, @member));
    }
    return 0;
    }


    Spartacus
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 10 Februar 2015, 15:47:07
    Zitat von: Spartacus am 10 Februar 2015, 15:44:00
    ich versuche mit einer Prozedur, die auf Reiners sameGroup basiert, die Membernamen einer Gruppe zu ermitteln


    Dafür gibt es bereits die Funktionen SONOSPLAYER_GetMasterPlayerName() und SONOSPLAYER_GetSlavePlayerNames(), siehe http://forum.fhem.de/index.php/topic,10033.msg253852/topicseen.html#msg253852
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 Februar 2015, 16:59:10
    Hallo,
    irgendwie funzt das bei mir nicht!
    {SONOSPLAYER_GetSlavePlayerNames('OG.sz.SON.ZP_S1_L')};
    sagt mir den Master ganz klar an, aber
    {SONOSPLAYER_GetSlavePlayerNames('OG.sz.SON.ZP_S1_L')};
    zeigt bei mir nix an.
    Auch wenn ich das in eine sub verpacke, passiert nichts.
    sub GroupMember($) {
    my ($player) = @_;
    my @groupMemberNames = SONOSPLAYER_GetSlavePlayerNames('$player');
    return (@groupMemberNames);
    }

    Was mache ich falsch?
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 10 Februar 2015, 17:01:09
    Zitat von: Spartacus am 10 Februar 2015, 16:59:10
    Was mache ich falsch?


    Es gibt nur eine Rückgabe, wenn der Master noch weitere Boxen in der Gruppe hat, ansonsten ist das Array leer. Steht aber auch so in der Beschreibung...
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 Februar 2015, 17:15:39
    Zitat von: Loredo am 10 Februar 2015, 17:01:09

    Es gibt nur eine Rückgabe, wenn der Master noch weitere Boxen in der Gruppe hat, ansonsten ist das Array leer. Steht aber auch so in der Beschreibung...

    Hi,
    das ist mir schon Klar! Meine Gruppe besteht aus dem Master (Stereopaar Play 1 + Play 1) und einem Gruppenmitglied (Play 1).
    Sieht in fhem so aus:
    [OG.sz.SON.ZP_S1_L, OG.sz.SON.ZP_S1_R, OG.bz.SON.ZP_S1]
    Master ist "OG.sz.SON.ZP_S1_L".

    Wenn ich nun {GroupMember ('OG.sz.SON.ZP_S1_L')} mache, bekomme ich nichts zurück!
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Februar 2015, 17:29:15
    Hi Christian,

    mach mal folgendes:

    { my @member = SONOSPLAYER_GetSlavePlayerNames('OG.sz.SON.ZP_S1_L'); Dumper(\@member); }
    falls Fhem den Inhalt von Arrays nicht einfach so anzeigt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 Februar 2015, 17:58:34
    Hi Reiner,
    wenn ich die Semikolons verdopple, dann bekomme ich die Member angezeigt!
    [
      'OG.bz.SON.ZP_S1',
      'OG.sz.SON.ZP_S1_R'
    ]

    Was macht die Funktion "Dumper" und wie benutze ich das dann in Verbindung mit meiner Funktion?

    sub GroupMemberVolume($)
    {
    my ($player) = @_;
    foreach my $member ( SONOSPLAYER_GetSlavePlayerNames($player))
    {
      fhem "set $member Volume 5 1";
    }
    }


    Doof dabei ist noch, dass ich die Lautstärke vom rechten Kanal des Stereopaares setze, 
    da dieser Player auch als Gruppenteilnehmer auftaucht. Oder man müsse irgendwie noch ".*_R" und ".*SUB" ausschließen.

    Christian

    NACHTRAG:
    Die Funktion GroupMemberVolume funktioniert jetzt offenbar, jetzt fehlt nur noch das filtern des rechten Kanals und des SUBs. Hm, mal gucken, wie man das macht..
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Februar 2015, 18:19:36
     hi Christian,

    Dumper ist ein Perl-Modul, welches Datenstrukturen in eine Form umwandelt, die man lesen kann, aber auch mittels "eval()" wieder in eine Perl-Datenstruktur zurückverwandeln kann (solange diese nicht rekursiv ist).
    Das Verwende ich intern z.B. für den Getter "RadiosWithCovers" dort wird textuell dann eine Hash-Struktur dargestellt, also lesbar in einem Reading, und wenn man sie braucht, kann man sie sich mittels eval() wieder als Perl-Struktur erzeugen...

    Aber zu deinem Stereo-Problem: Am einfachsten wird es sein, das Reading "fieldType" auszulesen. Das wird immer passend zur Funktion in einem Verbund gesetzt, wenn der Player kein Master ist.
    In deinem Fall sollte dort eigentlich der linke Player nix drin haben, und der rechte dann "RF".

    Deine Funktion wäre also zu erweitern:

    sub GroupMemberVolume($)
    {
    my ($player) = @_;
    foreach my $member ( SONOSPLAYER_GetSlavePlayerNames($player))
    {
      fhem("set $member Volume 5 1") if (ReadingsVal($member, 'fieldType', '') ne "RF");
    }
    }

    Denk aber allgemein dran, dass in der Ergebnisliste von "GetSlavePlayerNames" der Gruppen-Master nicht mit enthalten ist... Der braucht vielleicht aber auch die Lautstärke...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 Februar 2015, 20:50:15
    Hallo Reiner,
    darauf wäre ich nicht gekommen!
    Habe nun ein wenig gebastelt und es scheint alles zu gehen...

    Hier meine SleepTimer-Steuerung in Abhängigkeit von Wochenenden, Feiertagen und Ferien mit absenkbarer Lautstärke nach x-Minuten inkl möglicher Gruppenmitglieder.

    # Sleeptimer
    #
    # WE steht für:
    # -freitags, samstags
    # -vor Feiertagen
    # -vor dem 1. Schulferientag
    # -während der Schulferien und bis zum vorletzten Schulferientag
    #
    # Übergabewerte:
    # player: Sonos Player name
    # ST: Dauer des Sleeptimers
    # ST_we: Dauer des Sleeptimers am WE
    # Vol_offset: Verzögerung für das Absenken der Lautstärke
    # Vol_offset_we: Verzögerung für das Absenken der Lautstärke am WE
    # Vol: neue Lautstärke
    # Vol_we: neue Lautstärke an WE
    #
    # Aufruf
    # {SleepTimer ('OG.br.SON.ZP_S3','00:10:00','00:15:00','00:01:00','00:02:00','1','3')}
    #
    #
    #
    sub SleepTimer($$$$$$$)
    {
    my ($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
    my ($player, $ST, $ST_we, $Vol_offset, $Vol_offset_we, $Vol, $Vol_we) = @_;
    if (($wday == 5) || 
         ($wday == 6) ||
         (Value("cnt.NRW.start.FerienClone.dum") == 1) ||
         ((Value("state.NRW.FerienClone.dum") == 1) && (Value("cnt.NRW.end.FerienClone.dum")!~1)) ||
         (ReadingsVal("hl.01.Feiertag.cdm","tomorrow","") !~ m/none/))
      {
       fhem ("set $player SleepTimer $ST_we");
       fhem ("define at.99.$player at +$Vol_offset_we
       set $player Volume $Vol_we 1\;;
       {GroupMemberVolume('$player','$Vol_we')}")
      }
    else
      {
       fhem ("set $player SleepTimer $ST");
       fhem ("define at.99.$player at +$Vol_offset
       set $player Volume $Vol 1\;;
       {GroupMemberVolume('$player','$Vol_we')}")
      }
    }


    und die SUB GroupMemberVolume
    sub GroupMemberVolume($$)
    {
    my ($player, $vol) = @_;
    foreach my $member ( SONOSPLAYER_GetSlavePlayerNames($player))
    {
      my $playertype = (ReadingsVal($member, 'fieldType', ''));
      fhem ("set $member Volume $vol 1") if ($playertype ne 'RF' && $playertype ne 'SW');
    }
    }

    Danke für die Unterstützung,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 10 Februar 2015, 22:11:25
    Hallo,
    habe noch mal eine Frage zum Sonos Speak.
    Habe targetSpeakFileHashCache auf 0 gesetzt und Timestamp auch.

    Ich lasse über Speak bestimmte Ereignisse mit Uhrzeit ansagen. Ich hatte erwartet, das die Datei im SonoSpeak-Dir überschrieben wird, wenn es sich um das gleiche Abspielgerät handelt, aber es wird für jede Ansage eine neue Datei angelegt. Ist das so gewollt, oder habe ich ein Einstellungs-Problem?

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Februar 2015, 22:37:01
    Hi Christian,

    Das sollte auch so sein...
    Vergiss nicht bei Attributänderungen den Sonos-SubProzess durch temporäres Setzen des Attributes "disable" am Sonos-Device neu zu starten (Alternativ Fhem neu starten)...

    Wenn du möchtest, dass Dateien wiederverwendet werden (da wird dann gar keine Google-Anfrage mehr gemacht, wenn es den Text schonmal gibt), dann musst du das Attribut mit dem HashCache auf "1" setzen, und den Timestamp auf "0".
    In deiner jetzigen Variante kann er ja nicht erkennen, ob die Datei, die er im Filesystem vorfindet, denselben Text ansagen würde, und muss dementsprechend immer neu bei Google anfragen und herunterladen...
    Es sollte aber bei dir trotzdem für jeden Player nur eine Datei anlegen, die dann jedesmal überschrieben wird...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 11 Februar 2015, 17:56:38
    Hallo Reiner,
    ja, das war es! Der Neustart hat gefehlt. Jetzt wird die Datei brav überschrieben...
    Wiederkehrende gleiche Ansagen, werde ich wohl mit playURI abspielen lassen, alles andere muss ja sowieso immer neu gewandelt werden.

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 11 Februar 2015, 18:49:48
    Zitat von: Reinerlein am 08 Februar 2015, 23:24:38
    Hi Detlef,

    also aus irgendeinem Grund bekommt er da ein ungültiges Device zugespielt, welches überhaupt nicht UPnP-konforme Daten liefert...

    Kannst in der Datei Common.pm (also da, wo der Fehler auftritt) mal vor die Zeile 219 etwas einfügen?
    Die neue Zeile 219 und die Zeile 220 (ehemals 219) sehen dann wie folgt aus:

    next if (ref $services ne "ARRAY");
    for my $serviceElement (@$services) {

    Damit wird dieser Fehler nicht mehr erzeugt werden... die Frage ist dann, ob es besser läuft :)
    Wenn das in die richtige Richtung geht, würde ich dass dann auch so einchecken... Ich habe ja schon ein paar Fehler in der Lib korrigiert...

    Danke schon mal.

    Grüße
    Reiner

    Hallo Reiner,

    hast Du das schon eingecheckt? Bzw. kommt das noch. Ansonsten muss ich das in meine Installationsdoku aufnehmen, damit ich für den Fall einer Neuinstallation auch daran denke das anzupassen.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Februar 2015, 19:37:15
    Hi Detlef,

    es wird auf jeden Fall im nächsten Sonos-Update enthalten sein. Ich bin nur diese Woche berufsmäßig unterwegs in Deutschland, und kann gerade nicht so richtig einchecken...

    Da sind ja noch ein paar andere Dinge fertig, die auch noch auf die Veröffentlichung warten :) ich denke zum Wochenende hin wird das passieren..

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 11 Februar 2015, 22:28:43
    Prima, wollte auch keinen Druck machen.
    Find das eh extrem bemerkenswert was Du und auch andere in der "Freizeit" noch für die "Community" lseisten.
    Hut ab!

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 14 Februar 2015, 18:36:32
    Hallo,
    ich habe ein paar Threads zuvor diese Funktion gefunden:
    sub WeckerSonos() {     
       my $StartTime=eval(ReadingsVal('OG.kz.SON.ZP_S1', 'AlarmList', '{}'))->{1}{StartTime};
       Log(3, "Alarm Start Time|" . $StartTime . "|Ende");
    }

    und ich würde damit gerne die Startzeit des Weckers auslesen. Aber leider funktioniert das nicht?
    Ich bekomme nichts angezeigt.
    Ich rufe {WeckerSonos} auf!

    Im Prinzip will ich damit eigentlich abfragen, ob der Wecker eingeschaltet ist und habe es etwas modifiziert.
    sub WeckerEnabled() {     
       my $AlarmState=eval(ReadingsVal('OG.kz.SON.ZP_S1', 'AlarmList', '{}'))->{1}{Enabled};
       return $AlarmState ;

    Aber auch hier kommt nix zurück!
    Jemand eine Idee?
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Februar 2015, 18:58:18
    Hi Christian,

    ist denn überhaupt ein Alarm mit der ID 1 vorhanden?
    Direkt sehen kannst du das im Reading "AlarmListIDs", dort werden alle IDs als Liste nochmal aufgeführt...

    Ansonsten sieht der Code eigentlich gut aus...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 14 Februar 2015, 23:14:40
    Hi reiner,
    danke für den Hinweis! Natürlich sollte man auch die richtige Alarm-ID verwenden...

    Jaja, ich habe halt immer Tomaten auf den Augen...

    Gruß,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 16 Februar 2015, 10:07:17
    Hallo,
    habe mal eine Frage zu meinem Ansagemodul! Ist zwar nichts Sonos-spezifisches, aber ich wundere mich, warum die letzte Ansage abgespielt wird, obwohl "cnt.NRW.start.FErienClone.dum" auf "-deaktiv-" steht! Wird "-deaktiv" als "0" ausgewertet?
    *06:50:00
    {
    my $days = Value("cnt.NRW.start.FerienClone.dum");;
    if ((!$we) && $days <= 10 && $days >= 2)
    {
      fhem ("set OG.kz.SON.ZP_S1 Speak 20 de noch $days Tage bis zu den Ferien.");;
      fhem ("set DG.kz.SON.ZP_S1 Speak 20 de noch $days Tage bis zu den Ferien.")
    }
    if ((!$we) && $days == 1) 
    {
      fhem ("set OG.kz.SON.ZP_S1 Speak 20 de nur noch ein Tag bis zu den Ferien.");;
      fhem ("set DG.kz.SON.ZP_S1 Speak 20 de nur noch ein Tag bis zu den Ferien.")
    }
    if ((!$we) && $days == 0) 
    {
      fhem ("set OG.kz.SON.ZP_S1 Speak 20 de endlich Ferien.");;
      fhem ("set DG.kz.SON.ZP_S1 Speak 20 de endlich Ferien.")
    }
    }

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Februar 2015, 11:58:30
    Hi Christian,

    das ist wahr. Das liegt daran, dass Perl bei Zahlenvergleichen versucht aus dem String eine Zahl zu machen. Dabei geht er so vor, dass er das erste Zeichen im String sucht, welches zu einer gültigen Zahl passt, und von da an solange weitersucht, bis er ein Zeichen findet, welches nicht mehr zu einer Zahl passt.
    Das bedeutet, dass bei dir ein '-' übrig bleibt. Und das wiederrum ist für Perl bereits eine gültige Zahl...

    Hiermit prüfbar:

    if ('-deaktiv-' == 0) { print "Null" } else { print "Nicht Null" }
    Das Ding gibt das Wort "Null" aus...

    Du musst dir einen anderen Marker für inaktiv suchen, nicht so was Zahlenähnliches :)
    Dann allerdings kommt eine Fehlermeldung, dass du versuchst einen Zahlenvergleich mit einer Nichtzahl zu machen...

    Des Weiteren würde ich aus Optimierungsgründen solche eine If-Kette immer versuchen als If-Elsif-Kette aufzubauen. Bei dir könnten durch einen dummen Zufall mehrere Einträge matchen. Das passiert einem bei Verwendung von elsif nicht. Da passt höchstens der falsche (dann aber nur einer), und man muss ein bißchen auf die Reihenfolge achten (dafür werden die einzelnen Statements einfacher, da sie ja hierarchisch aufgebaut sind) erhält dafür aber auch eine schnellere Ausführung...
    Außerdem kann man gerade bei deiner Sonos-Namensgebung Fhem-Features prima nutzen...
    Ist aber natürlich prinzipiell auch wurscht :)


    *06:50:00
    {
    my $days = Value("cnt.NRW.start.FerienClone.dum");;
    if ($days eq '-deaktiv-') { return }
    if ((!$we) && $days == 0) {
      fhem ("set (O|D)G.kz.SON.ZP_S1 Speak 20 de endlich Ferien.");;
    } elsif ((!$we) && $days == 1) {
      fhem ("set (O|D)G.kz.SON.ZP_S1 Speak 20 de nur noch ein Tag bis zu den Ferien.");;
    } elsif ((!$we) && $days <= 10) {
      fhem ("set (O|D)G.kz.SON.ZP_S1 Speak 20 de noch $days Tage bis zu den Ferien.");;
    }
    }
    Daran siehst du dann auch, dass Punkte in Fhem-Devicenamen eigentlich keine soo gute Idee sind, da man korrekterweise deinen Devicenamen beim Ansprechen dann z.B. so schreiben muss:

    fhem ("set OG\.kz\.SON\.ZP_S1 Speak 20 de noch $days Tage bis zu den Ferien.");;
    sonst passt der Code auch auf ein Device mit dem Namen "DGxkzySONzZP_S1". Hier vielleicht noch eindeutig, bei vielen hundert Devices in Fhem sicherlich eine mögliche Fehlerquelle...

    Ich verwende deshalb ja immer die Unterstriche zur Trennung. Sind eindeutig in regulären Ausdrücken und ordnen auch eine Struktur...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 16 Februar 2015, 12:40:31
    Hi Reinerlein,
    danke für Deine sehr ausführliche Erklärung, ich werde den modifizierten Code einmal ausprobieren! Danke auch für Deine Optimierungen und die Tipps!

    Das Namensschema habe ich mir irgendwo abgeguckt und fand es eigentlich sehr brauchbar! Über den "." hatte ich nicht weiter nachgedacht, aber Du hast natürlich recht!

    Alles jetzt zu ändern, ist mir zu aufwändig! Ich muss jetzt damit leben... :-)
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 17 Februar 2015, 21:43:42
    Hallo,
    der modifizierte Code funktioniert prima und die Ferien können kommen....

    Jetzt kommt das nächste Thema...
    Ich hatte diesen Code gefunden um damit den Alarmzustand auszulesen.
    sub AlarmEnabled($$) {     
    my ($player, $alarmID) = @_;
       my $AlarmState=eval(ReadingsVal('$player', 'AlarmList', '{}'))->{$alarmID}{Enabled};
    return $AlarmState;
    }

    Das funzt auch ganz gut, nur kann man auch darauf triggern? Wahrscheinlich sollte ich mir ein UserReading anlegen, oder wie wertet man das am Besten aus?

    Hintergrund:
    mit diesem DOIF steuere ich die Weckerfunktion des Sonos.
    ([state.NRW.FerienClone.dum] or [hl.01.Feiertag.cdm:today] ne "none")
    ((set OG.kz.SON.ZP_S1 Alarm Update 674 {Volume => 2, Enabled => 0}))
    DOELSE
    ((set OG.kz.SON.ZP_S1 Alarm Update 674 {Volume => 2, Enabled => 1}))

    Attribut:  cmdState   auto_aus|auto_ein

    Wenn jetzt der Wecker über den Controller gesteuert wird, bekommt das DOIF das nicht mit und zeigt den falschen Statzs an. Also muss ich darauf irgendwie triggern!

    Jemand eine Idee?
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 Februar 2015, 13:14:08
    Hi Christian,

    das einfachste wird ein userReading sein, wo der Enabled-Wert deines gesuchten Alarms direkt enthalten ist, und diesen dann als Zusatzbedingung mit in das DOIF.

    Hier das userReading im Sonosplayer-Device:

    Alarm674Enabled:AlarmList { eval(ReadingsVal('OG.kz.SON.ZP_S1', 'AlarmList', '{}'))->{674}{Enabled} }


    In deinem DOIF muss das doch nur noch als Zusatzbedingung dazu, oder?

    (([state.NRW.FerienClone.dum] or [hl.01.Feiertag.cdm:today] ne "none") and [OG.kz.SON.ZP_S1:Alarm674Enabled] eq "1")
    ((set OG.kz.SON.ZP_S1 Alarm Update 674 {Volume => 2, Enabled => 0}))
    DOELSE
    ((set OG.kz.SON.ZP_S1 Alarm Update 674 {Volume => 2, Enabled => 1}))
    Jetzt hat DOIF auch einen Trigger auf die Alarm-Änderung am Controller...
    Ob es das macht, was du möchtest, solltest du nochmal komtrollieren :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 18 Februar 2015, 19:28:34
    ich habe immer noch ein problem beim initialisieren eines players per appeared notify.

    die currentTrackURI ist in notify noch gesetzt und verhindert das ich zwischen eingestecktem player und neu gestartetem fhem unterscheiden kann.

    das ging schon mal nach dem du es repariert hattest, inzwischen aber nicht mehr.

    hast du eine idee?

    wenn nicht lösche ich das reding im disappeared fall einfach selber.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 18 Februar 2015, 20:23:53
    Zitat von: Reinerlein am 18 Februar 2015, 13:14:08
    Hi Christian,

    das einfachste wird ein userReading sein, wo der Enabled-Wert deines gesuchten Alarms direkt enthalten ist, und diesen dann als Zusatzbedingung mit in das DOIF.

    Hier das userReading im Sonosplayer-Device:

    Alarm674Enabled:AlarmList { eval(ReadingsVal('OG.kz.SON.ZP_S1', 'AlarmList', '{}'))->{674}{Enabled} }

    Hi Reiner,
    danke schön! Ja, so hatte ich mir das vorgestellt!

    In deinem DOIF muss das doch nur noch als Zusatzbedingung dazu, oder?

    (([state.NRW.FerienClone.dum] or [hl.01.Feiertag.cdm:today] ne "none") and [OG.kz.SON.ZP_S1:Alarm674Enabled] eq "1")
    ((set OG.kz.SON.ZP_S1 Alarm Update 674 {Volume => 2, Enabled => 0}))
    DOELSE
    ((set OG.kz.SON.ZP_S1 Alarm Update 674 {Volume => 2, Enabled => 1}))
    Jetzt hat DOIF auch einen Trigger auf die Alarm-Änderung am Controller...
    Ob es das macht, was du möchtest, solltest du nochmal komtrollieren :)

    Grüße
    Reiner
    Hi Reiner,
    Danke schön! Genauso habe ich mir das vorgestellt! Der Trigger im DOIF sollte auch so funktionieren! Jetzt baue ich noch die Visualisierung drumherum, damit man die Wecker aller Sonos-Devices im Überblick hat!
    Nochmal Danke,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Februar 2015, 11:44:52
    Hi Andre,

    ich habe das nochmal im Code geprüft. Eigentlich holt das Sonos-Modul beim Erkennen (die einzige Stelle, an der 'appeared' gesetzt wird) die Informationen über Abspielzustand und Titel direkt neu vom Player und setzt diese gleichzeitig (in einem Bulkupdate) mit "Presence".
    Das bedeutet, dass beim Start des Moduls erkennbar sein sollte, ob der Player neugestartet wurde (der hat dann ja keine Titelinformationen), oder nur das Modul/Fhem (dann gibt es u.U. Titelinformationen).

    Ich werde mal versuchen, das nachzustellen...
    Kannst du vielleicht mal dein Notify dazu hier posten? Hat dein Player auch den von dir erwarteten Zustand?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 19 Februar 2015, 11:51:20
    mein sonosAppeared notify schaut so aus:sonos_.*:presence:.appeared {
      Log 3, ">$NAME< >$EVENT< ".ReadingsVal($NAME, "currentTrackURI", "undef");
      if( !ReadingsVal($NAME, "currentTrackURI", undef) ) {
        Log 3, "$NAME: do init";
        fhem "sleep 1; set $NAME Volume 5; set $NAME LoadRadio SWR3%20Elchradio";
      } else {
        Log 3, "$NAME: do nothing";
      }


    über die log zeilen sehe ich das wärend des notify currentTrackURI noch gefüllt ist und das notify folglich nichts tut. wenn ich etwas später nachschaue ist das reading nicht mehr gefüllt.

    erst mit einem zusätzlichen notify sonosDisappeared:sonos_.*:presence:.disappeared deletereading $NAME currentTrackURI geht dann alles wie erwartet.

    gruss
       andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Februar 2015, 12:24:41
    Hi Andre,

    manchmal sollte man die Dinge tatsächlich mal selber ausführen  :-[

    Ich habe den Fehler gefunden, und eine Korrektur gerade eingecheckt. Das kann aber noch nie funktioniert haben, da der Fehler grundsätzlicher Natur war...

    Wie immer: Jetzt im SVN oder ab Morgen im Update...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 19 Februar 2015, 12:26:09
    danke :)

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Mopedpaul am 19 Februar 2015, 13:22:10
    Hallo,
    bin ja begeistert, dass die Sonos Systeme so perfekt in FHEM eingebunden werden. Daher hatte ich mich auch entschlossen die Systeme hier einzubinden. Unabhängig von FHEM läuft das System, beide meiner Sonos Module (Sonos Connect und Sonos Play 1) sind im Netzwerk mit einer festen IP sichtbar und per App steuerbar.

    Mein FHEM läuft auf einem Intel NUC mit Ubuntu Linux LTS
    Dann wie im Wiki beschrieben alle 4 Perlmodule per CPAN installiert. Beim erneuten Installationsversuch der 4 Module wird mir auch angezeigt, dass das jeweilige Modul bereits installiert ist und auch läuft.
    habe dann zusätzlich die Module noch mal manuell mit "apt-get install" installiert, auch ohne Fehlermeldung.

    Dann in FHEM die folgende Zeile eingefügt:
    define Sonos SONOS localhost:4711 30 1 5

    nach einem Neustart bekomme ich die Meldung :0 Cannot load module SONOS

    und im Log:
    2015.02.19 13:01:00 1: reload: Error:Modul 00_SONOS deactivated:
    Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 394, <$fh> line 1322.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 394, <$fh> line 1322.

    2015.02.19 13:01:00 0: Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 394, <$fh> line 1322.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 394, <$fh> line 1322.

    Was ist hier passiert - wer kann mir da weiter helfen ? Finde leider keine weiteren Infos zu diesen Meldungen

    Danke, viele Grüße Uwe
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 19 Februar 2015, 13:22:54
    Hallo Reinerlein,
    bei mir häufen sich Meldungen vom Sonos-Modul im Log, eigenartig finde ich z.b. das kein Zeitstempel mitanhängt. Verbose sowohl GLOBAL als auch Sonos Device steht auf 1

    ZitatRenewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3396 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3380 thread 1
    2015.02.19 10:47:27 1: Perfmon: possible freeze starting at 10:47:26, delay is 1.267
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3476 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3460 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3444 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3428 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3412 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3396 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3380 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3460 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3444 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3428 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3412 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3396 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3380 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3476 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3460 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3444 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3428 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3412 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3396 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3380 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3460 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3444 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3428 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3412 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3396 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3380 thread 1
    2015.02.19 10:00:04 1: Perfmon: possible freeze starting at 10:00:02, delay is 2.789

    Hast Du eine Idee was da los ist?
    Parallel dazu fällt mir eine sagen wir etwas "stotternde" Radio Wiedergabe auf, die gelegentlich aussetzt...
    Das kann auch am Sender oder der Internetverbindung liegen - bin also nicht sicher ob ein Zusammenhang besteht.
    Update Check sagt mir zwar das ich mal wieder aktualisieren sollte, das Sonos Modul taucht aber nicht in der Liste auf...

    PS: die IPs sind die des SonosAmps der im Büro steht und nur bei bedarf angeschaltet wird - und des Play3 der im Bad steht und ebenfalls nur bei bedarf angeschaltet wird.

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Februar 2015, 14:15:35
    Hallo zusammen,

    @Uwe: Aus irgendeinem Grund kann er das UPnP-Modul nicht laden. Sind die Dateien unter "FHEM/lib/UPnP" denn angekommen? Dort müsste eine Datei Common.pm und ControlPoint.pm existieren...

    @der-Lolo: Das kommt auf dem STDERR raus, und ist kein echtes "Logging" sondern ein Fehler, den das UPnP-Modul über den zugrundeliegenden IP-Layer zugeworfen bekommt. Das klingt danach, als würde ein Player verschwunden sein, aber nicht als verschwunden erkannt worden sein. Dann versucht er immer wieder die Subscriptions zu erneuern, und erreicht den Player nicht...
    Ich schaue mal, dass ich im Subscription-Erneuerungsbereich vielleicht ein Fehlerhandling einbaue, und das ganze wenigsten nur ein paarmal für einen verschwundenen Player auftaucht.
    Wenn du allerdings sagst, dass du auch Aussetzer in der Wiedergabe hast, kann es auch sein, dass der Player wirklich ab und an einfach mal nicht erreichbar ist...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 19 Februar 2015, 14:47:23
    Danke für die Info Reinerlein, die Aussetzer habe ich aber nicht nur auf einem der beiden player - sondern eben auch in der Wiedergabe des ZP90 der immer am Netz hängt...
    Verbindungsprobleme halte ich ausserdem für unwahrscheinlich da der ZP120 im Büro per Kabel angeschlossen ist.
    Titel: Antw:Sonos steuern
    Beitrag von: Mopedpaul am 19 Februar 2015, 15:58:54
    Hallo Reinerlein,
    ja, das habe ich ja auch erst vermutet . Im Verzeichnis (root)/opt/fhem/FHEM/lib/UPnP liegen die beiden von dir erwähnten PM Dateien und weitere 5 jpg Dateien. Auch die Ordner und Dateirechte habe ich geprüft . Alle auf Lesen und Schreiben. Zusätzlich "Datei als Programm ausführen"
    Gruß Uwe
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 20 Februar 2015, 16:07:36
    Hi Uwe,

    du könntest mal das Modul alleine auf der Konsole ausführen:

    perl 00_SONOS.pm 4711 5 1
    Was wird da denn auf der Konsole angezeigt?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Mopedpaul am 20 Februar 2015, 17:27:53
    Hallo Reinerlein,
    habe gesehen, das FHEM wohl das Modul XML::Parser::Lite fehlt und habe es versucht, wohl wenig erfolgreich, über cpan nachzuinstallieren. Ich bekomme folgende Meldung beim Versuch XML::Parser::Lite zu installieren:

    Running install for module 'XML::Parser::Lite'
    Running make for P/PH/PHRED/XML-Parser-Lite-0.72.tar.gz
    Checksum for /home/fhem/.cpan/sources/authors/id/P/PH/PHRED/XML-Parser-Lite-0.72.tar.gz ok

      CPAN.pm: Building P/PH/PHRED/XML-Parser-Lite-0.72.tar.gz

    Checking if your kit is complete...
    Looks good
    Writing Makefile for XML::Parser::Lite
    Writing MYMETA.yml and MYMETA.json
    cp lib/XML/Parser/Lite.pm blib/lib/XML/Parser/Lite.pm
    Manifying blib/man3/XML::Parser::Lite.3pm
      PHRED/XML-Parser-Lite-0.72.tar.gz
      make -- OK
    'YAML' not installed, will not store persistent state
    Running make test
    PERL_DL_NONLAZY=1 /usr/bin/perl "-MExtUtils::Command::MM" "-e" "test_harness(0, 'blib/lib', 'blib/arch')" t/*.t
    t/07-xmlrpc_payload.t .. ok   
    t/26-xmlrpc.t .......... 1/6 # Looks like you planned 6 tests but ran 8.
    t/26-xmlrpc.t .......... Dubious, test returned 255 (wstat 65280, 0xff00)
    All 6 subtests passed
    (less 8 skipped subtests: -2 okay)
    t/27-xmlparserlite.t ... ok     
    t/37-mod_xmlrpc.t ...... Undefined subroutine &XMLRPC::Test::Server::run_for called at t/37-mod_xmlrpc.t line 16.
    # Looks like your test exited with 255 before it could output anything.
    t/37-mod_xmlrpc.t ...... Dubious, test returned 255 (wstat 65280, 0xff00)
    Failed 17/17 subtests
    t/Lite.t ............... ok     

    Test Summary Report
    -------------------
    t/26-xmlrpc.t        (Wstat: 65280 Tests: 8 Failed: 2)
      Failed tests:  7-8
      Non-zero exit status: 255
      Parse errors: Bad plan.  You planned 6 tests but ran 8.
    t/37-mod_xmlrpc.t    (Wstat: 65280 Tests: 0 Failed: 0)
      Non-zero exit status: 255
      Parse errors: Bad plan.  You planned 17 tests but ran 0.
    Files=5, Tests=71,  6 wallclock secs ( 0.08 usr  0.01 sys +  0.96 cusr  0.05 csys =  1.10 CPU)
    Result: FAIL
    Failed 2/5 test programs. 2/71 subtests failed.
    make: *** [test_dynamic] Fehler 255
      PHRED/XML-Parser-Lite-0.72.tar.gz
      make test -- NOT OK
    //hint// to see the cpan-testers results for installing this module, try:
      reports PHRED/XML-Parser-Lite-0.72.tar.gz
    Running make install
      make test had returned bad status, won't install without force


    Wenn ich dann, wie du ja vorgeschlagen hast Sonos.pm direkt auf der Konsole aufrufe, bekomme ich folgendes:

    fhem@ubuntu-FHEM:/opt/fhem/FHEM$ perl 00_SONOS.pm 4711 5 1

    Can't locate XML/Parser/Lite.pm in @INC (you may need to install the XML::Parser::Lite module) (@INC contains: 00_SONOS.p/lib 00_SONOS.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib /etc/perl /usr/local/lib/perl/5.18.2 /usr/local/share/perl/5.18.2 /usr/lib/perl5 /usr/share/perl5 /usr/lib/perl/5.18 /usr/share/perl/5.18 /usr/local/lib/site_perl .) at lib/UPnP/Common.pm line 729.
    BEGIN failed--compilation aborted at lib/UPnP/Common.pm line 729.
    Compilation failed in require at lib/UPnP/ControlPoint.pm line 14.
    BEGIN failed--compilation aborted at lib/UPnP/ControlPoint.pm line 14.
    Compilation failed in require at 00_SONOS.pm line 394.
    BEGIN failed--compilation aborted at 00_SONOS.pm line 394.


    Bin etwas ratlos, aber da ich kein Linux Guru bin, wüsste ich auch mit den Meldungen nicht viel anzufangen  :-X

    Vielleicht hast du ja eine Idee was ich da noch installieren muss.  :-[

    Gruß Uwe
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 20 Februar 2015, 17:43:25
    Hi Uwe,

    ich hatte die Anweisungen für XML::Parser::Lite aus dem Wiki herausgenommen, da ich der Meinung war, dass es mittlerweile in der Perl-Standardlieferung enthalten sei.

    Wenn dem nicht so ist, dann versuch doch mal folgendes:

    sudo apt-get install libxml-parser-lite-perl


    Falls das jetzt hilft, werde ich das im Wiki entsprechend wieder aufnehmen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Mopedpaul am 20 Februar 2015, 17:48:44
    Hallo Reinerlein,
    gute Nachrichten - habe wohl mit CPAN das falsche Packet installiert. Mit:

    # sudo apt-get install libxml-parser-lite-perl

    und anschließendem Neustart, läuft es jetzt erst einmal soweit, daß keien Fehlermeldung mehr kommt. Auch werden bereits unter FHEM die Sonos Module angezeigt  ;D  ;D

    So, werde jetzt mal weiter probieren und einrichten.

    Vielleicht kannst du ja im Sonos Wiki nach ergänzen, das die Ubuntu User noch dieses Modul installieren müssen  ;)

    Danke und Gruß Uwe
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 21 Februar 2015, 16:09:04
    hallo reiner,

    das initialisieren der player mit presence funktioniert jetzt. danke nochmal.

    leider habe ich aber noch zwei probleme die mehr oder weniger zusammen hängen...

    - beim fhem start wird der zp120 immer sofort erkannt, die beiden play:1 aber nur selten. manchmal dauert es bis zu einer halben stunde bis sie in fhem als present auftauchen. mit verbose 5 sehe ich im log aber die ganze zeit die is alive meldungen per icmp (alle 10 sekunden). manchmal hilft es wenn ich die player über die normale sonos anwendung kurz etwas spielen lasse. aber auch nicht immer.

    - wenn ich mit speak eine durchsage an TYPE=SONOSPLAYER schicke und ein player dabei der nicht erreichbar ist kann ich anschliessend keine kommandos mehr schicken und empfange auch keine mehr. hier scheint sich modul intern irgendetwas zu verheddern. wenn ich das ganze mit TYPE=SONOSPLAYER:FILTER=presence=appeared auf erreichbare player beschränke gibt es das problem nicht.

    gruss
      andre



    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Februar 2015, 19:28:24
    Hi Andre,

    letzteres schaue ich mir mal an. das läßt sich bestimmt abfangen.

    Aber der erste Punkt... eigentlich melde ich den direkt "nach oben" zu Fhem durch. Da gibt es auch keinerlei Verzögerung mehr.
    Es sei denn, dein Fhem war gerade beschäftigt, und nimmt die neue Lieferung irgendwie nicht an... Kann es sein, dass er noch mit dem Bearbeiten eines Notify beschäftigt ist?
    Ich schaue mir mal an, ob ich die Schlange nach oben robuster gestalten kann... das sind ja Fhem Bordmittel...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 21 Februar 2015, 19:32:05
    Du Reinerlein, wäre es nicht möglich dem Modul zu sagen welche Devices es "erwarten" soll? Letztendlich kennen wir in FHEM ja den schaltzustand der zugehörigen steckdose und könnten hiermit ja auch player enablen, disablen...

    Nur so als Idee...
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 21 Februar 2015, 19:36:29
    das erste problem hat garnichts mit dem ein oder ausschalten eines players zu tun.

    zur zeit habe du drei player ständig an und einer ist ständig aus. wenn ich fhem neu starte wird einer der drei sofort erkannt. immer der gleiche. die anderen beiden fast nie. zumindest gehen sie dann nicht auf present. obwohl die icmp ping im hintergrund ok liefern.

    fhem ist nicht blockiert und ich kann alles andere ganz normal schalten.

    gruß
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 21 Februar 2015, 19:46:49
    sorry Andre,
    ich bezog mich nicht auf dein problem -
    http://forum.fhem.de/index.php/topic,10033.msg263956.html#msg263956 (http://forum.fhem.de/index.php/topic,10033.msg263956.html#msg263956)

    Wobei ich heute nachmittag ein update gemacht habe und gerade im Log gesehen habe das die meldungen anscheinend verschwunden sind. Vielleich hat Reinerlein wie angekündigt etwas optimiert diesbzgl.

    however, hier liest man einfach oft das leute probleme haben die ihre player eben nicht 24/7 am netz hängen haben, und ich glaube das sogut wie jeder in seiner FHEM installation weiss ob der player gerade da sein sollte oder eben nicht. So kam ich auf meine Idee...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Februar 2015, 19:48:26
    Hallo,

    @der-Lolo: das gibt das Konzept von UPnP nicht her. Die Player melden sich, sobald sie da sind, und zum Melden aufgefordert wurden. Die kann man nicht vorerkennen oder sowas...

    @Andre: Du könntest höchstens mal in der Konsolenausgabe nachschauen, ob die Player erkannt werden, und nur die Meldung an Fhem unterbleibt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: jehu am 23 Februar 2015, 16:22:26
    Hallo Allerseits,

    vielen Dank @Reinerlein für das tolle Modul, welches mir meine Haussteuerung mit FHEM deutlich aufgewertet hat (und natürlich an alle die FHEM zu dem gemacht haben was es ist  :))

    Ich setze das Modul zum Bespiel auch ein, um mir während meines morgendlichen Wecker mit Sonos eine Durchsage mit der Uhrzeit, Datum und der aktuellen Wetteraussichten und Regenwahrscheinlichkeit anzusagen. Dazu nutze ich den Befehl. "set Sonos_Schlafzimmer Speak +10 de [Ansagestext]". Das funktioniert grundaätzlich (bis auf die zuweilen merkwürdige Aussprache  ;) -sehr gut). Nun ist mir aufgefallen, dass sich der Wecker seit Nutzung der Ansage nicht mehr automatisch nach 1h (wie eingestellt) abschaltet. Lasse ich die Durchsage weg schaltet er sich nach 1h ab.

    Kann das Problem jemand Anderes noch nachvollziehen? Oder habe ich evtl. irgendwas überlesen, was ich in diesem Zusammenhang nicht beachtet habe.

    Schöne Grüße
    Jens
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Februar 2015, 17:09:05
    Hi Jens,

    das kann ich mir gut vorstellen. Wenn du eine Wiedergabe per Wecker hast, merkt der Player das (und setzt auch das Reading für die AlarmWiedergabe).
    Die Durchsage mittels Speak (oder auch PlayURITemp) stoppt diese Wiedergabe, macht die Durchsage, und stellt den ursprünglichen Wiedergabezustand wieder her.
    Dabei gibt es keine Möglichkeit eine "Weckerwiedergabe" zu starten. Es ist (danach) immer einer normale Wiedergabe...

    Was du machen könntest, ist, nach deiner Durchsage einen Sleeptimer zu setzen...
    Oder ganz verwegen:
    - Durchsage z.B. mittels des Text2Speech-Moduls vorbereiten, und die Datei in deinem Freigabeordner ablegen lassen
    - Diese erzeugte Durchsagedatei in der aktuellen Abspielliste ganz vorne einfügen
    - Deinem Wecker sagen, er soll die Abspielliste zum Wecken starten

    Damit wird eine normale (Alarm-)Wiedergabe gestartet, und deine Durchsage ist halt das erste "Musikstück". Du kannst auch einen Radiosender in die aktuelle Abspielliste packen, damit kannst du auch Radio nach deiner Durchsage hören...
    Da gibt es noch viele Möglichkeiten :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: jehu am 23 Februar 2015, 17:38:34
    Hallo Reiner,

    Schade dass man die Einstellungen vor Ansage nicht sichern kann und später wieder herstellen.

    Für mich selbst werde ich wohl den Tipp mit dem Sleeptimer umsetzen. Das passt perfekt.
    Die Durchsage am Anfang des Alarms klingt an sich besser, aber für mein "Setting" benutze ich diese Ansage auch als Hinweis nun "endlich" die Füße aus dem Bett zu heben  ;D In der Zeit davor höre ich noch die morgendlichen Nachrichten. Per Sleeptimer wird dann einfach sichergestellt, dass das Radio nicht den ganzen Tag weiterläuft. So gehts ... Danke für den Schupps in die richtige Richtung  :)

    Schöne Grüße
    Jens
    Titel: Antw:Sonos steuern
    Beitrag von: rretsiem am 03 März 2015, 22:26:07
    Hallo,

    nun versuche ich auch mal mit meinem Songs-System und Speak zu experimentieren, stoße aber auf ein merkwürdiges Verhalten.

    Der Player (ein Play3) ist auf "Pause" mit einem Internet-Radio-Stream, die Pause wurde über den Button ausgelöst.

    Nun sende ich einen Speak Befehl

    set Sonos_Bad Speak 15 de Ein kleiner Test

    der Text wird NICHT gesprochen, aber der Radio-Stream startet zu spielen.
    Im Log finde ich dazu:


    2015.03.03 22:19:41 3: SONOS0: Connection accepted from localhost:37448
    2015.03.03 22:19:49 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20%22ein%20kleiner%20Test%22" to "./RINCON_000E587DBE7201400_MR_Speak.mp31"
    2015.03.03 22:19:49 3: SONOS1: Combine loaded chunks into "./RINCON_000E587DBE7201400_MR_Speak.mp3"
    2015.03.03 22:19:50 3: SONOS1: Start temporary playing of "/RINCON_000E587DBE7201400_MR_Speak.mp3"
    2015.03.03 22:19:52 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Bad".
    2015.03.03 22:19:52 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Bad".
    2015.03.03 22:19:53 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2015.03.03 22:19:54 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2015.03.03 22:19:54 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Bad".
    2015.03.03 22:19:54 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Bad".
    2015.03.03 22:19:54 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2015.03.03 22:19:56 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2015.03.03 22:19:56 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2015.03.03 22:19:57 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2015.03.03 22:20:01 3: SONOS3: Restorethread has found a job. Waiting for stop playing...


    Ist das Verhalten nur deshalb so, weil er das speak MP3 nicht ablegen kann, oder ein anderes?

    Am FHEM Songs Device habe ich die Attribute

    Attributes:
       Speak1     mp3:/usr/bin/espeak -v %language% --stdout "%text%" | /usr/bin/avconv -i - %filename%
       targetSpeakDir /mnt/SonosSpeak
       targetSpeakFileHashCache 1
       targetSpeakMP3FileDir /mnt/SonosSpeak
       targetSpeakURL \\192.168.178.32\SonosSpeak


    eingerichtet. Die Samba-Freigabe auf dem Pi kann ich mit guest access beschreiben und lesen. (Anleitung laut Wiki), ist aber leer, es werden dort also keine Files abgelegt...

    EDIT 22:40
    Es funktioniert nachdem ich FHEM einmal neu gestartet habe. Mir war nicht bewusst das der SONOS Perl Prozess die Attribute erst nach einem Neustart "anzieht". :-[
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 März 2015, 22:54:04
    Hallo rretsiem,

    du kannst auch am Sonos-Device das "disable"-Attribut auf "1" setzen. Dann wird der SubProzess beendet. Anschließend kurz warten und das Attribut wieder löschen. Dann wird auch der SubProzess wieder angestartet..

    Das steht so auch im Wiki bei den Attributen :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 12 März 2015, 00:09:42
    Hi Reiner,


    ich bin gerade auf diese Meldungen bei mir im Log gestoßen, während ich den externen Ausgang an einem meiner Sonos Geräte verwende:



    2015.03.12 00:07:25 1: PERL WARNING: Use of uninitialized value in string ne at fhem.pl line 3717.
    Use of uninitialized value $songTitle in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4293, <$client> line 7.



    Ist nicht tragisch, aber vielleicht baust du bei Gelegenheit noch eine Abfrage mit ein :-)




    Gruß
    Julian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 März 2015, 07:59:06
    Hi Julian,

    ist korrigiert... das übliche, was man so vergisst :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 14 März 2015, 09:45:57
    hallo reiner,

    ich habe noch ein problem mit playern die beim wieder anstecken nicht auf present wechseln obwohl sie in der sonos software wieder auftauchen. diese player produzieren events in fhem wenn sie über die app gesteuert werden aber lassen sich aus fhem heraus nicht steuern. es kommt nur die meldung das sie disappeared sind.

    wenn ich für das sonos device dieselbe setze und wieder lösche werden die player anschliessend alle sofort gefunden.

    aufgetaucht ist das problem als ich von der wifi anbindung auf sonosnet gewechselt bin da ich noch einen CR100 probieren möchte.

    der player um den es geht scheint je nach standort zwischen wlan und sonosnet zu wechseln.

    hast du eine idee wie man dem problem aud die spur kommt?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 März 2015, 21:51:09
    Hi Andre,

    das ist echt komisch. Da scheint irgendwo eine Nachricht verschluckt zu werden.
    Tritt es denn irgendwie reproduzierbar auf?
    Dann könnte man mal ein 5er Log laufen lassen, und versuchen, dort den Punkt zu finden.

    Wird denn der Player unter dem Reading "presence" als Appeared geführt? Dann wäre es ein alleiniges Problem des SubProzesses, und wir können es nicht auf verlorengegangene Pakete zwischen SubProzess und Fhem schieben :)

    Ob der Player per Sonosnet oder direkt per LAN oder WLAN angeschlossen ist, sollte eigentlich vollkommen egal sein, da die Player sich halt melden, und in diesem Augenblick die IP des Players bekannt ist...
    Wenn dieser dann nicht unter der Adresse erreichbar ist, dann wird er natürlich vom IsAlive-Prozess als verlorengegangen markiert... dann wäre allerdings auch das Reading Presence auf "disappeared" (wenn nicht doch noch ein Paket Richtung Fhem verlorengegangen ist :) )

    Schwierige Sache... da muss man viel Geduld mitbringen, damit sich ein hoher Loglevel mit dem Problem treffen können, und man vielleicht was erkennen kann...
    Tut mir leid, wenn ich hier nur gestochere anbieten kann...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 15 März 2015, 14:06:29
    Hallo Reiner,

    habe jetzt mal den Proxy für die AlbumArt eingerichtet. Funktioniert soweit gut, die Bilder stehen super schnell zur Verfügung.
    Nach einem "get PlaylistswithCovers" (bei Radio und Favoriten auch) werden allerdings diverse Cover nicht mehr angezeit (Siehe Anhang). Mir ist vollkommen unklar warum. Kannst Du helfen?

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 März 2015, 18:43:45
    Hi Detlef,

    Da könntest du mal den Verbose-Level am Sonos-Device hochsetzen. Dann sieht man auch die Proxy-Zugriffe bzw. die Erzeugung der Proxy-URLs.
    Da müsste dann irgendwas stehen, dass er ein Icon nicht ermitteln konnte.

    Bei den Playlisten (auch wenn sie als Favorit vorliegen) z.B. hole ich mir die ersten 5 Einträge, und von denen verwende ich das erste vorkommende Cover. Wenn die ersten 5 Titel jetzt z.B. alle kein Cover haben, dann wird auch keins angezeigt.

    Wenn das Problem in diese Richtung geht, dann könnte ich die 5 konfigurierbar gestalten. Das Problem ist, dass man das nicht beliebig hochsetzen kann (max. geht da glaube ich 10 bis 15, leider nicht fest, weil Sonos das an der Länge der resultieren XML-Struktur festmacht)...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 15 März 2015, 19:28:02
    die player erscheinen als dissapeared empfangen aber trozdem noch events wenn ich über die app steuere. wenn ich versuche aus fhem heraus zu steuern kommt eine meldung mit dem hinweis das der player disappeared ist. lustigerweise ist es auch meist nicht der player den ich umgesteckt habe sondern einer der die ganze zeit weiter am netz war. vielleicht geht hier bei der zuordnung etwas schief?

    da ich das problem fast beliebig reproduzieren kann sollte es kein problem sein logs zu erzeugen. ich schaue mal wann ich diese woche dazu komme.


    schau dir mal den post hier an: http://forum.fhem.de/index.php/topic,35091.0.html (http://forum.fhem.de/index.php/topic,35091.0.html). vielleicht hat du ein paar ideen wie man das besser machen kann :).

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 15 März 2015, 23:38:42
    Hallo Reiner,

    guck ich mir morgen mal an. Das mit den 5 Titeln ist es glaube ich nicht, da ohne Proxy alles geht.
    Und die Cover werden beim Player auch angezeigt.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 16 März 2015, 12:53:52
    Hallo zusammen,
    ich habe schon seit einiger Zeit ein Phänomen (seit Sonos-FW 5.x), welches ich hier gerne beschreiben möchte. Der Fehler ist bei mir reproduzierbar.

    Ich richte einen Alarm über ein android Gerät ein. Wecksignal Radio, Mo-Fr. Uhrzeit 12 Uhr, gruppiert Räume abspielen.
    Nun setzte ich über fhem folgenden Befehl ab:
    set OG.br.SON.ZP_S3 Alarm Update 5 {StartTime => '17:20:00',Volume => 3 }
    Es soll erreicht werden, dass die Startzeit und die Lautstärke modifiziert werden. Das funktioniert soweit ganz gut, nur wir außerdem noch die Häufigkeit von Mo-Fr auf "Einmal" geändert. Jedes mal, wenn ich den Alarm mit fhem anpacke.
    Ich habe am WE alle meine Sonos-Devices auf Werkseinstellungen zurückgesetzt und das System von Grund auf neu eingerichtet. Der Fehler bleibt. Sobald ich irgendeinen Alarm mit fhem anpacke, gibt es Probleme. Fhem habe ich übrigens auch schon komplett neu aufgesetzt.

    Teilweise (nicht reproduzierbar, nur sporadisch) ist es sogar so, dass der Radiosender, der zur Weckzeit spielen soll, nicht gefunden wird. Es ertönt dann das nervige Sonos-Wecksignal. Dies passiert aber nur, wenn ich zuvor den Alarm mit fhem modifiziert habe. Aber wie gesagt, nur sporadisch.

    Irgendetwas läuft da schief.

    Danke,
    Spartacus.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 März 2015, 13:10:07
    Hallo Spartacus,

    wie sieht denn das Alarm-Reading des Devices aus?
    Tauchen denn dort die Werte für die Wiederholung alle auf, oder fehlt da was?

    Sonst das Reading mal kurz hier posten :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 16 März 2015, 17:51:57
    Hallo Reinerlein,
    das sieht so aus:
    {'5' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '3','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-sonosapi-stream:s99166?sid=254&flags=32&sn=0','Repeat' => 0,'Recurrence_Once' => 0,'StartTime' => '17:20:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '0','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F084FC01400','ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="R:0/0/4" parentID="R:0/0" restricted="true"><dc:title>WDR2 Ruhrgebiet</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>','Recurrence_Monday' => 0}}
    ..und das scheint nicht korrekt zu sein. Ich hätte erwartet, dass bei den Wochentagen Mo-Fr. eine "1" steht, oder ist das richtig?

    Auf jeden Fall werden alle Wekcher bei mir im Sonos so dargestellt. In der Controller-App ist es korrekt, Mo-Fr.

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 März 2015, 18:21:06
    Hi Christian,

    das vermutest du richtig :)
    Ich habe das versucht, bei mir nachzustellen. Allerdings funktioniert es bei mir Erwartungsgemäß sowohl beim Ändern über das iPad als auch über mein Android-Smartphone...

    Kannst du mal ein verbose 5 Log des SubProzesses machen, und dort die Zeilen, die mit "Alarm-Event:" anfangen rauskopieren?
    Da sind dann auch die Rohdaten, die ich von Sonos geliefert bekomme, mit dabei, sowie die von mir daraus erkannten Informationen. Dann kann ich vielleicht erkennen, was er bei dir falsch macht.
    Am Besten du änderst während des loggens auch deinen Alarm einmal über die Controller-App...

    Danke schon mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 16 März 2015, 18:29:44
    Zitat von: Reinerlein am 15 März 2015, 18:43:45
    Hi Detlef,

    Da könntest du mal den Verbose-Level am Sonos-Device hochsetzen. Dann sieht man auch die Proxy-Zugriffe bzw. die Erzeugung der Proxy-URLs.
    Da müsste dann irgendwas stehen, dass er ein Icon nicht ermitteln konnte.

    Habe mal nen Trace gemacht. Allerdings werd ich nicht schlau draus..  :-[

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 März 2015, 19:40:42
    Hi Detlef,

    es scheint so zu sein, dass der Player mit der IP "192.168.10.150" nichts mit der Spotify-Cover-Anfrage anfangen kann.
    Ich schaue mal, ob ich da eine Ungereimtheit im Code finden kann...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 16 März 2015, 19:43:38
    Zitat von: Reinerlein am 16 März 2015, 18:21:06
    Hi Christian,

    das vermutest du richtig :)
    Ich habe das versucht, bei mir nachzustellen. Allerdings funktioniert es bei mir Erwartungsgemäß sowohl beim Ändern über das iPad als auch über mein Android-Smartphone...

    Kannst du mal ein verbose 5 Log des SubProzesses machen, und dort die Zeilen, die mit "Alarm-Event:" anfangen rauskopieren?
    Da sind dann auch die Rohdaten, die ich von Sonos geliefert bekomme, mit dabei, sowie die von mir daraus erkannten Informationen. Dann kann ich vielleicht erkennen, was er bei dir falsch macht.
    Am Besten du änderst während des loggens auch deinen Alarm einmal über die Controller-App...

    Danke schon mal...

    Grüße
    Reiner

    Hi Reiner,
    meinst Du das SONOS-Device mit verbose 5?
    Christian.
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 16 März 2015, 19:47:53
    Zitat von: Reinerlein am 16 März 2015, 19:40:42
    Hi Detlef,

    es scheint so zu sein, dass der Player mit der IP "192.168.10.150" nichts mit der Spotify-Cover-Anfrage anfangen kann.
    Ich schaue mal, ob ich da eine Ungereimtheit im Code finden kann...

    Grüße
    Reiner

    Die ...150 ist der Player an den ich die Anfrage stelle (Kueche).
    Wenn der Proxy deaktiviert ist, klappt einwandfrei.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 März 2015, 19:49:52
    Hi Christian,

    genau, und dann die Konsolenausgabe des SubProzesses.
    Aber Vorsicht, das wird eine sehr lange Ausgabe :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 16 März 2015, 19:59:26
    Hi,
    bin zu doof!
    Habe verbose auf 5 gestellt und einen neuen Timer angelegt.
    Hier die Ausgabe im Event-Log. Das ist aber keine lange Liste. Oder muss ich global auch auf 5 setzten?

    Events:
    2015-03-16 19:56:18 SONOSPLAYER OG.bz.SON.ZP_S1 AlarmListVersion: RINCON_000E58C4F42E01400:16
    2015-03-16 19:56:18 SONOSPLAYER OG.br.SON.ZP_S3 AlarmListVersion: RINCON_000E58C4F42E01400:16
    2015-03-16 19:56:18 SONOSPLAYER OG.br.SON.ZP_S3 currentPlaying: kein Titel
    2015-03-16 19:56:18 SONOSPLAYER OG.br.SON.ZP_S3 currentX: nichts
    2015-03-16 19:56:19 SONOSPLAYER OG.kz.SON.ZP_S1 AlarmListVersion: RINCON_000E58C4F42E01400:16
    2015-03-16 19:56:19 SONOSPLAYER EG.wz.SON.SUB AlarmListVersion: RINCON_000E58C4F42E01400:16
    2015-03-16 19:56:20 SONOSPLAYER OG.sz.SON.ZP_S1_R AlarmListVersion: RINCON_000E58C4F42E01400:16
    2015-03-16 19:56:20 SONOSPLAYER DG.kz.SON.ZP_S1 AlarmListVersion: RINCON_000E58C4F42E01400:16
    2015-03-16 19:56:20 SONOSPLAYER KG.sk.SON.ZP_S3 AlarmList: {'16' => {'Recurrence_Thursday' => 0,'IncludeLinkedZones' => '1','Volume' => '5','Shuffle' => 1,'Recurrence_Wednesday' => 0,'ProgramURI' => 'x-sonosapi-stream:s99166?sid=254&flags=32&sn=0','Repeat' => 0,'Recurrence_Once' => 0,'StartTime' => '07:00:00','Duration' => '','Recurrence_Sunday' => 0,'Enabled' => '1','Recurrence_Friday' => 0,'Recurrence_Saturday' => 0,'Recurrence_Tuesday' => 0,'RoomUUID' => 'RINCON_000E58F224CE01400','ProgramMetaData' => 'WDR2 Ruhrgebietobject.item.audioItem.audioBroadcastSA_RINCON65031_','Recurrence_Monday' => 0}}
    2015-03-16 19:56:20 SONOSPLAYER KG.sk.SON.ZP_S3 AlarmListIDs: 16
    2015-03-16 19:56:20 SONOSPLAYER KG.sk.SON.ZP_S3 AlarmListVersion: RINCON_000E58C4F42E01400:16
    2015-03-16 19:56:21 SONOSPLAYER EG.wz.SON.ZP_120 AlarmListVersion: RINCON_000E58C4F42E01400:16
    2015-03-16 19:56:21 SONOSPLAYER OG.sz.SON.ZP_S1_L AlarmListVersion: RINCON_000E58C4F42E01400:16

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 16 März 2015, 20:02:22
    Hallo Reiner,

    es sind tatsächlich nur die Playlisten die auf Spotify verweisen.
    Eigenartigerweise passiert das nicht bei Favoriten die auch auf Spotify liegen.
    Wenn ich aber eine Playlist als Favorit speichere, kommt dann auch kein Cover.

    Wenns ein komplettes Album ist, und die Playlist auch den Namen des Albums hat, scheints zu gehen.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 März 2015, 20:14:20
    Hi Christian,

    das ist das Log von fhem. Wir brauchen hier die Konsolenausgabe des SubProzesses.
    Im Wiki unter http://www.fhemwiki.de/wiki/SONOS#Fehlersuche (http://www.fhemwiki.de/wiki/SONOS#Fehlersuche) gibt es eine kurze Beschreibung zum Vorgehen dazu...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 März 2015, 21:33:26
    Hi Detlef,

    mir scheint, als würde bei dir die TrackURI anders als erwartet aussehen.

    Kannst du auch mal ein 5er Konsolenlog erzeugen?
    Am meisten interessieren mich erstmal die Ausgaben, die mit "MakeCoverURL" anfangen.

    Wie gut, dass das Modul soviel loggen kann :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 16 März 2015, 21:51:35
    Zitat von: Reinerlein am 16 März 2015, 21:33:26
    Kannst du auch mal ein 5er Konsolenlog erzeugen?

    Da isser:

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 16 März 2015, 21:59:19
    Hallo Reinerlein,
    ich hänge es doch mal hier rein!
    Die entscheiden Stelle beginnt m.E. um 2015.03.16 20:28:55
    Den Wecker habe ich im Terrassen-Sonos angelegt. Er hat die ID 19.

    Vielleicht findest Du ja etwas,
    Gruß,
    Christian

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 März 2015, 22:36:49
    Hi Christian,

    ich habe das Problem gefunden. Die von Sonos haben bei irgendeinem Update eine andere Notation eingeführt.
    Dadurch wird, wenn man alle Wochentage verwendet, "WEEKDAYS" eingetragen, und wenn man nur die Wochenendtage verwendet, "WEEKENDS".

    Ich habe das jetzt im Code dafür angepasst, würde aber vor einer Veröffentlichung gerne noch das Thema von Detlef lösen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 16 März 2015, 22:40:56
    Hallo Reiner,
    das ist ja prima! Aber wieso läuft das bei Dir korrekt? Hast Du noch die alter 4.x-er Firmware?
    Ich habe damals lange gezögert und dann doch irgendwann auf die 5.x-er gewechselt.

    Gruß,
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 März 2015, 22:57:36
    Hi Christian,

    nee, ich bin da auch aktuell, nur habe ich einfach das vermeintlich kompliziertere getestet, indem ich genau *nicht* jeden Wochentag aktiviert habe :)
    So ist das mit Tests... es sind halt keine Beweise ;D

    Wenn du einen Wochentag rausnimmst, oder einen Tag des Wochenendes dazu (nicht alle Tage auswählen, das geht dann auch wieder nicht), dann geht es auch bei dir...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: DieterL am 23 März 2015, 16:01:26
    Hallo Reinerlein.....von mir einen persönlichen Dank für deine Bemühungen hier- echt super.
    Hab da noch eine Frage, wenn ich Musik abspiele, bekomme ich in der Fhem Oberfläche keinen Titel, oder Interpreten angezeigt. Muss man da noch etwas machen ?
    Gruß Dieter
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 März 2015, 17:14:36
    Hi Dieter,

    im Normalfall sollten beim Anlegen des Players verschiedene Dinge gleichzeitig mit angelegt worden sein.
    Zum Einen wäre das eine ReadingsGroup für die Titel- und Coveranzeige und zum Anderen ein RemoteControl mit Steuertasten für den Player.

    Wie wurde das denn bei dir angelegt? Kannst du sonst mal einen Screenshot anhängen, wie deine Sonos-Raumübersicht in Fhem aussieht?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: DieterL am 23 März 2015, 17:37:29
    hier mein Screenshot.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 März 2015, 18:06:12
    Hi Dieter,

    hast du vielleicht nach dem Erkennen durch das Modul die Seiten der Player vertauscht?
    Zumindest sieht es danach aus.

    Bei einem Stereopaar ist der linke Player der Master, und enthält damit auch die Titelinformationen. Die rechte Seite ist ein Gruppenmitglied (wie auf dem Screenshot) und enthält damit keinerlei Titelinformationen.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: DieterL am 23 März 2015, 18:32:15
    poah, ich bin sprachlos. genau das war es.
    Reiner, nochmals vielen vielen Dank, du bist der Beste  :)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 März 2015, 18:44:42
    Schön... manche Dinge erledigen sich schneller als andere :)
    Titel: Antw:Sonos steuern
    Beitrag von: DerJens am 24 März 2015, 17:18:19
    Hallo,

    ich wollte kurz nachfragen: Seit einigen Tagen läuft mein Log zu mit folgenden Meldungen:
    Loading device description failed with error: 500 Can't connect to 192.168.1.21:2869 (timeout) at ./FHEM/00_SONOS.pm line 3636 thread 1
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:49152 (timeout) at ./FHEM/00_SONOS.pm line 3636 thread 1


    Ich alle Rechner sind im Subnetz 192.168.1.0, die .21 ist allerdings eine Windows Workstation und Geräte im Subnetz 10.0.0.0 habe ich gar nicht. Mein Sonossystem besteht derzeit aus 3x Play1 und 2x Bridge, die alle ordentlich eine IP per DHCP zugewiesen bekommen.

    Wo kommen denn diese Geistereinträge her und viel wichtiger: Was muss ich tun um die loszuwerden?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 März 2015, 09:36:40
    Hallo DerJens,

    hier war ja noch was offen :)

    Manchmal scheinen sich die Player bereits mit einer temporären Adresse zu melden und das nicht mehr zu korrigieren, wenn sie eine neue bekommen.
    Und manchmal scheint sich auch ein Nicht-Sonos-Player reinzuschummeln.

    In bißchen kannst du das in den Griff bekommen, indem du z.B. die 10er IP-Adresse (und die deines normalen Computers) in das Attribut "ignoredIPs" am Sonos-Device schreibst. Damit werden diese zumindest ignoriert.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 26 März 2015, 11:10:57
    Hallo Reinerlein,
    ich auch mal wieder mit dem leider immer noch vorhandenem problem im Log - sollte das Modul nicht irgendwann mal verstehen das der Player nicht erreichbar ist - und ihn rauswerfen?
    Ich habe das jetzt extra in Code Brackets gesetzt damit der Beitrag nicht soo groß wird.



    2015.03.25 23:08:09 1: Perfmon: possible freeze starting at 23:08:08, delay is 1.075
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3487 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.52:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3471 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3455 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3439 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3423 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3407 thread 1
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.53:1400 (No route to host) at ./FHEM/00_SONOS.pm line 3391 thread 1
    2015.03.25 12:46:28 1: Perfmon: possible freeze starting at 12:46:27, delay is 1.015
    Renewal of subscriptio
    Titel: Antw:Sonos steuern
    Beitrag von: Firelight am 26 März 2015, 21:11:15
    Hallo,

    Ich bin schon seit einige zeit am versuchen das Sonos modul zu configurieren aber ich bekomme es einfach nicht hin. Ich würde gerne eine sprachausgabe haben an diesen lautsprecher. Bedienen kann ich den lautsprecher aber er sagt immer etwas von 404 Not Found. Was mache ich hier falsch?

    set Sonos_Wohnzimmer Speak \45 de Das hier ist ein Test.

    Speak0: MP3-Creation ERROR during downloading: 404 Not Found



    define Sonos SONOS localhost:4711 30
    attr Sonos Speak1 mp3:/usr/bin/espeak -v %language% --stdout "%text%" | /usr/bin/avconv -i - %filename%
    attr Sonos group Multimedia
    attr Sonos room Woonkamer
    attr Sonos targetSpeakDir /mnt/SonosSpeak
    attr Sonos targetSpeakFileHashCache 1
    attr Sonos targetSpeakMP3FileDir /mnt/SonosSpeak
    attr Sonos targetSpeakURL \\192.168.178.25\SonosSpeak
    define Sonos_Woonkamer SONOSPLAYER RINCON_B8E937BB2BF401400_MR
    attr Sonos_Woonkamer alias Woonkamer
    attr Sonos_Woonkamer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Woonkamer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Woonkamer generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Woonkamer generateVolumeSlider 1
    attr Sonos_Woonkamer getAlarms 1
    attr Sonos_Woonkamer group Woonkamer
    attr Sonos_Woonkamer icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Woonkamer minVolume 0
    attr Sonos_Woonkamer model Sonos_S1
    attr Sonos_Woonkamer room Sonos
    attr Sonos_Woonkamer sortby 1
    attr Sonos_Woonkamer stateVariable Presence
    attr Sonos_Woonkamer userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Woonkamer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Woonkamer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Woonkamer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Woonkamer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }
    define Sonos_WoonkamerRG readingsGroup Sonos_Woonkamer:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>
    attr Sonos_WoonkamerRG group Woonkamer
    attr Sonos_WoonkamerRG noheading 1
    attr Sonos_WoonkamerRG nonames 1
    attr Sonos_WoonkamerRG room Sonos
    attr Sonos_WoonkamerRG sortby 2
    define Sonos_WoonkamerRG_Favourites readingsGroup Sonos_Woonkamer:<{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>
    define Sonos_WoonkamerRG_Radios readingsGroup Sonos_Woonkamer:<{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>
    define Sonos_WoonkamerRG_Playlists readingsGroup Sonos_Woonkamer:<{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>
    define Sonos_WoonkamerRC remotecontrol
    attr Sonos_WoonkamerRC group Sonos
    attr Sonos_WoonkamerRC rc_iconpath icons/remotecontrol
    attr Sonos_WoonkamerRC rc_iconprefix black_btn_
    attr Sonos_WoonkamerRC room hidden
    attr Sonos_WoonkamerRC row00 Play:rc_PLAY.svg,Pause:rc_PAUSE.svg,Previous:rc_PREVIOUS.svg,Next:rc_NEXT.svg,:blank,VolumeD:rc_VOLDOWN.svg,VolumeU:rc_VOLUP.svg,:blank,MuteT:rc_MUTE.svg,ShuffleT:rc_SHUFFLE.svg,RepeatT:rc_REPEAT.svg
    define Sonos_WoonkamerRC_Notify notify Sonos_WoonkamerRC set Sonos_Woonkamer $EVENT
    define Sonos_WoonkamerRC_Weblink weblink htmlCode {fhem("get Sonos_WoonkamerRC htmlcode", 1)}
    attr Sonos_WoonkamerRC_Weblink group Woonkamer
    attr Sonos_WoonkamerRC_Weblink room Sonos
    attr Sonos_WoonkamerRC_Weblink sortby 3
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 März 2015, 21:47:16
    Halle Firelight,

    der Backslash in deiner Anweisung gehört dort nicht hin. Im Wiki sind diese Backslashs immer am Zeilenende und sollen eben diesen maskieren.
    Ich empfehle grundsätzlich (das steht auch ab und an auf der Wiki-Seite :) ) ohne Backslashs zu arbeiten. Leider passen die Beispiele sonst nicht mehr in eine Zeile und werden noch unübersichtlicher...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 26 März 2015, 21:47:55
    Dein Player heißt doch gar nicht "Sonos_Wohnzimmer" sondern "Sonos_Woonkamer".

    Versuchs mal mit : "set Sonos_WoonkammerSpeak 45 de Das hier ist ein Test."

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 26 März 2015, 21:48:54
    btw. Es geht bei mir auch mit dem /

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 26 März 2015, 21:53:58
    Ich habe das Problem, das meine "Favourits" Playlist nicht mehr gefüllt wird.

    Habe nichts daran geändert, und die Readings im Player sind da und werden aktualisiert (get Sonos_Kueche FavouritsWithCovers)
    Das Problem ist nur bei den Favourites nicht bei Radios und Playlists.

    Hier die config:

    Internals:
       DEF        Sonos_Kueche:<{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>
       NAME       Sonos_KuecheRG_Favourites
       NR         487
       NTFY_ORDER 50-Sonos_KuecheRG_Favourites
       STATE      Initialized
       TYPE       readingsGroup
       mayBeVisible 1
       CHANGETIME:
       Content:
         Sonos_Kueche 1
       Content2:
       DEVICES:
         ARRAY(0x7dd3e58)
       Helper:
         Dblog:
           Sonos_kueche.i1.item:
             Dblog:
               TIME       1427402411.48571
               VALUE      <ERROR>
           Sonos_wohnzimmer.i1.item:
             Dblog:
               TIME       1427394797.76017
               VALUE      <ERROR>
           Visibility:
             Dblog:
               TIME       1427395381.04698
               VALUE      toggle2
       Fhem:
         lastDefChange 69
         last_update 1427402105.99577
       Helper:
         DEF
    Attributes:
       alias      Favoriten
       fp_Media   696,186,0,,
       nonames    1
       room       Media


    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 26 März 2015, 22:08:30
    Zitat von: Reinerlein am 16 März 2015, 22:36:49
    ...Ich habe das jetzt im Code dafür angepasst, würde aber vor einer Veröffentlichung gerne noch das Thema von Detlef lösen.

    Und, bist Du der dem Problem auf der Spur?

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 März 2015, 00:39:51
    Hi Detlef,

    ich hatte etwas wenig Zeit zur Verfügung, habe das Thema aber eigentlich durch. Ich teste gerade noch diverse Playlist- (und andere Cover-) Varianten durch.
    Ich gehe aber davon aus, dass es noch diesen Monat (sprich zum Wochenende hin) eingecheckt wird...

    Warum aber deine Liste nicht mehr angezeigt wird, kann ich dir jetzt leider auch nicht sagen... Das sieht auch soweit alles korrekt aus.
    Steht denn irgendwas im Log dazu?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 27 März 2015, 08:27:59
    Werd am Wochenende mal weiter forschen.
    Titel: Antw:Sonos steuern
    Beitrag von: Laffer72 am 27 März 2015, 10:44:37
    Hallo Reinerlein,

    bei mir taucht in schöner Regelmäßigkeit immer wieder die u.a. Fehlermeldung im Log auf.

    2015.03.27 10:00:05 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2015.03.27 10:00:06 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 7.
    2015.03.27 10:00:07 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 7.
    2015.03.27 10:00:15 3: SONOS3: Restorethread has found a job. Waiting for stop playing...
    2015.03.27 10:00:16 3: SONOS3: Restoring playerstate...
    2015.03.27 10:00:16 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".


    So richtig bin ich mit der Suche nicht fündig geworden. Ist das eine Meldung, die ich ignorieren kann, oder muss ich mir Gedanken machen.
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 27 März 2015, 11:29:17
    die meldung ist meiner meinung nach ein fehler im einem der low level perl module und nicht sonos spezifisch. ich hatte hier: http://forum.fhem.de/index.php/topic,10033.msg259741.html#msg259741 (http://forum.fhem.de/index.php/topic,10033.msg259741.html#msg259741) schon mal etwas dazu geschrieben.

    gruss
      andre
    Titel: Volume Ramp-up time
    Beitrag von: Loredo am 27 März 2015, 13:51:41
    Hallo Reinerlein,


    ich habe bei meinem Weckprogramm die Ramp-up Funktion für Volume verwendet:



    set Sonos_Bedroom:FILTER=Volume>2 Volume 2; sleep 1; set Sonos_Bedroom:FILTER=Shuffle=0 Shuffle 1; sleep 1; set Sonos_Bedroom StartFavourite Morning%20Sounds; sleep 4; set Sonos_Bedroom Volume 8 290



    Demnach sollte er innerhalb von 290 Sekunden von Volume=2 auf Volume=8 hoch tunen. Im Logfile erscheint auch folgendes:



    2015.03.27 13:46:31 4: SONOS0: DoWorkAnswer arrived for Sonos_Bedroom->LastActionResult: 'SetVolume: Ramp to 8 with Type 60 started'



    Allerdings wird die Musik leider nicht lauter und bleibt auf 2  :'(
    Ich wenn ich eine geringere Ramp-up Time verwende wie z.B. 10 Sekunden wird die Musik nicht lauter.


    Schätze das ist ein Bug?




    Gruß
    Julian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 März 2015, 14:30:26
    Hi Julian,

    man kann bei Sonos keine Ramptime angeben. Der Wert ist ein Ramptype, der für ein bestimmtes Zeitverhalten steht.
    Die möglichen Zahlen-Werte sind:
    1 (SLEEP_TIMER_RAMP_TYPE)
    2 (AUTOPLAY_RAMP_TYPE)
    3 (ALARM_RAMP_TYPE)

    Du hast also eine Lautstärke mit 8 angegeben, und einen Ramptype von 60, mit dem der Sonosplayer anscheinend nichts anfangen kann.
    Ich hatte das bewusst offen gelassen (und keine Fehlermeldung wegen des Verlassens des zulässigen Zahlenbereichs erzeugt), um zukünftige Möglichkeiten der Player direkt zu unterstützen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 27 März 2015, 14:34:01
    ah, danke dir. Das könnte auch das ein oder andere seltsame Verhalten erklären (was ich jetzt konkret gar nicht so aus dem Ärmel beschreiben kann).
    Dann muss ich wohl etwas anderes dafür basteln, dank dir ;-)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 März 2015, 19:47:07
    Hi der-Lolo,

    ich habe gerade nochmal beim Erneuerungsmechanismus nachgeschaut. Eigentlich sollte diese Meldung nur einmal kommen.
    Kommt denn in der Konsolenausgabe bei Level 3 eine Ausgabe, die z.B. mit "Error! Transport-Subscription for ZonePlayer..." beginnt?

    Damit reagiere ich auf einen Fehler beim Erneuern. Aber vielleicht wird da gar nicht in meine Fehlerbehandlung verzweigt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 28 März 2015, 08:31:05
    Das Problem mit der Readingsgroup der Favoriten ist gefixt.
    Auf den Testsystem auf dem nur das Sonos Modul installiert war,hat es sich genau so verhalten.
    Ich habe dann alle Favoriten auf dem Sonos System gelöscht.
    Neue werden jetzt wieder angezeigt, allerdings nimmt er jetzt das Cover des letzten Titels.  :o


    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 März 2015, 12:22:40
    Hallo zusammen,

    ich habe gerade die beiden Anpassungen eingecheckt:
    - Alarm-Intervalle (Tage) werden wieder korrekt verarbeitet
    - Playlist-Cover (bei Abfrage von "get PlaylistsWithCovers") werden nun auch angezeigt, wenn der erste Titel der Liste ein Spotify-Titel ist.

    Wie immer ab sofort im SVN oder ab Morgen im Update.

    @Detlef: Das mit der anderen Reihenfolge, bzw. dem Cover des letzten Titels kann ich mir gar nicht erklären.
    Ich habe mal versucht, die Liste in umgekehrter Reihenfolge vom Player zu erhalten. Das ist mir nicht gelungen. Ich bekomme die immer auf die gleiche Art vom Player, unbeeinflussbar von meiner Anfrage.
    Ist das irgendwie reproduzierbar und/oder beziehbar auf bestimmte Einstellungen am Controller oder Player?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 28 März 2015, 12:43:08
    Hallo Reiner,

    das Proxy Problem ist immer noch da :-(

    Bezüglich der Reihenfolge habe ich nichts verändert. Die gleiche Liste wird und als Playlist auch mit dem ersten Cover angezeigt.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 28 März 2015, 12:47:51
    Hier noch das aktuelle Reading "Favourites":
    {'SQ:9' => {'Title' => 'Best ever','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a3wAQZnWLBPUYkDoD3yZL0n%253fsid%253d9%2526flags%253d32'},'SQ:41' => {'Title' => 'Save_SZ','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a3DNCbXN9JUdlRQ6VZ9o5FL%253fsid%253d9%2526flags%253d32'},'SQ:11' => {'Title' => 'George Duke','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a1SKMFMjpxGm4VLSMGktRXb%253fsid%253d9%2526flags%253d32'},'SQ:24' => {'Title' => 'The Who','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a04h6pP5ccXunEeQpAgmjAg%253fsid%253d9%2526flags%253d32%2526sn%253d1'},'SQ:5' => {'Title' => 'Smooth','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fu%3Dx-file-cifs%253a%252f%252fDS%252fMusik%252fMusik%252fThe%252520Rebirth%252fThe%252520Rebirth%252520-%252520This%252520Journey%252520in.mp3%26amp%3Bv%3D112'},'SQ:49' => {'Title' => 'Save_KU','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a1w6mAvyNmkd9TOjSCOofsT%253fsid%253d9%2526flags%253d32%2526sn%253d1'},'SQ:40' => {'Title' => 'Save_WZ','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a75pmsD8HuA8YwUTyyZ5iQl%253fsid%253d9%2526flags%253d32%2526sn%253d1'},'SQ:43' => {'Title' => 'Liquid Spirit','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a1vjKmL3b6pURxzakZ3PFhL%253fsid%253d9%2526flags%253d32%2526sn%253d1'},'SQ:20' => {'Title' => 'Tom Browne','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fu%3Dx-file-cifs%253a%252f%252fDS%252fMusik%252fMusik%252fTom%252520Browne%252fR%252520%26apos%3BN%26apos%3B%252520Browne%252f01%252520-%252520R%252520%26apos%3BN%26apos%3B%252520Browne%252520-%252520Tom%252520browne%252520-%252520Joy%252520And%252520Pain.mp3%26amp%3Bv%3D112'},'SQ:21' => {'Title' => 'Mark Ronson','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a41RffU6OSMWONC8uTjyude%253fsid%253d9%2526flags%253d32%2526sn%253d1'},'SQ:48' => {'Title' => 'Chet live','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fu%3Dx-file-cifs%253a%252f%252fDS%252fMusik%252fMusik%252fChet%252520Baker%252fChet%252520Baker%252520Live%252520In%252520Tokyo%252520Disc1%252f01%252520-%252520Chet%252520Baker%252520-%252520Stella%252520By%252520Starlight.mp3%26amp%3Bv%3D112'},'SQ:46' => {'Title' => 'Lizzy Loeb','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a1w6mAvyNmkd9TOjSCOofsT%253fsid%253d9%2526flags%253d32%2526sn%253d1'},'SQ:42' => {'Title' => 'Givin&apos; It Up','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a3RVSEy3yLO4ZvAYCb8l6ru%253fsid%253d9%2526flags%253d32%2526sn%253d1'},'SQ:22' => {'Title' => 'Wallflower','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fr%3D1%26amp%3Bu%3Dnpsdy%253aTra.163140213.mp3%253fsn%253d4'},'SQ:23' => {'Title' => 'The Tubes','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a0IJPu1GTh4qCLu5GDFaHJx%253fsid%253d9%2526flags%253d32%2526sn%253d1'},'SQ:12' => {'Title' => 'Sunday','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a5yGp8nVFsMvMqwNz8of5pj%253fsid%253d9%2526flags%253d32'},'SQ:25' => {'Title' => 'Nicole Henry','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a4w9dr6jJEq9Jf5vpvYKppC%253fsid%253d9%2526flags%253d32%2526sn%253d1'},'SQ:7' => {'Title' => 'Klassik','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a4plzu05eiiDWotbl0a6krB%253fsid%253d9%2526flags%253d32'},'SQ:47' => {'Title' => 'Fourplay','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a1hl5nvhsNFgnGjvDiIWwgw%253fsid%253d9%2526flags%253d32%2526sn%253d1'},'SQ:45' => {'Title' => 'Omar','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a1bpSSxbnXohlqOhIWTdsBJ%253fsid%253d9%2526flags%253d32%2526sn%253d1'},'SQ:4' => {'Title' => 'Funky','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fu%3Dx-file-cifs%253a%252f%252fDS%252fMusik%252fMusik%252fBeggar%252520%252526%252520Co%252fAnthology%252520Addicted%252520to%252520Funk%252520-%252520CD2%252f01%252520-%252520%28Somebody%29%252520Help%252520Me%252520Out.mp3%26amp%3Bv%3D112'},'SQ:13' => {'Title' => 'Starred','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a0XuWfUqYvZZJ9M1umO88qS%253fsid%253d9%2526flags%253d32'},'SQ:6' => {'Title' => 'Chaka','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26amp%3Bu%3Dx-sonos-spotify%253aspotify%25253atrack%25253a4pV273HElzJbZAmnOhMI2a%253fsid%253d9%2526flags%253d32'}}
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 März 2015, 12:52:24
    Hi Detlef,

    du hast jetzt schon ein Update aus dem SVN durchgeführt, und Fhem neugestartet?
    Das ging ja fix :)

    Anschließend musst du die "...WithCovers"-Abfrage natürlich einmal neu durchführen, damit meine Änderungen auch das Reading aktualisieren können...

    Kannst du mir danach mal das Reading hier posten, mit dem Hinweis, welche den Spotify-Titel enthält?

    Dann schaue ich mal, was er da bei dir erzeugt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 28 März 2015, 12:56:06
    Entwarnung!

    Hatte alles bereits so gemacht, aber ein kompletter Neustart auf OS Ebene hat was gebracht.
    Es werden jetzt 4 Cover nicht angezeigt, die werde ich mal genauer untersuchen.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 28 März 2015, 13:08:20
    Bei den Listen wo kein Cover angezeigt wird, steht auch nur folgendes im Reading:

    ...SQ:50' => {'Cover' => '/fhem/sonos/proxy/aa?url=','Title' => 'Benson'...

    Es feht die komplette URL

    Und, der alte Fehler ist noch da bei Napster Links.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 März 2015, 13:32:07
    Hi Detlef,

    da ich kein Napster habe, müsstest du mir ein paar Logs liefern :)

    Auf der Konsole kommen auf Level 5 Nachrichten der Art "MakeCoverURL-Before:" und "MakeCoverURL-After:" raus.
    Die bräuchte ich, um zu untersuchen, was er eigentlich versucht und macht...
    Wo kommen denn die Titel her, für die momentan gar keine URL erzeugt wird (dein Beispiel)?

    Danke schon mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 28 März 2015, 13:42:38
    Die ganz ohne sind Alben aus Spotify.
    Es ist aber kein grundsätzlicher Fehler, da manche Alben gehen.

    Das NApster Thema ist für mich nicht wichtig, da ich daa eh nur einen Testacount habe.
    Falls Du da aber was brauchst, mache ich gerne einen Log fertig.

    Gruß Detlef 
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 März 2015, 13:56:23
    Hi Detlef,

    kannst du mir die currentTrackURI des ersten Titels der Listen zukommen lassen, die nicht gehen?

    Dann kann ich das bei mir mal nachstellen.

    Ich würde sagen, dann lassen wir Napster erstmal, bis es jemand auch wirklich braucht :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 28 März 2015, 14:13:29
    Hier erst mal der Log:

    detlef@VM-fhem:/opt/fhem$ 2015.03.28 14:11:27 3: SONOS0: Connection accepted from localhost:55296
    2015.03.28 14:11:27 5: SONOS0: Received: 'hello'
    2015.03.28 14:11:27 5: SONOS0: Received: 'goaway'
    2015.03.28 14:11:28 4: SONOS2: IsAlive-Event UDN=RINCON_000E5843DE4001400_MR
    2015.03.28 14:11:28 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5843DE4001400_MR, reading, location, ) -> http://192.168.10.155:1400/xml/device_description.xml
    2015.03.28 14:11:28 5: SONOS2: Location: http://192.168.10.155:1400/xml/device_description.xml
    2015.03.28 14:11:28 5: SONOS2: PingType: icmp
    2015.03.28 14:11:28 4: SONOS2: 192.168.10.155 is alive
    2015.03.28 14:11:28 4: SONOS2: IsAlive-Event UDN=RINCON_000E58F171D401400_MR
    2015.03.28 14:11:28 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E58F171D401400_MR, reading, location, ) -> http://192.168.10.150:1400/xml/device_description.xml
    2015.03.28 14:11:28 5: SONOS2: Location: http://192.168.10.150:1400/xml/device_description.xml
    2015.03.28 14:11:28 5: SONOS2: PingType: icmp
    2015.03.28 14:11:28 4: SONOS2: 192.168.10.150 is alive
    2015.03.28 14:11:28 4: SONOS2: IsAlive-Event UDN=RINCON_000E58C27EF401400_MR
    2015.03.28 14:11:28 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E58C27EF401400_MR, reading, location, ) -> http://192.168.10.152:1400/xml/device_description.xml
    2015.03.28 14:11:28 5: SONOS2: Location: http://192.168.10.152:1400/xml/device_description.xml
    2015.03.28 14:11:28 5: SONOS2: PingType: icmp
    2015.03.28 14:11:28 4: SONOS2: 192.168.10.152 is alive
    2015.03.28 14:11:28 4: SONOS2: IsAlive-Event UDN=RINCON_000E58A9E70A01400_MR
    2015.03.28 14:11:28 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E58A9E70A01400_MR, reading, location, ) -> http://192.168.10.151:1400/xml/device_description.xml
    2015.03.28 14:11:28 5: SONOS2: Location: http://192.168.10.151:1400/xml/device_description.xml
    2015.03.28 14:11:28 5: SONOS2: PingType: icmp
    2015.03.28 14:11:28 4: SONOS2: 192.168.10.151 is alive
    2015.03.28 14:11:33 5: SONOS0: Received: 'DoWork:RINCON_000E58F171D401400_MR:getPlaylistsWithCovers:'
    2015.03.28 14:11:33 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:34 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#50
    2015.03.28 14:11:34 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:34 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:34 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=
    2015.03.28 14:11:34 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#9
    2015.03.28 14:11:34 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:35 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:35 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2F095a6bc59214f31eccb1a9735549982f5876d481
    2015.03.28 14:11:35 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#6
    2015.03.28 14:11:35 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:35 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:35 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2Fef01c0ba8a5f5e4e687e43474e8f12f41322194c
    2015.03.28 14:11:35 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#48
    2015.03.28 14:11:35 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:35 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E58F171D401400_MR, reading, location, ) -> http://192.168.10.150:1400/xml/device_description.xml
    2015.03.28 14:11:35 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:35 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fu%3Dx-file-cifs%253a%252f%252fDS%252fMusik%252fMusik%252fChet%2520Baker%252fChet%2520Baker%2520Live%2520In%2520Tokyo%2520Disc1%252f01%2520-%2520Chet%2520Baker%2520-%2520Stella%2520By%2520Starlight.mp3%26amp%3Bv%3D112
    2015.03.28 14:11:35 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#47
    2015.03.28 14:11:35 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:36 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:36 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2Ffa991366d876f715589ac13ad25b59cb7eccbec8
    2015.03.28 14:11:36 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#4
    2015.03.28 14:11:36 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:36 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E58F171D401400_MR, reading, location, ) -> http://192.168.10.150:1400/xml/device_description.xml
    2015.03.28 14:11:36 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:36 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fu%3Dx-file-cifs%253a%252f%252fDS%252fMusik%252fMusik%252fBeggar%2520%2526%2520Co%252fAnthology%2520Addicted%2520to%2520Funk%2520-%2520CD2%252f01%2520-%2520%28Somebody%29%2520Help%2520Me%2520Out.mp3%26amp%3Bv%3D112
    2015.03.28 14:11:36 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#11
    2015.03.28 14:11:36 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:36 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:36 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2F75b4f667262e3391c2e217839c7cd117cd47ffd6
    2015.03.28 14:11:36 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#7
    2015.03.28 14:11:36 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:37 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:37 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2F3bd8537ecacecebc127c43b9d60e3e7cb1b88b14
    2015.03.28 14:11:37 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#43
    2015.03.28 14:11:37 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:37 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:37 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2F1ce48449a0c03e8714100dffab0e15093c533823
    2015.03.28 14:11:37 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#51
    2015.03.28 14:11:37 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:38 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:38 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=
    2015.03.28 14:11:38 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#21
    2015.03.28 14:11:38 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:38 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:38 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2F3b5c6e9547bead2f50bab62c1100c8c4425e1b81
    2015.03.28 14:11:38 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#25
    2015.03.28 14:11:38 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:39 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:39 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2Fe273aa32a1811b0b534909efaf906c6e9bb2b333
    2015.03.28 14:11:39 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#45
    2015.03.28 14:11:39 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:40 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:40 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2Fae803d6f87b96dbf13751a01577a35bb097607ee
    2015.03.28 14:11:40 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#41
    2015.03.28 14:11:40 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:40 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:40 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2Fb807d558ed201a7c09356a8864e52e43bc387c2a
    2015.03.28 14:11:40 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#40
    2015.03.28 14:11:40 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:41 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:41 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2Ff19f19c8eca717c392ae23ca437a1b0df5c99200
    2015.03.28 14:11:41 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#5
    2015.03.28 14:11:41 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:41 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E58F171D401400_MR, reading, location, ) -> http://192.168.10.150:1400/xml/device_description.xml
    2015.03.28 14:11:41 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:41 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fu%3Dx-file-cifs%253a%252f%252fDS%252fMusik%252fMusik%252fThe%2520Rebirth%252fThe%2520Rebirth%2520-%2520This%2520Journey%2520in.mp3%26amp%3Bv%3D112
    2015.03.28 14:11:41 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#13
    2015.03.28 14:11:41 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:41 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:41 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2Fb86125c07285074b989a426f801ab415143d1f50
    2015.03.28 14:11:41 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#12
    2015.03.28 14:11:41 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:42 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:42 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2F9302d3fe243eb3edb0f7737ea3c335a61cef3d33
    2015.03.28 14:11:42 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#23
    2015.03.28 14:11:42 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:42 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:42 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2Ff445ac6835124129053cda0966c509556a2b834e
    2015.03.28 14:11:42 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#24
    2015.03.28 14:11:42 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:43 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:43 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=https%3A%2F%2Fi.scdn.co%2Fimage%2F82ae77cb1812db079b94810dc35a46b6cd9e058b
    2015.03.28 14:11:43 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#20
    2015.03.28 14:11:43 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:43 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E58F171D401400_MR, reading, location, ) -> http://192.168.10.150:1400/xml/device_description.xml
    2015.03.28 14:11:43 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:43 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fu%3Dx-file-cifs%253a%252f%252fDS%252fMusik%252fMusik%252fTom%2520Browne%252fR%2520%26apos%3BN%26apos%3B%2520Browne%252f01%2520-%2520R%2520%26apos%3BN%26apos%3B%2520Browne%2520-%2520Tom%2520browne%2520-%2520Joy%2520And%2520Pain.mp3%26amp%3Bv%3D112
    2015.03.28 14:11:43 5: SONOS1: MakeCoverURL-Before: file:///jffs/settings/savedqueues.rsq#22
    2015.03.28 14:11:43 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7fa2cc2061d0)
    2015.03.28 14:11:43 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E58F171D401400_MR, reading, location, ) -> http://192.168.10.150:1400/xml/device_description.xml
    2015.03.28 14:11:43 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, generateProxyAlbumArtURLs, 0) -> 1
    2015.03.28 14:11:43 5: SONOS1: MakeCoverURL-After: /fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fr%3D1%26amp%3Bu%3Dnpsdy%253aTra.163140213.mp3%253fsn%253d4
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 28 März 2015, 14:15:40
    Zitat von: Reinerlein am 28 März 2015, 13:56:23
    Hi Detlef,

    kannst du mir die currentTrackURI des ersten Titels der Listen zukommen lassen, die nicht gehen?


    Klar, hier ist sie:

    x-sonos-spotify:spotify:track:1w6mAvyNmkd9TOjSCOofsT?sid=9&amp;flags=32&amp;sn=1

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Firelight am 28 März 2015, 21:34:11
    hallo Masterfunk,

    Ich habe eine fehlermeldung bekommen wenn ich set Sonos_Woonkamer speak 45 de Das hier ist ein test sende.

    LastActionResult
    PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2015-03-28 21:31:11


    Was könnte dies sein?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 März 2015, 21:44:52
    Hallo Firelight,

    das sieht danach aus, dass der Sonos-Player nicht auf die von dir konfigurierte Freigabe zugreifen kann, oder die Datei dort nicht abgelegt werden konnte...

    Bitte prüf nochmal genau die Dateirechte, ob der Sonos-Prozess schreibend in den Ordner zugreifen kann, und ob Sonos ohne Kennwort auf diese Datei (also über die Freigabe) zugreifen kann.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: mullischlumpf am 29 März 2015, 10:01:07
    Hallo zusammen,

    ich habe leider ein kleines Problem mit diesem Modul. Meine Eltern und ich wohnen im gleichen Haus aber in getrennten Stockwerken. Ich würde jetzt gern die Sonos-Player meiner Eltern im FHEM ignorieren. Es ist nämlich komischerweise so, das es bei ihnen zu Verbindungsabbrüchen kommt wenn FHEM mit diesem Modul läuft. Eventuell läuft ja dann über WLAN zuviel Traffic? Sie hören hauptsächlich Webradio über die Sonos-Player.

    Ich habe es mit

    my %ignoredIPs = ('192.168.2.xya','192.168.2.xyb','192.168.2.xyc','192.168.2.xyd' => 1);

    versucht die IPs zu ignorieren (Sind 3 Sohos-Player und 1 Sonos-Boost). Stimmt die Syntax so? Gibt es eine bessere Lösung diese Sonos Player + Boost über FHEM nicht anzusprechen? Leider wurden mit der Syntax oben nur der Boost und ein Player nicht angezeigt. Die zwei anderen Sohos-Player waren trotzdem im FHEM?!?

    Danke
    Gruß
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 März 2015, 10:14:25
    Hallo mullischlumpf,

    dafür brauchst du keine Änderung im Code zu machen. Es gibt dafür das Attribut "ignoredIPs" am Sonos-Device.
    Das ist eine Kommaseparierte Liste ohne Leerzeichen z.B. : 192.168.0.11,192.168.0.37

    Und nicht vergessen, deine Änderung im Code wieder Rückgängig zu machen :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Firelight am 29 März 2015, 11:58:52
    Hallo Reinerlein,

    ich habe jetzt mehrere sachen versucht und siehe da es funktioniert.
    Ich habe jetzt mehrere sachen mit chmod 777 bearbeitet und zwar.

    chmod 777 /mnt/SonosSpeak
    chmod 777 /opt/fhem
    chmod 777 /opt/fhem/FHEM

    jetzt bekomme ich auch keine fehlermeldung mehr.

    Jetzt würde ich gerne OFFLINE sprache benutzen. Wie kann ich das am besten machen?

    Danke
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 März 2015, 12:34:39
    Hallo Firelight,

    im Wiki unter http://www.fhemwiki.de/wiki/SONOS#Beispiel_f.C3.BCr_einen_Offline-Sprachsynthetisierer (http://www.fhemwiki.de/wiki/SONOS#Beispiel_f.C3.BCr_einen_Offline-Sprachsynthetisierer) gibt es eine Beschreibung am Beispiel von espeak.
    Wenn du einen anderen Synthetisierer verwenden möchtest, kannst du das ja analog einrichten.

    Wie unter http://www.fhemwiki.de/wiki/SONOS#Zusammenfassung_der_Spracheinrichtung (http://www.fhemwiki.de/wiki/SONOS#Zusammenfassung_der_Spracheinrichtung) beschrieben, gehen dann aber die eingebetteten MP3-Dateien im Text nicht aus dem Modul heraus. Das muss dann deine externe Skript-/Programmsammlung selber können...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 30 März 2015, 14:39:20
    Ich mal wieder, Reinerlein  ;D



    Use of uninitialized value $songTitle in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4309, <$client> line 7.
    Use of uninitialized value $songTitle in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4309, <$client> line 7.



    Kommt Gelegenheit, kommt sicher auch ein Fix...  ;)




    LG
    Julian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 März 2015, 15:24:01
    Hi Julian,

    eigentlich sollte das schon lange gefixt sein... aber meine Maßnahme war nicht bis zum Ende abgeschlossen  :-\

    Das habe ich korrigiert, da ich gerade unterwegs bin, wird eine Veröffentlichung aber vermutlich bis Ende der Woche dauern...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: mullischlumpf am 30 März 2015, 22:37:16
    Hallo Reinerlein,

    danke für den Hinweis auf das Attribut  ;) Nun erscheinen die ignorierten Lautsprecher nicht mehr  :) hoffe mal es hilft.

    Danke für deinen Einsatz echt klasse!
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 30 März 2015, 22:49:26
    Hallo Reiner,

    habe noch mal etwas probiert. Die fehlenden Cover fehlen auch ohne aktivierten Proxy.

    GetPlaylistsWithCovers: {'SQ:47' => {'Title' => 'Fourplay','Cover' => 'https://i.scdn.co/image/fa991366d876f715589ac13ad25b59cb7eccbec8'},'SQ:53' => {'Title' => 'Chic def. Groove','Cover' => ''},'SQ:13' => {'Title' => 'Starred','Cover' => 'https://i.scdn.co/image/b86125c07285074b989a426f801ab415143d1f50'},'SQ:50' => {'Title' => 'Benson','Cover' => ''},'SQ:24' => {'Title' => 'The Who','Cover' => 'https://i.scdn.co/image/82ae77cb1812db079b94810dc35a46b6cd9e058b'},'SQ:52' => {'Title' => 'Save_KU','Cover' => ''},'SQ:43' => {'Title' => 'Liquid Spirit','Cover' => 'https://i.scdn.co/image/1ce48449a0c03e8714100dffab0e15093c533823'},'SQ:22' => {'Title' => 'Wallflower','Cover' => 'http://192.168.10.150:1400/getaa?r=1&u=npsdy%3aTra.163140213.mp3%3fsn%3d4'},'SQ:40' => {'Title' => 'Save_WZ','Cover' => 'https://i.scdn.co/image/f19f19c8eca717c392ae23ca437a1b0df5c99200'},'SQ:51' => {'Title' => 'Lizzy','Cover' => ''},'SQ:6' => {'Title' => 'Chaka','Cover' => 'https://i.scdn.co/image/ef01c0ba8a5f5e4e687e43474e8f12f41322194c'},'SQ:12' => {'Title' => 'Sunday','Cover' => 'https://i.scdn.co/image/9302d3fe243eb3edb0f7737ea3c335a61cef3d33'},'SQ:25' => {'Title' => 'Nicole Henry','Cover' => 'https://i.scdn.co/image/e273aa32a1811b0b534909efaf906c6e9bb2b333'},'SQ:48' => {'Title' => 'Chet live','Cover' => 'http://192.168.10.150:1400/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fChet%20Baker%2fChet%20Baker%20Live%20In%20Tokyo%20Disc1%2f01%20-%20Chet%20Baker%20-%20Stella%20By%20Starlight.mp3&v=112'},'SQ:7' => {'Title' => 'Klassik','Cover' => 'https://i.scdn.co/image/3bd8537ecacecebc127c43b9d60e3e7cb1b88b14'},'SQ:4' => {'Title' => 'Funky','Cover' => 'http://192.168.10.150:1400/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fBeggar%20%26%20Co%2fAnthology%20Addicted%20to%20Funk%20-%20CD2%2f01%20-%20(Somebody)%20Help%20Me%20Out.mp3&v=112'},'SQ:41' => {'Title' => 'Save_SZ','Cover' => 'https://i.scdn.co/image/b807d558ed201a7c09356a8864e52e43bc387c2a'},'SQ:9' => {'Title' => 'Best ever','Cover' => 'https://i.scdn.co/image/095a6bc59214f31eccb1a9735549982f5876d481'},'SQ:23' => {'Title' => 'The Tubes','Cover' => 'https://i.scdn.co/image/f445ac6835124129053cda0966c509556a2b834e'},'SQ:5' => {'Title' => 'Smooth','Cover' => 'http://192.168.10.150:1400/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fThe%20Rebirth%2fThe%20Rebirth%20-%20This%20Journey%20in.mp3&v=112'},'SQ:21' => {'Title' => 'Mark Ronson','Cover' => 'https://i.scdn.co/image/3b5c6e9547bead2f50bab62c1100c8c4425e1b81'},'SQ:11' => {'Title' => 'George Duke','Cover' => 'https://i.scdn.co/image/75b4f667262e3391c2e217839c7cd117cd47ffd6'},'SQ:20' => {'Title' => 'Tom Browne','Cover' => 'http://192.168.10.150:1400/getaa?u=x-file-cifs%3a%2f%2fDS%2fMusik%2fMusik%2fTom%20Browne%2fR%20'N'%20Browne%2f01%20-%20R%20'N'%20Browne%20-%20Tom%20browne%20-%20Joy%20And%20Pain.mp3&v=112'},'SQ:45' => {'Title' => 'Omar','Cover' => 'https://i.scdn.co/image/ae803d6f87b96dbf13751a01577a35bb097607ee'}}

    Die URL fehlt komplett z.B. das zweite Album (Chic). Beim abspielen dieser Playlist wird es aber bei den einzelnen Titeln angezeigt.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 März 2015, 23:20:57
    Hi Detlef,

    danke für die Info. Leider kann ich das momentan nicht untersuchen, da ich unterwegs bin. Ich denke, dass ich zum Wochenende hin da weiterschauen kann...
    Ich hatte das letztes Wochenende bereits versucht zu lösen, aber leider noch keinen Durchbruch erzielt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 30 März 2015, 23:28:29
    Zitat von: Reinerlein am 30 März 2015, 23:20:57
    Hi Detlef,

    danke für die Info. Leider kann ich das momentan nicht untersuchen, da ich unterwegs bin. Ich denke, dass ich zum Wochenende hin da weiterschauen kann...
    Ich hatte das letztes Wochenende bereits versucht zu lösen, aber leider noch keinen Durchbruch erzielt...

    Grüße
    Reiner

    Kein Stress!
    Hab nur schon mal geschrieben...

    Hab noch ein vollkommen anderes Problem mit dem Modul. Irgendwann verursacht der Sonos Prozess 100% CPU Last auf einem Kern.
    Das führt dann wiederum irgendwann zu einem Fhem Restart. Da meion System recht performant ist, merke ich das so in der Anwendung nicht wirklich. Da werde ich aber selbst erst mal weiter forschen.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 01 April 2015, 10:08:16
    hallo reiner,

    es hat zwar doch etwas gedauert aber jetzt habe ich logs für das problem das player verschwinden.

    gegen 1:08 verschwinden die player für bad und schlafzimmer plötzlich. 8:50 habe ich den player im schlafzimmer über die app eingeschaltet. die events kommen alle in fhem an. etwas später das gleiche für den im bad.

    wenn ich im sonos device dieselbe setze und wieder lösche werden die fehlenden player sofort gefunden.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 April 2015, 20:19:50
    Hi Andre,

    auch wenn es dir nicht direkt hilft: Das Modul kann die beiden Player nicht per ICMP-Ping erreichen und deaktiviert sie Ordnungsgemäß. Das sieht von daher erstmal gut aus.
    Die Frage ist jetzt, warum der ICMP-Ping nicht mehr zu den Player durchdringt...

    Sind die Player über das SonosNet mit dem LAN verbunden? Gibt es bei Sonos eigentlich so was wie einen Stromsparmodus?
    Da bin ich jetzt echt überfragt...
    Ich habe hier einen Connect am LAN hängen, und drei Play5 über das SonosNet eingebunden. Solche Fehler habe ich hier noch nicht feststellen können. Kann also kein prinzipielles Thema sein...

    Leider meldet das PERL-Ping-Modul nicht, wenn es z.B. keine Route zum Host findet, also eine Systemkonfiguration nicht passt.
    Es meldet dann einfach, dass der Empfänger nicht erreichbar sei...

    Ich schaue mal, ob ich diesem Ping-Modul noch mehr Meldungen entlocken kann...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 02 April 2015, 00:31:16
    ich schaue mal ob es eventuell ein netzwerk problem ist. zumindest an einer stelle habe ich kurze und nicht reproduzierbare aussetzer. da ist ein stück devolo dlan dazwischen.

    das erklärt aber noch nicht alles da die player selbst wenn sie in der sonos app oder anwendung nicht gleich da sind auf jeden fall kurz darauf erscheinen.

    wenn die dlan strecke ausfällt müsste der player auch auf einen der anderen accesspoints wechseln. ich meine das tut er auch.

    sollte sich der player sich nicht wieder melden wenn das netz wieder da ist?

    könnte man die player suche regelmäßig wieder anstoßen?

    sollte ein player nicht spätestens dann wieder auf present gehen wenn events von ihm ankommen? das würde zwar nicht beim dingen wie einschalten aus fhem draus helfen. aber zumindest beim ausschalten danach.   

    kann ich noch mehr loggen ?

    gruß
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 02 April 2015, 00:31:55
    ich schaue mal ob es eventuell ein netzwerk problem ist. zumindest an einer stelle habe ich kurze und nicht reproduzierbare aussetzer. da ist ein stück devolo dlan dazwischen.

    das erklärt aber noch nicht alles da die player selbst wenn sie in der sonos app oder anwendung nicht gleich da sind auf jeden fall kurz darauf erscheinen.

    wenn die dlan strecke ausfällt müsste der player auch auf einen der anderen accesspoints wechseln. ich meine das tut er auch.

    sollte sich der player sich nicht wieder melden wenn das netz wieder da ist?

    könnte man die player suche regelmäßig wieder anstoßen?

    sollte ein player nicht spätestens dann wieder auf present gehen wenn events von ihm ankommen? das würde zwar nicht beim dingen wie einschalten aus fhem draus helfen. aber zumindest beim ausschalten danach.   

    kann ich noch mehr loggen ?

    gruß
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 02 April 2015, 00:34:10
    ich schaue mal ob es eventuell ein netzwerk problem ist. zumindest an einer stelle habe ich kurze und nicht reproduzierbare aussetzer. da ist ein stück devolo dlan dazwischen.

    das erklärt aber noch nicht alles da die player selbst wenn sie in der sonos app oder anwendung nicht gleich da sind auf jeden fall kurz darauf erscheinen.

    wenn die dlan strecke ausfällt müsste der player auch auf einen der anderen accesspoints wechseln. ich meine das tut er auch.

    sollte sich der player sich nicht wieder melden wenn das netz wieder da ist?

    könnte man die player suche regelmäßig wieder anstoßen?

    sollte ein player nicht spätestens dann wieder auf present gehen wenn events von ihm ankommen? das würde zwar nicht beim dingen wie einschalten aus fhem draus helfen. aber zumindest beim ausschalten danach.   

    kann ich noch mehr loggen ?

    gruß
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 April 2015, 00:58:17
    Hi Andre,

    kann es sein, dass die Player sowohl mit LAN als auch per SonosNet verbunden sind?
    Ich habe gerade gesehen, dass der Ping Mechanismus Antworten von anderen Schnittstellen als der angeforderten verwirft. Wenn ein Zielrechner also mehrere Netzwerkschnittstellen hat, und die Antwort auf einer anderen raussendet, würde das von dem Mechanismus verworfen werden...

    Zu deiner Frage: UPnP ist so definiert, dass eine Komponente, die neu im Netz ist, sich eigenständig als jetzt bereit und vorhanden meldet. Das würde vom Modul entsprechend empfangen und verarbeitet werden.
    Das Problem liegt hier wohl eher darin begründet, dass das Modul *meint*, dass der Player weg ist (wegen fehlender Ping-Antwort), das aber nicht wirklich der Fall ist. Das bedeutet, dass der Player natürlich auch keine Notwendigkeit sieht, sich zu melden...

    Die SonosApp hat dieses Problem nicht, da sie nicht vorhandene Player erst dann erkennt, wenn eine Befehlssendung im Nirvana verschwindet. Der Ping-Mechanismus des Moduls soll ja genau das bequemer, und für eine Hausautomation passender, ermitteln :)
    Wenn es denn geht...

    Ich kann mal schauen, ob ich diese Aufforderung zum Melden auch zyklisch zwischendurch versenden kann. Einen Player wieder aufzubauen, wenn ich eine Nachricht für ihn erhalte, kann ich auch mal prüfen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 April 2015, 12:31:50
    Hallo zusammen,

    ich habe gerade eine neue Version eingecheckt.

    Folgendes ist enthalten:

    Damit sollte das Thema mit dem fehlenden Spotify-Cover in der Playlistdarstellung behoben sein.
    Des Weiteren kann man wieder Spotify-Titel verarbeiten, ich konnte nämlich den Testtitel erst nicht hinzufügen :)

    Dann gibt es hier für die verschwindenden Player zwei Ansätze:
    1. Der IsAlive-Checker prüft nicht mehr, von welcher Schnittstelle die Antwort auf den ICMP-Ping herkommt
    2. Wenn eine Nachricht für einen Player ankommt, der als "disappeared" geführt wird, sollte der Suchprozess jetzt neustarten.
    Das 2. konnte ich leider überhaupt nicht nachstellen oder testen. Das ist also ohne Gewähr :)

    Vielleicht wird das ja damit schon besser...

    Wie immer ab sofort im SVN oder ab Morgen im Update.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 03 April 2015, 16:59:53
    Genial!

    Jetzt werden wieder alle Cover angezeigt.

    Danke und Gruß
    Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 03 April 2015, 18:03:31
    Hallo Reiner,

    habe mein Multi Media System und primär Sonos visualisiert (Siehe Bild).
    In der Readingsgroup für die Player werden die aktuellen Status angezeigt (Repeat, Shuffle, Transportstate etc.)
    Nur bei Mute und der Lautsärke funktioniert das nicht. Dazu muss ich erste die gesamte Seite refreshen.
    Dadurch werden Veränderungen die am Player selber durchgeführt werden nicht automatsch anezeigt.
    Das Verhalten kann man auch im Sonos_Player Modul sehen. Auch hier werden die Werte nicht automatisch aktualisiert.

    Kannst Du da was machen?

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 April 2015, 18:13:34
    Hi Detlef,

    hast du denn an den Playern eines der Volume-Attribute gesetzt?
    Also sowas wie "minVolume" oder "maxVolume" oder "minVolumeHeadphone"...
    Erst dann wird ein Callback-Aufruf für die Aktualisierung von Lautstärke- und Mute-Readings angemeldet.

    Ich habe da immer "minVolume" auf "0" gesetzt, also keine untere Grenze, aber da das Attribut da ist, wird das Callback eingerichtet...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 04 April 2015, 01:58:14
    Hallo Reiner,

    das min Volume Attribut war gesetzt.
    Was aber fehlte, war "generateVolumeEvent".
    Gesetzt, Sonos Modul reboot.
    Es geht!

    Sehr schön :-)

    Vielen Dank und Gruß
    Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 06 April 2015, 11:13:00
    Hi Reinerlein,


    habe das modul jetzt ja schon einige zeit am laufen und bin sehr zufrieden

    habe heute ein update gemacht und habe im log jetzt
    PERL WARNING: Argument "" isn't numeric in numeric eq (==) at ./FHEM/00_SONOS.pm line 747.



    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 April 2015, 12:29:35
    Hi m311331,

    das kommt von der Titelanzeige in der Raumübersicht, und tritt immer auf, wenn ein Player zwar das Reading "currentNormalAudio" hat, es aber nicht mit einer Zahl belegt, sondern leer ist.
    Das passiert, wenn der Player aktuell nix zum Anzeigen hat...

    Ich baue da noch eine Zwischenabfrage an, damit das an der Stelle nicht mehr passiert...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 06 April 2015, 12:32:13
    Hi Reinerlein,


    besten dank für die info !  :)

    nutzt du zufällig andfhem ?



    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 April 2015, 15:18:12
    Hi m311331,

    nur mal zum Testen... aber sonst nicht.
    Gibt es da eine Ungereimtheit zum Modul? :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 06 April 2015, 18:18:30
    Hi Reinerlein,

    ZitatGibt es da eine Ungereimtheit zum Modul?

    nein hat nichts mit deinem modul zu tun  :-[   sorry

    noch ne frage zwecks update
    wie kann ich nur dein modul updaten ohne die normale update funktion ?
    also nur sonos ?

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 April 2015, 18:51:56
    Hi m311331,

    du kannst dem update-Befehl mitgeben, welche Dateien er updaten soll.
    Also z.B.:

    update SONOS
    Aktualisiert dann SONOS und SONOSPLAYER...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 07 April 2015, 13:34:07
    Hi Reinerlein,

    :) besten Dank !

    dein Support ist echt unglaublich  ;)


    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 April 2015, 18:26:48
    Hallo zusammen,

    ich habe gerade eine neue Version eingecheckt.
    Folgendes ist enthalten:

    @Andre: Ich schreibe dir zu dem Thema "ExportSonosBibliothek" gleich noch was in dem anderen Thread...

    Wie immer ab sofort im SVN, oder ab Morgen per Update...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rretsiem am 07 April 2015, 21:24:23
    Hallo,

    ich habe mal wieder eine Frage zur SONOS Integration. Ich möchte gern den state:appeared auswerten und dann wie im Wiki auch gezeigt einen Favoriten laden/starten für verschiedene Player.

    Leider hänge ich aber dabei das mein Sonos S3 den State nicht "aktualisiert". Der Player ist im Status "appeared" auch wenn ich diesem vom Stromnetz für 10-15 Minuten trenne. Hänge ich in wieder ans Netz wird der Status auch nicht neu geschrieben oder aktualisiert. Es wird also kein Event ausgelöst.
    Ein "event-on-change-reading" existiert für das Attribut "state" nicht, somit sollte doch jedesmal ein Event generiert werden, oder?

    Daher meine Frage, wann geht denn ein Songs Device auf disappeared, was muss ich dazu "unternehmen"?

    Noch ein Hinweis: Ich habe 3 Songs Player, die alle via WiFi direkt an meiner FritzBox hängen, keine Bridge oder ähnliches, pures WLAN.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 April 2015, 21:43:11
    Hi rretsiem,

    dafür gibt es das System mit dem pingType. Der steht standardmäßig auf "syn", was nicht immer für vernünftige Ergebnisse sorgt, da manche Switche den Syn durchführen, obwohl das Ziel gar nicht mehr aktiv ist...

    Wenn du dein Fhem mal als root laufen lassen kannst, kannst du den pingType "icmp" versuchen, der liefert die genauesten Ergebnisse.

    Dann dauert es max. 90 Sekunden, bis ein Player als abwesend erkannt und entsprechend markiert wird. Außerdem wird er auch dem restlichen Sonos-System als abwesend mitgeteilt, sodass auch die Controller den Player aus ihren Listen entfernen (die würden das sonst erst beim Versuch den Player zu steuern bemerken).

    Das korrekte Reading für die Auswertung ist dann "presence".

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rretsiem am 07 April 2015, 22:31:05
    Zitat von: Reinerlein am 07 April 2015, 21:43:11
    Das korrekte Reading für die Auswertung ist dann "presence".

    :-[ Ich sollte auch besser lesen :-[

    Es ist natürlich das "presence" Attribut und nicht State, mit einem "event-on-update-reading" auf des presence funktioniert mein Notify nun auch korrekt und jedes Mal. Die Standard-Methode scheint bei mir sogar sehr zuverlässig zu sein, das dauert keine 30 Sekunden nach dem der S3 Strom hat und der Event wird getriggert.

    Danke und Sorry! :-X
    Titel: Nach Apsielen einer Datei vorher gespielten Radiosender weiter abspielen.
    Beitrag von: DieterL am 12 April 2015, 13:25:13
    Huhu Reinerlein  :) ;)

    Ich benötige einmal deine Hilfe.
    Wenn ich einen Radiosender über die Sonos App abspiele und dann
    set Sonos_Wohnzimmer PlayURITemp \\192.168.1.40\SonosSpeak\14.mp3
    ausführe, was muß ich denn anstellen, damit danach mit dem Abspielen des Senders, oder Playlisten fortgeführt wird !?

    Vielen Dank  !
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 April 2015, 08:48:26
    Hi DieterL,

    im Prinzip nichts. Das sollte so direkt gehen.

    Allerdings könnte es sein, dass er für dein Zwischengeschobenes MP3-File keine Laufzeit ermitteln konnte.
    Da müsstest du mal einen Konsolenlog machen, und schauen, ob der RestoreThread irgendwelche Fehler beim Wiederherstellen meldet.
    Vielleicht wird auch direkt beim Anstarten der Durchsage etwas fehlerhaftes geloggt.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: yetiman am 14 April 2015, 14:39:40
    Hallo Reinerlein,

    seit einem der letzten Updates, ist die CPU Auslastung wieder auf 100% :-((
    FHEM nicht mehr bedienbar ;-)

    root      2192 98.1  8.6  66564 38692 ?        Rl   13:19  72:32 /usr/bin/perl ./FHEM/00_SONOS.pm 4711 3 0

    Grüsse
    Ingo
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 April 2015, 14:58:42
    Hi Ingo,

    hmmm... kannst du das mit irgendeinem Ereignis mit dem Modul in Verbindung bringen?
    Steht irgendwas im 5er Log, was er gerade macht?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: yetiman am 14 April 2015, 15:03:35
    Hi,

    habe vorhin nochmal komplett neu gestartet. Im Log sehe ich nur das hier:

    2015.04.14 13:19:31 3: Opening Sonos device localhost:4711
    2015.04.14 13:19:31 3: Can't connect to localhost:4711: Connection refused
    2015.04.14 13:20:31 1: localhost:4711 reappeared (Sonos)
    2015.04.14 13:21:24 1: PERL ERROR: URL must be absolute at /usr/share/perl5/LWP/UserAgent.pm line 232.

    2015.04.14 13:21:24 3: stacktrace:
    2015.04.14 13:21:24 3:     main::__ANON__                      called by /usr/share/perl5/LWP/UserAgent.pm (232)
    2015.04.14 13:21:24 3:     LWP::UserAgent::prepare_request     called by /usr/share/perl5/LWP/UserAgent.pm (268)
    2015.04.14 13:21:24 3:     (eval)                              called by /usr/share/perl5/LWP/UserAgent.pm (267)
    2015.04.14 13:21:24 3:     LWP::UserAgent::simple_request      called by /usr/share/perl5/LWP/UserAgent.pm (282)
    2015.04.14 13:21:24 3:     LWP::UserAgent::request             called by /usr/share/perl5/LWP/UserAgent.pm (410)
    2015.04.14 13:21:24 3:     LWP::UserAgent::get                 called by /usr/share/perl5/LWP/Simple.pm (36)
    2015.04.14 13:21:24 3:     LWP::Simple::get                    called by ./FHEM/00_SONOS.pm (7004)
    2015.04.14 13:21:24 3:     main::SONOS_DownloadReplaceIfChanged called by ./FHEM/00_SONOS.pm (1570)
    2015.04.14 13:21:24 3:     main::SONOS_Read                    called by fhem.pl (2971)
    2015.04.14 13:21:24 3:     main::CallFn                        called by fhem.pl (607)


    Danach war es das mit FHEM :-)


    Ingo
    Titel: Antw:Sonos steuern
    Beitrag von: krikan am 14 April 2015, 15:11:38
    Schaut vielleicht auch mal in den Thread: http://forum.fhem.de/index.php/topic,36285.msg285782.html#msg285782
    Dort gibt es auch aktuelle Absturzberichte.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 April 2015, 15:19:52
    Hallo Ingo,

    da scheint irgendwas komisches zu passieren. Ich fange jetzt noch zusätzliche Fehler ab, da ich unterwegs bin, kann ich es aber vermutlich erst heute Abend einchecken...

    Das ist dann aber erstmal nur eine Symptombehandlung. Die Ursache finde ich hoffentlich mit der zusätzlichen Ausgabe heraus.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: rretsiem am 14 April 2015, 17:31:34
    Hi Reinerlein,

    wie krikan oben schreibt, ich habe im anderen Thread http://forum.fhem.de/index.php/topic,36285.msg285782.html#msg285782  die gleichen Probleme gepostet wie yetiman. Wenn du also noch irgendwelche Logs benötigst stehe ich auch gern zur Verfügung.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 April 2015, 19:57:27
    Hallo zusammen,

    ich habe den Problemfall von Sonos behoben. Wir sollten die Diskussion zu dem Fehler im genannten Thread weiterführen... Dort habe ich auch schon was gepostet...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: rretsiem am 16 April 2015, 23:19:50
    Hallo Reinerlein,

    ich habe heute folgenden Fehler (oder besser Warning) im Log von FHEM entdeckt.


    2015.04.16 23:12:46 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.


    Zu diesem Zeitpunkt lief einer unserer 3 Songs Player, alle anderen waren Paused und es war auch schon seit min. 30 Minuten keine Änderung an diesem Zustand. (Nur falls das wichtig sein sollte)

    Kannst du damit etwas anfangen? Oder liegt an meiner CFG?

    Nachtrag:
    Folgende Version des Moduls nutze ich:

    # $Id: fhem.pl 8437 2015-04-14 18:35:27Z rudolfkoenig $
    ...
    # $Id: 00_SONOS.pm 8436 2015-04-14 17:48:29Z rleins $
    # $Id: 21_SONOSPLAYER.pm 8392 2015-04-07 16:22:07Z rleins $
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 April 2015, 23:47:40
    Hi rretsiem,

    das scheint noch eine Nachwirkung des Hopplahopp-Workarounds mit dem Absturz-Fehler zu sein.

    Ich korrigiere das...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 28 April 2015, 20:55:41
    Hi,

    wie bekomme ich denn ein solches Reading ein wenig kürzer????

    DbLog: logging of Device: media.sonos.bad , Type: SONOSPLAYER , Event: ZoneGroupID: RINCON_B8E9378943C601400:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__: , Reading: ZoneGroupID , Value: RINCON_B8E9378943C601400:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:_ , Unit:

    das Ding "crashed" immer meine DB Verbindung und macht mein System ein wenig träge :-(

    wirklich fragend

    Ralf
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 April 2015, 08:52:20
    Hi Ralf,

    ich habe DbLog nicht im Einsatz, und kann dir dahingehend keine Tips geben. Allerdings finde ich gerade dieses Reading etwas komisch.
    Es endet eigentlich direkt hinter der RINCON-Angabe mit *einem* ":__". wo kommt denn diese lange Liste her?

    Und wie sieht das denn mit wirklich langen Readings aus?
    AlarmList z.B. oder wenn du mal ein "get media.sonos.bad FavouritesWithCovers" ausführst?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 29 April 2015, 09:29:33
    hallo reiner,

    eine kurze rückmeldung zu den verschwunden playern: bis jetzt schaut es gut aus. mit der aktuellen version werden sie nach kurzer zeit immer wieder automatisch gefunden.

    es scheint tatsächlich daran zu liegen das meine player mehrfach am tag zwischen wlan und sonos netz hin und her schalten. das wiederum liegt vermutlich daran das je nach stockwerk und seite bis zu 35 wlan access points gefunden werden die sich mal mehr oder mal weniger stören.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 29 April 2015, 10:15:50
    Zitat von: Reinerlein am 29 April 2015, 08:52:20
    Hi Ralf,

    ich habe DbLog nicht im Einsatz, und kann dir dahingehend keine Tips geben. Allerdings finde ich gerade dieses Reading etwas komisch.
    Es endet eigentlich direkt hinter der RINCON-Angabe mit *einem* ":__". wo kommt denn diese lange Liste her?

    Und wie sieht das denn mit wirklich langen Readings aus?
    AlarmList z.B. oder wenn du mal ein "get media.sonos.bad FavouritesWithCovers" ausführst?

    Grüße
    Reiner

    HeadphoneConnected
    0
    2014-11-07 11:27:53
    LastActionResult
    GetFavouritesWithCovers: {'FV:2/3' => {'Cover' => 'http://192.168.99.248:1400/getaa?s=1&u=x-sonosapi-stream%3As10843%3Fsid%3D254%26amp%3Bflags%3D32','Title' => 'Radio Wuppertal 107.4 (Top 40 Hits)'},'FV:2/1' => {'Cover' => 'http://192.168.99.248:1400/getaa?s=1&u=x-sonosapi-stream%3As96752%3Fsid%3D254%26amp%3Bflags%3D32','Title' => 'ANTENNE BAYERN Top 40'}}
    2015-04-29 10:10:14
    Loudness
    0


    das Reading ZoneGroupID wird immer länger :-( Wächst also im Laufe der Lebenszeit ...


    ZoneGroupID
    RINCON_B8E9378943C601400:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__
    2015-04-29 10:10:00


    Woraus wird das Reaidng erzeigt? In den Zonen von der Sonos SW kann ich nichts machen, da ich nur einen einzigen Player habe
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 April 2015, 11:52:51
    Hi Ralf,

    dieses Reading ist eine interne Information, welche aus der Zonenverwaltung kommt. Damit wird die Gruppenzugehörigkeit bekanntgegeben.
    Außerdem wird es bei jeder Lieferung neu ermittelt und als Reading gesetzt (sofern es sich geändert hat). Es wird also nicht einfach an das bestehende Reading angehangen.

    Wo also diese Verkettung herkommt, kann ich nicht sagen. Vielleicht kann hier jemand helfen, der sich mit DbLog besser auskennt.
    Vielleicht kann/muss ich da im Modul ja was anpassen, dann muss mir aber jemand (möglichst genau) sagen, was ich machen kann/soll... :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 29 April 2015, 12:22:34
    dbLog ändert keine readings selbständig sondern hängt ganz normal am event mechanismus.  es gibt aber eine längenbeschränkung für readings (ich glaube die gibt es bei file log auch).

    für die länge des reading muss du ziemlich sicher an anderer stelle suchen. nicht bei dbLog.

    ob es sinnvoll ist das das sonos modul für diese internen readings auch events erzeugt oder diese lieber ohne event anlegen sollte kann ich nicht einschätzen. die anzahl der events sollte eigentlich nicht sehr hoch sein.

    unabhängig davon: warum loggst du solche dinge überhaupt? es ist sicher sinnvoll das über die log device regex und/oder dbLogExclude einzuschränken.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 29 April 2015, 13:00:19
    Hallo Andre,

    ich habe das Reading auch erst einmal rausgeworfen :-)

    Loggen tue ich per Definition erst einmal alles was geht ... einmal im Monat werden die Daten dann verdichtet bzw. wieder entfernt. Ist zwar Mehraufwand aber woher weiss ich, dass ich die Informationen nicht morgen doch aus einem anderen Grund brauche ...

    cu

    Ralf
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 30 April 2015, 13:24:55
    Hallo Reiner,
    ich habe in letzter Zeit diese Meldung in Massen im log. Kannst Du da was machen?2015.04.30 12:39:35 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.
    2015.04.30 12:39:34 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.
    2015.04.30 12:39:29 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.
    2015.04.30 12:39:28 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.
    2015.04.30 12:33:41 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.
    2015.04.30 12:33:40 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.
    2015.04.30 12:31:21 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.
    2015.04.30 12:31:20 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.
    2015.04.30 12:27:22 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.
    2015.04.30 12:27:21 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.
    2015.04.30 12:27:18 1: PERL WARNING: Use of uninitialized value $newFile in string ne at ./FHEM/00_SONOS.pm line 7035.
    Danke!
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Mai 2015, 10:16:58
    Hi Detlef,

    ich werde da nachher was einchecken, was das unterbinden sollte. Ich habe das schon erledigt gehabt, aber wegen einer laufenden Featureentwicklung noch nicht eingecheckt :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 01 Mai 2015, 10:56:58
    Danke, Reiner
    Du machst Dir eine Mühe mit dem Modul. Da komme ich mir richtig ignorant vor, da ich es nur nutze um nach einen Druck auf einen Homematic Taster, welcher für Playbar und ConnectAmp den Strom einschaltet, diese zu gruppieren und meinen Lieblingssender abzuspielen. Das würde allerdings ohne Fhem und Dein Modul nie mit nur einem Tastendruck gehen.
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 02 Mai 2015, 11:01:19
    Hallo zusammen,

    nach 20 Jahren habe ich mich wieder mit Unix beschäftigt und mir einen Cubietruck mit debian aufgesetzt.
    Der ist auf dem aktuellsten Stand:
    apt-get update
    apt-get dist-upgrade

    Dann habe ich mit:
    Installation z.B. als Debian-Pakete (mittels "sudo apt-get install <packagename>"):
    • LWP::Simple-Packagename (inkl. LWP::UserAgent und HTTP::Request): libwww-perl
    • SOAP::Lite-Packagename: libsoap-lite-perl
    Dann fhem installiert mit:

    apt-get install fhem

    und fhem mit "update" auf den neusten Stand gebracht.



    Beim ersten define Sonos Sonos ... wurde dann bemeckert, dass XML::Parser::Lite fehlt.

    Das habe ich dann mit

    cpan install XML::Parser::Lite

    nachinstalliert. Es wurde Version 0.72 installiert, bei der automatischen Testroutine war jedoch eine Routine undefiniert und ein von den 5 Tests fiel durch.

    Dann erneut:


    define Sonos SONOS localhost:4711 30

    im Log steht dann:

    2015.05.02 10:41:26 1: reload: Error:Modul 00_SONOS deactivated:
    Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 420.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 420.



    Leider bin ich (noch) nicht so firm, dass ich herausfinden kann, welche Bibliothek da noch fehlt....

    Den einzigen Beitrag hierzu im Forum habe ich gefunden, da steht aber nur, das fhem mit update auf den neusten Stand zu bringen ist... und das ist es ja.
    Gruß

    Elektrolurch

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Mai 2015, 13:23:51
    Hallo Elektrolurch,

    diese Library sollte wirklich beim Update mitgekommen sein :)
    Kannst du mal im Filesystem bei Fhem nachschauen, ob es unter "FHEM/libs" ein Unterverzeichnis "UPnP" gibt? In diesem Verzeichnis sollten ein paar Dateien für das Sonos-Modul liegen...
    Das sollte beim Update mitgekommen sein. Einen Neustart von Fhem nach dem Update hast du aber gemacht, oder?

    Sagt ein "update check" "Nothing to do"?

    Vielleicht findet er auch irgendeine Vorraussetzung für dieses UPnP-Modul nicht (wobei du diese ja eigentlich installiert hast).
    Vielleicht sagt er bei einem Direktaufruf auf der Konsole mehr dazu.

    Dazu kannst du den SubProzess selber mal anstarten:

    sudo perl 00_SONOS.pm 4711 5
    im Verzeichnis FHEM.

    Ansonsten bleibt noch die Installation per Paketmanager (besonders das Soap-Lite Paket, welches einen Fehler gemeldet hatte).
    Im Wiki gibt es dazu noch eine Beschreibung: http://www.fhemwiki.de/wiki/SONOS#Hinweis_f.C3.BCr_Debian-Systeme (http://www.fhemwiki.de/wiki/SONOS#Hinweis_f.C3.BCr_Debian-Systeme)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 02 Mai 2015, 16:09:01
    Hallo Reinerlein,

    danke für die schnelle Antwort. Hier die Ergebnisse:

    Inhalt von lib(UPnP:
    total 168
    -rw-r--r-- 1 fhem dialout 18123 May  1 10:35 Common.pm
    -rw-r--r-- 1 fhem dialout 41831 May  1 10:35 ControlPoint.pm
    -rw-r--r-- 1 fhem dialout  7926 May  1 10:35 sonos_empty.jpg
    -rw-r--r-- 1 fhem dialout 32034 May  1 10:35 sonos_input_default.jpg
    -rw-r--r-- 1 fhem dialout 34332 May  1 10:35 sonos_input_dock.jpg
    -rw-r--r-- 1 fhem dialout 19616 May  1 10:35 sonos_input_tv.jpg
    -rw-r--r-- 1 fhem dialout  5469 May  1 10:35 sonos_playlist.jpg


    Da scheint es ja die Datei zu geben. Ev. ein Rechteproblem?

    Dann habe ich in FHEM

    perl 00_SONOS.pm 4711 5

    eingegeben und erhielt folgende Fehlermeldung:

    Can't locate XML/Parser/Lite.pm in @INC (you may need to install the XML::Parser::Lite module) (@INC contains: 00_SONOS.p/lib 00_SONOS.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /usr/local/FHEM/share/fhem/FHEM/lib /etc/perl /usr/local/lib/arm-linux-gnueabihf/perl/5.20.2 /usr/local/share/perl/5.20.2 /usr/lib/arm-linux-gnueabihf/perl5/5.20 /usr/share/perl5 /usr/lib/arm-linux-gnueabihf/perl/5.20 /usr/share/perl/5.20 /usr/local/lib/site_perl .) at lib/UPnP/Common.pm line 729.
    BEGIN failed--compilation aborted at lib/UPnP/Common.pm line 729.
    Compilation failed in require at lib/UPnP/ControlPoint.pm line 14.
    BEGIN failed--compilation aborted at lib/UPnP/ControlPoint.pm line 14.
    Compilation failed in require at 00_SONOS.pm line 420.
    BEGIN failed--compilation aborted at 00_SONOS.pm line 420.



    Dabei habe ich doch XML::Parser::Lite mit cpan nachinstalliert!!!

    Und wenn ich

    define Sonos Sonos localhost...

    eingeben, kommt da auch jetzt die Meldung mit UpNP ControlPoint:


    2015.05.02 15:56:11 1: reload: Error:Modul 00_SONOS deactivated:
    Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 420.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 420.

    2015.05.02 15:56:11 0: Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 420.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 420.


    Muss fhem als root laufen und wenn ja, wie bewerkstellige ich das?
    Reicht es dazu, den Nutzer fhem aus der passwd zu löschen?

    Gruß

    Elektrolurch

    P.S.: Übrigens - Grandiose Arbeit das Sonos-Modul. 


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Mai 2015, 16:30:40
    Hallo Elektrolurch,

    fhem muss nur dann für das Modul als root laufen, wenn du für den pingType (die Überprüfung, ob der Player noch vorhanden ist) "icmp" verwendest.
    Sonst nicht unbedingt (obwohl manche Dinge wohl nicht so richtig gut laufen, das scheint aber nicht eindeutig abgrenzbar zu sein).
    Und ja, es würde dann reichen, diesen aus der passwd rauszukommentieren, und fhem natürlich als root starten :)

    Diesen Test für den eigenen Start darfst du dann nicht über Fhem machen, sondern direkt in der Shell auf der Maschine selbst (dank der sudo-Anweisung sicherheitshalber als root).

    Da du schriebst, dass ein Test bei der Cpan-Installation schiefgegangen ist, bin ich mir nicht sicher, ob es auch installiert wurde.
    Deshalb mein Hinweis für die Debian-Paket-Install-Methode :)
    Die ist in meinen Augen am Sichersten...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 02 Mai 2015, 16:46:49
    Hallo Reinerlein,

    leider habe ich aber nicht herausgefunden, wie

    XML::Parser::Lite

    denn als apt-get - Paket heißt. Leider steht das auch nicht im Wiki zu Sonos.

    Und woher kommt der Fehler mit dem upnp-ControlPoint, wenn doch offensichtlich die Datei im Verzeichnis lib/UPnP vorhanden ist?

    Strange....
    Da brauche ich wohl noch Anschub...

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Mai 2015, 17:05:30
    Hi Elektrolurch,

    unter http://www.fhemwiki.de/wiki/SONOS#Hinweis_f.C3.BCr_Debian-Systeme (http://www.fhemwiki.de/wiki/SONOS#Hinweis_f.C3.BCr_Debian-Systeme) steht es doch als letzter Punkt beschrieben.

    Also:

    sudo apt-get install libxml-parser-lite-perl


    Das ist dort dank eines Ubuntu-Users gelandet, der mich darauf hinwies, dass es dort nicht automatisch dabei wäre :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 02 Mai 2015, 18:13:57
    Hallo bei mir führt das zu folgendem Problem:

    $ sudo apt-get install libxml-parser-lite-perl
    Paketlisten werden gelesen... Fertig
    Abhängigkeitsbaum wird aufgebaut.       
    Statusinformationen werden eingelesen.... Fertig
    E: Paket libxml-parser-lite-perl kann nicht gefunden werden.


    Mein anschließendes
    define my_sonos SONOS
    bringt dann die Meldung:
    Usage: define <name> SONOS [[[[upnplistener] interval] waittime] delaytime]

    Mein Sonos-System läuft und speilt gearde Musik ab. Ich habe aber auch keine Info gefunden, wie ich die Daten aus dem Wiki
    define Sonos SONOS localhost:4711
    finden kann. Ich kenne die IP-Adressen all meiner SONOS-Geräte, aber eine Portnummer habe ich nirgends gefunden.

    Einen restart habe ich bei meinem Rspberry schon erfolglos gemacht...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Mai 2015, 18:29:19
    Hi Jürgen,

    das mit dem XML-Parser Paket ist komisch. Ich habe gerade mal danach gegoogelt, und es normal gefunden...
    Aber es scheint ja installiert zu sein, da du ja eine Fehlermeldung vom bereits geladenen Modul erhältst. Eigentlich sollten die Abhängigkeiten da schon geprüft sein...

    Du musst in Fhem tatsächlich nur folgendes eingeben:

    define Sonos SONOS localhost:4711 30
    Alles andere wird dann vom Modul selbst gefunden und in Fhem angelegt.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 02 Mai 2015, 18:46:24
    Hallo,

    jetzt ist mein Post irgendwie nicht angekommen. Daher noch mal:

    Ich hatte es letzte Woche schon mal mit der Sonos-Installation probiert und da wurde das
    apt-get libxml-parser-lite-perl
    auch nicht gefunden.
    Gestern habe ich dann
    apt-get update
    und
    apt-get upgrade
    gemacht und das lief fast 30 Minuten und jetzt kommt die lib auch.

    define Sonos SONOS localhost:4711 30

    bringt nun auch keine Fehler mehr allerdings werden die drei eingeschalteten Player nicht gefunden.

    Die Player sind über das Sonos WLan mit einer SonosBridge verbunden und die hängt an einer Fritzbox am Lan Port 1.
    Die Fritzbox zeigt unter Netzwerk alle SonosPlayer verbunden über Lan Port 1 an.

    Der Cubie hängt am Lanport  findet aber trotzdem keine Player.

    Ein schneller Tipp?

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 02 Mai 2015, 18:54:12
    Zitat von: Elektrolurch am 02 Mai 2015, 18:46:24
    Ein schneller Tipp?
    Cubie bei eingeschalteten SONOS mal komplett neu starten, nicht nur fhem?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Mai 2015, 19:09:23
    Hallo Elektrolurch,

    wenn der Neustart nichts gebracht hat, dann wäre eine Ausgabe auf der Konsole hilfreich.
    Das Modul ist in verschiedenen Verbose-Leveln sehr redselig, und gibt ziemlich genau aus, was für Probleme auftreten.

    Unter http://www.fhemwiki.de/wiki/SONOS#Fehlersuche (http://www.fhemwiki.de/wiki/SONOS#Fehlersuche) sind dazu ein paar Hinweise...

    Die Ausgabe dann an mich übermitteln oder hier posten...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 02 Mai 2015, 20:11:13
    Hallo Reinerlein,

    erst Mal vorab schon sehr herzlichen Dank für Deine unendliche Geduld hier im Forum.
    Bei mir erkennt er noch die SonosBridge, meldet aber einen UPnP - Fehler....

    Hier der log-Auszug:

    Current: "fhem.pl", gPath: "./FHEM"
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2015.05.02 20:00:22 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2015.05.02 20:00:29 3: SONOS1: UPnP-Thread gestartet.
    2015.05.02 20:00:30 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2015.05.02 20:00:30 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2015.05.02 20:00:34 2: SONOS1: Discover Sonosplayer 'ZoneBridge' (ZB100) Software Revision 5.2 with ID 'RINCON_000E5846A6F801400_MR'
    2015.05.02 20:01:12 2: SONOS1: Error during UPnP-Handling: not properly closed tag 'stateVariable'

    2015.05.02 20:01:12 3: SONOS1: UPnP-Thread wurde beendet.
    2015.05.02 20:01:29 3: SONOS0: Connection accepted from localhost:56822
    2015.05.02 20:01:59 3: SONOS0: Connection accepted from localhost:56823
    2015.05.02 20:02:29 3: SONOS0: Connection accepted from localhost:56824
    2015.05.02 20:02:59 3: SONOS0: Connection accepted from localhost:56825
    2015.05.02 20:03:29 3: SONOS0: Connection accepted from localhost:56826
    2015.05.02 20:03:59 3: SONOS0: Connection accepted from localhost:56827
    2015.05.02 20:04:29 3: SONOS0: Connection accepted from localhost:56828


    Ich hatte das System rebootet und mit
    /etc/init.d/fhem stop
    das automatisch gestartete fhem beendet.

    dann:

    perl fhem.pl fhem.cfg >/media/public/startsonos.log

    mit aufgezeichnet.

    Noch eine Anmerkung: Habe auf dem Cubie derzeit zwei Interfaces laufen (eth0 und wlan0). Über beide ist der Cubie erreichbar. Wie bindet UPnP?
    Könnte das ev. noch ein Problem sein?
    (sowas gibt es ja schon mal bei VPN-Services)

    Elektrolurch


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Mai 2015, 20:58:17
    Hallo Elektrolurch,

    kein Problem, ich helfe gerne. Außerdem hilft jeder Fehler (bzw. dessen Behebung) das Modul robuster zu machen :)

    Kannst du dieses Logging mal mit Verbose 5 am Sonos Device machen?
    Irgendwie scheint das Beschreibungsdokument nicht sauber geladen zu werden...

    Der UPnP-Prozess lauscht auf einem Multicast Port, der an alle Adressen gebunden ist (zumindest wenn ich den Parameter "INADDR_ANY" korrekt interpretiere :) ).

    Ich kann auf jeden Fall ein Beenden des Prozesses bei einem solchen Fehler unterbinden. Allerdings muss dann eine faire Chance darauf bestehen, dass ein Neustart des UPnP-Handlings etwas hilft...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 03 Mai 2015, 09:34:52
    Nur zur Info: es scheint zu funktionieren, am Anfang gbit es im Log aber ein paar Fehlermeldungen:

    2015.05.03 09:27:03 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    Current: "fhem.pl", gPath: "./FHEM"
    2015.05.03 09:27:11 3: Opening Sonos device localhost:4711
    2015.05.03 09:27:11 3: Can't connect to localhost:4711: Verbindungsaufbau abgelehnt
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2015.05.03 09:27:12 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2015.05.03 09:28:13 3: SONOS0: Connection accepted from localhost:46799
    2015.05.03 09:28:13 1: localhost:4711 reappeared (Sonos)
    2015.05.03 09:28:15 3: SONOS1: UPnP-Thread gestartet.
    2015.05.03 09:28:16 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2015.05.03 09:28:17 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...


    Danach kommen aber sinnvolle Meldungen und meine Geräte werden erkannt. Deshalb gehe ich davon uas, dass das soweit ok ist.

    Mittlerweile habe ich mal das Wiki gelesen, diesen Thread werde ich auch noch durchackern, bevor ich richtig loslege. Auf alle Fälle werde ich wohl weit mehr machen, als ursprünglich vorgesehen war. Der Appetit kommt halt bem Essen... ;)

    Einen lieben Gruß
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Mai 2015, 09:55:51
    Hi Jürgen,

    diese Fehlermeldung kommt daher, weil der SubProzess nicht schnell genug Bereit ist und auf der Schnittstelle lauscht.
    Es dauert je nach Hardware etwas, bis der Part von Perl kompiliert und ausgeführt wurde...

    Diese lange Wartezeit in der Folge davon kannst du aber mit einem weiteren Parameter bei der Definition des Sonos-Moduls verhindern.
    Wenn du dir die Logs anschaust, siehst du, dass da bloß eine Sekunde fehlt.

    Wenn du also die Standard-8-Sekunden-Wartezeit auf 10 erhöhst, sollte das schneller durchlaufen (der Verbindungsaufbau wartet sonst eine Minute für einen weitren Versuch):

    define Sonos SONOS localhost:4711 30 10


    Bedenke bei diesem Thread hier, dass dieser über zwei Jahre Laufzeit hat. Ab einem gewissen Alter der Posts sind diese u.U. nicht mehr für die aktuelle Version gültig :)

    Ich denke auch, dass es die beste Taktik ist, das Modul einfach mal in Betrieb zu bringen, wenn man schon Sonos-Player besitzt.
    Ideen was man damit dann machen kann kommen von ganz alleine :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 03 Mai 2015, 10:05:38
    Wie änder ich die Waittime ohne löschen und neu definieren? Sorry, eigentlich eine Anfängerfrage...
    Ansonsten steckt da viel Arbeit dahinter - ein ganz dickes Lob und Danke!


    Nachtrag: schon selbst gefunden, einfach im "DEF" von "Sonos" die Definition anpassen!
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 03 Mai 2015, 10:28:57
    Hallo Reinerlein,

    jetzt bin ich einen Schritt weiter. Die Geräte werden jetzt erkannt, aber dann stürzt der fhem-Hauptprozess ab.
    Wenn die Geräte ausgeschaltet sind, läuft fhem.
    Wenn ich dann die SonosBridge einschalte, wird diese auch erkannt und fhem läuft weiter.
    Wenn dann ein player eingeschaltet wird, wird dieser erkannt und angelegt. Anscheinend gibt es aber dann ein Problem beim Lesen der Musikbibliotheken....

    Ich hänge mal die verschidenen logs mit verbose 5 an:

    fhem-2015-05-03:
    Das ist die letzte Zeile vor der Beendigung:
    2015.05.03 08:52:31 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Hobbyraum_AlbumArt.png');


    Die Ausgaben von stdout sind in startsonos:

    Das ist die letzte Zeile:
    2015.05.03 08:56:51 4: SONOS2: 192.168.1.67 is alive


    Der subprozess (perl 00_SONOS.pm) scheint auch nach dem Absturz fhem weiterzulaufen (siehe unten).

    Dann habe ich noch stderr aufgezeichnet (konsole):
    letzte Zeile:
    Smartmatch is experimental at ./FHEM/00_SONOS.pm line 5521.

    Es gibt da noch Ausgaben, die wohl vom Subprozess kommen:
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 4.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 4.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 4.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 4.


    Ich vermute, dass das was mit den Albuminformationen zu tun haben könnte, die der Subprozess sammelt, denn wenn fhem abstürzt und ich dann einen weiteren Player einschalte, kommen die Ausgaben auch wieder.

    Die eingebundenen Musikbibliotheken sind zum Teil nicht verfügbar (ausgeschalteter Laptop der Tochter). Ich hoffe, dass das nichts macht.

    Nicht über die unterschiedliche Zeiten in den Dateien wundern, habe das zweimal gemacht, da einmal mit > und dann mit 2>...

    Gruß

    Elektrolurch




    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Mai 2015, 11:20:51
    Hi Elektrolurch,

    in den ganzen Logs ist jetzt nix drin, was irgendwie einen Absturz rechtfertigen würde.
    Das Modul sollte kein Problem mit Musikquellen haben, die nicht mehr da sind. Es wird ja nur das Verarbeitet, was von den Playern gesendet wird, und das darf natürlich auch leer sein :)

    Die Meldungen mit den "Odd numbers of Arguments..." stammt von dem Perl IP-Modul, und hat nur am Rande mit dem Sonos-Modul zu tun (es verwendet halt den IP-Layer). Das kann man leider nicht ändern, sorgt aber auch für keine Einbußen beim Betrieb des Moduls.

    Ist denn Fhem richtig weg, oder arbeitet Perl nur sehr stark (am Besten mal mit "top" auf der Konsole nachschauen)?
    Ist das gepostete Fhem-Log wirklich bis zum Absturz geschrieben? Da steht ja keinerlei Fehlermeldung am Ende drin...

    Die letzte Meldung im Log ist ja, dass er ein Standardcover verwenden wird. Das ist auch OK so.
    Stimmen die Dateirechte alle? Nicht dass er gerade versucht, eine Datei zu lesen (in diesem Fall "./FHEM/lib/UPnP/sonos_empty.jpg") die er nicht lesen darf, oder zu schreiben, wo er nicht darf (in diesem Fall im Ordner/Datei "./www/images/default/SONOSPLAYER/Sonos_Hobbyraum_AlbumArt.png").

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 03 Mai 2015, 12:18:32
    Hallo Reinerlein,

    uppsss... Du bist einfach der Größte:

    Zitat:
    "./FHEM/lib/UPnP/sonos_empty.jpg") die er nicht lesen darf,
    Die hatte ich schon gesehen, weil da war auch was im log und die Rechte habe ich gesetzt, aber das:

    oder zu schreiben, wo er nicht darf (in diesem Fall im Ordner/Datei "./www/images/default/SONOSPLAYER/Sonos_Hobbyraum_AlbumArt.png").

    Das war es dann auch. Jetzt sind alle Player da...!

    Jetzt muss ich mir mal darüber Gedanken machen, wie ich durch die Musikbibliotheken oder Radiosender-Liste per fhem browsen kann. Leider ist nämlich die app von Sonos nicht (bzw. nur sehr eingeschränkt) tauglich für einen Screenreader.

    Weißt Du, ob da schon jemand so einen "Musikbrowser" ev. gebaut hat?

    Gruß

    Elektrolurch

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Mai 2015, 12:47:42
    Hallo Elektrolurch,

    schön, dass es jetzt geht :)

    Es gibt diverse Möglichkeiten um out-of-the-box mit dem Modul eine Favoriten-, Radio- oder Playlistenanzeige zu bauen.
    Da gibt es die Get-Anweisungen "FavouritesWithCovers", "RadiosWithCovers" oder "PlaylistsWithCovers" zu. Diese befüllen dann ein Reading mit den entsprechenden Namen "Favourites", "Radios" oder "Playlists" am entsprechenden Sonosplayer Device.
    Das kannst du dir dann selber zerpflücken. Eine beispielhafter Code für eine ReadingsGroup ist auch schon mitgeliefert.
    Zum Beispiel:

    SONOS_getListRG("Sonos_Bad", "Favourites", 1)

    Das liefert dir den HTML-Code für eine UnOrdered-List (durch den dritten Parameter, die Eins) für die Favoriten inkl. Cover (allerdings ohne Namensanzeige)

    Die Variante

    SONOS_getListRG("Sonos_Bad", "Favourites")
    , also ohne dritten Parameter, liefert dir eine Tabelle der Liste, dafür aber mit Namen der Favoriten.

    Das ganze ist eher als Vorlage für eigenen Code in der eigenen 99_myUtils.pm gedacht, damit man sieht, wie man das Reading durchgehen kann, um selber etwas für die Oberfläche zu bauen (aber nicht vergessen, den Namen der Prozedur anzupassen)...

    Wenn es dir um eine grundsätzliche Browse-Funktionalität geht, dann ist Andre (justme1968) wohl gerade dabei etwas großes zu bauen, womit man die komplette Bibliothek der Player durchsuchen kann. Die Daten dafür kann das Modul bereits vom Player abfragen...
    Das sind aber echt viele Daten, sodass eine Oberfläche dazu sehr geschickt aufgebaut sein muss, damit das noch handhabbar bleibt...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 03 Mai 2015, 14:37:06
    Danke Reinerlein. Das ist genau der Super-Kickoff, den ich brauchte....
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 04 Mai 2015, 07:34:28
    Da ich aus Energiespargründen meine Sonos-Geräte abschalte, bekomme ich jede Menge Einträge in das Logfile, ich habe den verbose schon auf 0 gesetzt, es kommen aber noch immer Meldungen:
    Renewal of subscription failed with error: 500 Can't connect to 192.168.178.35:1400 (Keine Route zum Zielrechner) at ./FHEM/00_SONOS.pm line 3593 thread 4
    Wie kann ich diese verhindern?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Mai 2015, 11:18:45
    Hi Jürgen,

    das kommt daher, weil das Modul immer noch der Meinung ist, dass der Player erreichbar sei, obwohl er das nicht ist. Deswegen versucht er die Anmeldungen an den Playern aufzufrischen.
    Diese Meldungen werden auch nicht vom Modul selbst über das kontrollierte Logging geschrieben, sondern landen durch das verwendetete UPnP-Modul und dessen carp-Aufruf direkt auf STDERR.

    Was sagt denn das Reading "presence" bei den Playern?
    Wenn das noch auf "appeared" steht, dann mal die Konsolen-Logs durchsuchen (notfalls auf verbose 5), ob der IsAlive-Checker einen Fehler ausgibt...

    Ich habe gerade mal eine Möglichkeit gesucht und vielleicht gefunden, diese Meldungen wirklich abzufangen (das eigentliche Problem ist, dass das UPnP-Modul dort ein "carp" aufruft, und das nicht mit einem "eval{}"-Block aufgefangen werden kann)...
    Leider kann ich das gerade nicht zwischendurch probieren/veröffentlichen, da ich gerade mitten in der Entwicklung der Bookmarks bin :(
    Vielleicht kannst du temporär was mit einer Umleitung von STDERR erreichen, damit diese nicht im Fhem-Log landen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Mai 2015, 15:42:31
    Hi Jürgen

    kannst du mal eine kleine Code-Änderung für mich versuchen?

    In der Datei "ControlPoint.pm" im Ordner "FHEM/lib/UPnP/" in der Zeile 1008 aus dem "carp" bitte ein "croak" machen.
    Wenn es bei dir damit klappt dann kann ich das einchecken. Das läuft dann ja unabhängig von meiner Baustelle...

    Danke schon mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 04 Mai 2015, 19:26:10
    Ich probiere das gerne - aber leider bin ich nicht vor Ort und den Telnet-Port habe ich nicht freigegeben. Wird also ein wenig dauern, aber ich melde mich wieder dazu!
    Titel: Antw:Sonos steuern
    Beitrag von: v.i.p.e.r am 08 Mai 2015, 17:47:46
    Servus,

    ich hab hier im Forum gesucht, aber so richtig nichts gefunden. Kann man zufällig mit einer Funktion des Moduls die Aktuelle Playlist speichern, die Sonos vom Netz nehmen und dann beim wieder einschalten an der stelle weiterspielen lassen?


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Mai 2015, 23:17:34
    Hallo v.i.p.e.r,

    du kannst mit der aktuellen Version auf jeden Fall die aktuelle Abspielliste als Sonos Playlist abspeichern lassen.
    Auch kannst du auf die Aktualisierung des Readings presence zu "appeared" reagieren, und diese Playliste wieder laden lassen.
    Was noch nicht vollautomatisch geht ist das Anspringen des letzten Titels dieser Playlist. Das müsstest du dir selber in einem Reading oder Dummy oder so merken, und dann selber restaurieren. An dieser automatischen Bookmark-Geschichte bin ich gerade dran...

    Am Besten du schaust mal im Wiki-Artikel, dort wird einiges Beschrieben, und auch viele Beispiele gegeben...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 15 Mai 2015, 15:13:02
    Auch mal kurz meinen Senf dazu  ;D
    Genial - perfekt - Wahnsinn.
    So, nun aber gut. Wir wollen mal nicht übertreiben  :P

    Bisher hatte ich StreamRadio mit Funklautsprecher auf einem RasPi am laufen.
    Ging auch gut aber die Lautsprecher waren nicht so der Knüller.
    Also einen Sonos 1 bestellt welcher auch vor 1 Stunde geliefert wurde.
    Ausgepackt, aufgebaut, eingerichtet und über die App lief alles tadellos.
    Also einen Cubie geschnappt, SD-Karte erstellt, alles was benötigt wird installiert (ausser libxml-parser-lite-perl, das wollte einfach nicht aber lt. google habe ich dann libxml-parser-lite-tree-perl genommen), Reboot (sicher ist sicher) und FHEM gestartet.
    Sonos lt. Wiki definiert und alles wurde einwandfrei erkannt und angelegt - siehe Screenshot.
    Nun bekommt meine Frau noch einen Sonos für die Küche und die alten Funklautsprecher werde ich verhökern.
    Auch wenn Sonos nicht gerade billig ist aber lieber ein paar Euro mehr ausgeben und dafür eine tadellose Integration die sich auch wunderbar bedienen lässt.

    Danke nochmal für die Integration von Sonos in FHEM.

    Und nun werde ich mir den Thread mal ab Beitrag 1 anfangen durch zu lesen  8)
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 15 Mai 2015, 15:14:27
    lies lieber den wiki artikel :)

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 15 Mai 2015, 15:18:11
    Zitat von: justme1968 am 15 Mai 2015, 15:14:27
    lies lieber den wiki artikel :)

    gruss
      andre
    Bin ich auch grad dabei.
    Erst den Wikiartikel und den Thread als Abschluss  ;D
    Titel: Antw:Sonos steuern
    Beitrag von: CoolTux am 15 Mai 2015, 15:33:56
    @Puschel74

    Ja es stimmt. Anschließen und Spaß haben mit den Sonos System. Und der Klang ist super. So hat es auch ausgesehen imMediaMarkt. Und natürlich klappt die Install ohne Probleme sagte der Verkäufer. Selbst als ich ihm sagte das ich über 6 Subnetze verfüge und mit unsicher bin das UPnP über die Subnetze hinaus klappt war er der Meinung kein Problem.
    Naja um es kurz zu machen, es hat nicht geklappt. Das System ist toll und ich würde es sofort kaufen, aber leider sobald Du nicht dem Standard entsprichst kann Du es vergessen   :-[

    Nun versuche ich es wie Du mit raspi und nem Lautsprecher    ;D


    Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Mai 2015, 16:01:11
    Hallo CoolTux,

    das mit den Subnetzen ist aber auch nicht normal, oder? :)

    Aber Sonos selbst geht, hat ja im Normalfall nur einen Netzzugangspunkt.
    Aber alle Controller, die du verwenden möchtest, müssen im selben Subnetz sein, da UPnP nicht geroutet wird.
    Mit Android-Geräten kannst du dich in das SonosNet einklinken, und kannst dann auch überall, wo das Netz verfügbar ist, deine Player steuern. Die Sonosplayer bilden ein eigenes Meshup-Netz, und erweitern mit jedem Player die Reichweite...
    Vielleicht ist das für dich eine Option?

    @Puschel: Schön, dass es auf Anhieb geklappt hat. Bedenke bei dem Thread, dass dieser viele Themen/Problemstellungen enthält, die mittlerweile veraltet sind. Der ist ja auch schon über drei Jahre alt :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: CoolTux am 15 Mai 2015, 16:21:33
    Das mit dem eigenen Netz klingt interessant. Nur müssten dann wohl die Androidgeräte immer zwischen den Netzen springen. Mmmhhh. Na mal schauen.
    Ja normal nicht das ist war, aber für mich die beste Lösung zwischen Kontrolle und Sicherheit der Kinder. Haben 3 Kinder im Haushalt, ok 2. Der kleinste ist erst 17 Monate.
    Aber auch die zwei sollen nach Möglichkeit viel machen und sich dennoch sicher fühlen. Das mache ich mit eigenen Firewallregeln (iptables) und squid3 in Verbindung mit squidguard.
    Da hat sich das aufteilen in Subnetze wirklich gut gemacht.
    Na mal schauen welche Möglichkeiten sich da noch ergeben was die Steuerung an geht. Kann mir ja mal Play1 holen und für 30 Tage damit testen   ;D
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Mai 2015, 16:42:22
    Hi,

    prinzipiell kannst du auch über das SonosNet surfen. Vielleicht sollte man keine youtube-Video-Streams ziehen, um die Bandbreite nicht dichtzumachen:)
    Allerdings verlierst du natürlich deine Schutzmechanismen bei den Routern, da die Geräte im SonosNet "daranvorbeirouten"...

    OT: Ich persönlich habe die Schutzmechanismen auf einen Router auf dem Weg zum Internet laufen, indem anhand der Quell-IP geprüft wird, was man so darf. Das geht aber nur, wenn der Nachwuchs eigene Geräte hat, und nicht an die elterlichen Geräte kann.
    Aber wir wollen unseren Nachwuchs ja auch zu medienmündigen Menschen erziehen, und dazu gehört, dass es auch Schlupflöcher gibt, die die Kinder selber herausfinden können :)
    Man muss halt das schlimmste verhindern, aber auch an das Thema heranführen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 15 Mai 2015, 17:00:09
    @Reinerlein
    Mir ist klar das du damit schon vor 3 Jahren begonnen hast - sieht man ja am Datum des Beitrags  :P
    Mich interessiert aber grundsätzlich nicht nur das "Fertige" sondern auch der Weg dort hin.
    Aber keine Panik - ich werde mich mehr am Wiki orientieren.
    Dennoch genial was du hier auf die Beine gestellt hast - Hut ab und danke nochmal dafür.


    @CoolTux
    Ich bräuchte eh noch Sonos-Geräte.
    Teste nochmal eins und ich kaufs dir dann ab  ;)
    Mein StreamRadio hatte ich auf einem RasPi B+ mit HiFiBerry laufen.
    Das Modul selbst funktioniert einwandfrei (HiFiBerry sowie auch StreamRadio).
    Die Funklautsprecher dazu waren jetzt auch nicht sooo schlecht aber kein Vergleich zum Sonos, das ist deutlich hörbar.
    ZitatNun versuche ich es wie Du mit raspi und nem Lautsprecher
    Ich könnt dir meinen RasPi B+ mit HiFiBerrymodul und Funklautsprecher verkaufen  ;D

    Aber ja. Es stimmt.
    Ich habe nur eine 08/15 Netzwerkumgebung und da hat sich der Sonos sofort und anstandslos mit meinem Androidtablet als auch mit dem PC steuern lassen.
    Nun geht es noch an das Finetuning aber ich werde meiner Frau wohl besser ein Tablet in die Küche hängen.
    Radiostationen auswählen oder im NAS stöbern geht per APP einfach geschmeidiger als über Funksender.
    Titel: Antw:Sonos steuern
    Beitrag von: CoolTux am 15 Mai 2015, 17:23:38
    @Reinerlein
    OT
    Ich gebe Dir Recht. Die Kinder sollen ja lernen. Aber auch ich entmündige mich etwas, und das gerne. Werbe und Pornofilter, ausserdem dürfen nur spezielle Anwendungen mit dem Internet kommunizieren. Wozu muß ein kleines Daddelspiel Internetverbindung haben. Die Kinder haben eigene Geräre entsprechend ihrem Alter konfiguriert.
    Mein Netzwerk ist etwas ungewöhnlich gestaltet. Ich hatte erst einen Pi für WLAN AP, Firewall und Webseitenfilterung. Leider gab es immer wieder mal kleine Aussetzener und der verwendete WLAN Stick konnte nur 7 Geräte im AP Modus verwalten, so das ich schon 2 brauchte.
    Jetzt erfolgt der WLAN Zugang über die Fritzbox, dann wird zu einem BananaPi Router Board geroutet und dort erfolgt dann das Filtern über Firewall Regeln und Squid. und danach geht das ganze wieder zurück zur Fritzbox, natürlich über ein zweites Interface.

    @Puschel
    Darüber lässt sich reden. Muss aber erstmal schauen, so schnell wird das wohl nicht. Brauche Zeit für sowas. Bis dahin nehme ich mopidy auf nem Pi    ;D
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 15 Mai 2015, 17:39:52
    Hallo,

    Zitat:
    Das mit dem eigenen Netz klingt interessant. Nur müssten dann wohl die Androidgeräte immer zwischen den Netzen springen.

    Wieso?
    Ich habe auch so eine ZoneBridge, die bündelt alle SonosPlayer in einem eigenen WLAN, welches auch noch vermascht ist und sich so den schnellsten Weg sucht. Die ZoneBridge funktioniert quasi wie ein Gateway bzw. UPnP.
    Alle Kontroller greifen über die ZoneBridge auf die Player zu. Da spielt also Deine Subnetz-Infrastruktur erst Mal keine Rolle.
    Man kann dieses "Sonos" - Netz dann auch dazu verwenden, über die Ethernet-Buchse an den Player andere Geräte anzubinden. Da hängen z.T. bei mir TVs dran, da ich an den Aufstellungsorten keine LAN-Buchsen habe.

    Gruß

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 15 Mai 2015, 17:50:28
    Zitat von: Elektrolurch am 15 Mai 2015, 17:39:52
    Man kann dieses "Sonos" - Netz dann auch dazu verwenden, über die Ethernet-Buchse an den Player andere Geräte anzubinden. Da hängen z.T. bei mir TVs dran, da ich an den Aufstellungsorten keine LAN-Buchsen habe.

    Gruß

    Elektrolurch

    Danke für diesen Tipp.
    Dann werd ich mir die ZoneBridge mal anschauen.
    Titel: Antw:Sonos steuern
    Beitrag von: CoolTux am 15 Mai 2015, 19:57:42
    @Elektrolurch
    Soweit mir bekannt kann man doch UPnP nicht routen. Zumindest nicht so einfach. Dazu müsste mein kernel Multicastrouting haben. Ansonsten ist beim jeweiligen Gateway doch Schluß!. Oder habe ich das falsch verstanden?
    Sollte das doch einfach gehen hole ich mir die Bridge
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 15 Mai 2015, 20:43:00
    die sonos player können ein eigenes vermaschtes wlan netz aufbauen und die bridge bzw. ein player ist das gateway ins 'normale' netz bzw. ins internet.



    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: CoolTux am 15 Mai 2015, 21:12:23
    Ich verstehe. Aber leider eben nur soweit wie Netzwerk am Ethernet Port der Bridge reicht. Wenn da also ein 192.168.0.0/24 er Netz ist. Dann müssen die Geräte welche die Steuersoftware für die Sonosplayer haben sich in diesem Netz befinden. Ein Gerät welches sich im 192.168.1.0/24 er Netz befindet würde die Bridge nicht finden. Oder? Wie geht das mit der Bridge. Ist sie das Steuergerät wie bei den Hue Lampen, oder gibt die Bridge nur die UPnP Packete weiter?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Mai 2015, 22:12:05
    Hi CoolTux,

    eine Bridge (allein) hilft dir nicht. Die macht das gleiche wie ein Player, den man direkt am verkabelten Netz angeschlossen hat (sozusagen ein Player ohne Musik :) ).

    Ich denke, dass einzige, was dir hilft, ist, deine (Android-)Controller in das SonosNet zu bringen, oder ein SubNet zum "Hauptnetz" zu machen, wo deine Sonosplayer und deine Controller alle gemeinsam drinhängen.
    Du kannst die Sonosplayer mittlerweile auch in ein (im Sinne eines gemeinsamen) bestehendes WLAN einbuchen lassen. Wenn du davon also nur eins hättest, ginge das auch...

    Und um es nochmal zu bestätigen: UPnP wird nicht geroutet. IP-Netzgrenzen werden damit nicht überwunden.
    Und: Multicastrouting wird Broadcast-Pakete (das sind die Erkennungs-/Meldepakete bei UPnP) auch nicht routen. Die Kommunikation der Steuerung nach dem Kennenlernen ist dann Unicast, und würde geroutet werden, aber das Auffinden eben nicht...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: stenny73 am 27 Mai 2015, 06:46:47
    Hallo

    Ich habe im Wohnzimmer die SonosBar mit Dem Sub und zwei Play1.
    Das steuern klappt soweit eigentlich, jedoch finde ich nicht die Möglichkeit
    die Pegel für Surround und Bass anzupassen. Über Volume an den Geräten
    ändert sich nichts, wenn ich über die sonos software was ändere sehe ich aber
    auch kein Reading das sich ändert.

    Hat hier einer eine Lösung?



    Stenny
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Mai 2015, 10:55:43
    Hi Stenny,

    diese Werte werden erst dann zur Laufzeit bei Fhem registriert, wenn du eins der Attribute "minVolume", "maxVolume" (oder die Headphone-Varianten davon) setzt.
    Damit werden einige Events in Fhem erzeugt, sodass man das über diesen Weg erst aktiv setzen muss.

    Du kannst also einfach ein

    attr Sonos_Player minVolume 0
    setzen, und somit ohne Einfluß auf die Lautstärkegrenzen bleiben, erhältst dann aber alle Volume Events...

    Den Basslevel kannst du mit

    set Sonos_Player Bass <Value>
    setzen.

    Den Surroundlevel kann man (noch) nicht setzen. Da ich keine Playbar habe, kann ich das auch nicht testen, werde aber mal schauen, ob ich den entsprechenden Setz-Aufruf dazu finden kann...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: stenny73 am 27 Mai 2015, 13:21:43
    Dann sehe ich es mir heute Abend nochmal an. Fünf halt nur die normale Lautstärke von der Bar- den sind und Surround meinte ich nicht beeinflussen zu können (aus fhem)

    Jedoch in der sonos software er es in der Art vom -10 bis +10.


    Gesendet von iPhone mit Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 28 Mai 2015, 23:41:42
    Hallo Reinerlein,

    ich finde dein Sonos-Modul immer noch super und ich glaube es war auch damals der Grund warum ich mir Sonos-Geräte gekauft habe,
    da ich die dann über den FHEM steuern konnte.
    Was mir jetzt aufgefallen ist, das es mit der App ,,FHEM APP" und den Sonos-Geräten scheinbar ein Problem gibt.
    Scheinbar ,,vertragen" sich nicht die Play1 als hintere Boxen im Wohnzimmer mit der App. Sobald diese im FHEM bekannt sind
    wird der Raum ,,Sonos" zwar geöffnet aber es erfolgt keine Anzeige mehr. Lösche ich diese aus der fhem.cfg oder schalte diese aus und lasse nur den folgenden Befehl
    "define Sonos SONOS localhost:4711 30" in der fhem.cfg kann ich über das App die verbleibenden Geräte steuern.
    Ich habe vorhin auch den Entwickler der App das Problem geschrieben aber ich dachte vielleicht ist es auch für Dich ein interessanter Hinweis.

    Weiterhin würde ich auch gern immer mehr auf das Sonos-App verzichten. Daher die Frage wie ich z.B. die Steuerleiste von den Sonos-Geräten in einen eigenen Raum platzieren könnten.
    Diese mit weiteren Button wie play Radio ab, bilde Gruppen von Wiedergabegeräten, löse z.B. einen Play 1 aus dem Surround-Verbund um an diesem einen Radiosender hören zu können.
    Kannst du mir da vielleicht eine Startdenkanstoß geben wie ich diesen umsetzten kann?

    Danke und einen schönen Abend

    Gruß aherby
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 Mai 2015, 09:45:12
    Hallo aherby,

    ich würde dir empfehlen ein eigenes Dashboard mit readingsGroups o.ä. dafür zu machen. Das haben auch schon einige gemacht.
    Die Anzeige, die ich mitliefere ist ja auch eine (zweckentfremdede) readingsGroup.

    Damit kannst du genau bestimmen, was wo angezeigt wird, und mit welchen Icons das passiert. Die Befehle kannst du dir u.U. ja in eine eigene Prozedur packen, damit du die zentral liegen hast, und von der Oberfläche aus diese Prozedur aufrufen. Muss aber auch nicht sein, bei Befehlsketten ist es nur u.U. übersichtlicher.
    Für die Favoriten/Radio/Playlist-Aktivierungen gibt es ja bereits was fertiges: http://www.fhemwiki.de/wiki/SONOS#Beispiel_f.C3.BCr_eine_ReadingsGroup_f.C3.BCr_die_Darstellung_von_Listen_.28Favoriten.2C_Playlisten_und_Radios.29 (http://www.fhemwiki.de/wiki/SONOS#Beispiel_f.C3.BCr_eine_ReadingsGroup_f.C3.BCr_die_Darstellung_von_Listen_.28Favoriten.2C_Playlisten_und_Radios.29)
    Ein Klick auf ein Icon startet das entsprechende Element auf dem entsprechenden Player. Das ist auch der Grund, warum man es an einem Player aufrufen muss: Das Bildchen kommt von diesem Player und der Aktivierungslink zeigt auch dorthin.

    Für die Gruppendarstellung gibt es auch schon eine Vorlage: http://www.fhemwiki.de/wiki/SONOS#Beispiel_f.C3.BCr_die_Anzeige_der_Gruppenkonstellation_in_einer_ReadingsGroup (http://www.fhemwiki.de/wiki/SONOS#Beispiel_f.C3.BCr_die_Anzeige_der_Gruppenkonstellation_in_einer_ReadingsGroup)

    Daran kannst du dich ja entlanghangeln...


    Die Funktionalitäten, die du aufgeführt hast, gehen direkt. Was noch schwierig ist, ist ein kompletter Umstieg inkl. Titelsuche.
    Es gibt zwar schon die Möglichkeit, alle Titelinformationen, die im Controller unter dem Punkt "Bibliothek" dargestellt werden, zu ermitteln und als Hash abspeichern zu lassen. Allerdings ist die Datenmenge ziemlich hoch, sodass hier noch eine geschickte Oberfläche gebastelt werden muss.
    Da wird gerade von Justme1968 und Elektrolurch dran gebastelt...

    Das mit der App kann ich mir nicht erklären, da die Sonosplayer-Devices ja normale Fhem-Devices sind. u.U. greift die App auf Informationen zu, die es bei den Surround-Playern nicht gibt? Aber normalerweise verwendet man in diesem Fall ja immer einen Fallback-Wert (wie z.B. einen Leerstring o.ä.).

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: stenny73 am 29 Mai 2015, 17:36:17
    Hallo Reinerlein

    Habe mir die Antwort heute - endlich mal etwas mehr Zeit - durchgelesen.

    Der Basslevel war auf den Sub bezogen - wird sich also ähnlich verhalten wie die Surround sache.

    Sofern du mir sagst wie ich da ggf. behilflich sein kann sag einfach bescheid.


    gruß
    stenny
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 Mai 2015, 20:54:48
    Hi Stenny,

    leider gibt es dafür keine direkte Methode. Das wird vermutlich über den Befehl setEQ erledigt werden. Leider gibt es dort keine vollständige Beschreibung, was man alles damit setzen kann (und mit welchen Parameterwerten man das kann).
    Das müsste man jetzt also mit einem Netzwerksniffer untersuchen, während man diesen Wert setzt...

    Auch hat meine Suche im Netz danach nichts hervorgebracht. Irgendwie macht das keiner, bzw. keiner hat es bislang herausgesucht :)
    Hast du denn Erfahrung mit einem Sniffer wie Wireshark?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 30 Mai 2015, 00:03:59
    moin,
    das heißt eigentlich man müsste einen Hub zwischen dem ,,PC" mit der Sonos-Software und den Sonos Geräten schalten und mit Wireshark
    die Aktivitäten mitzogen oder?
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 30 Mai 2015, 00:09:02
    Es reicht auch, einen Netzwerkmonitor direkt auf dem PC zu installieren ...
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 30 Mai 2015, 00:23:23
    ohje,

    kann jemand mal mit einen Akkuschrauber vorbei kommen und mir das min 20 mm dicke Brett vorm Kopf entfernen.
    Vielleicht finde ich morgen die Zeit um Wireshark zu loggen
    aber richtig habe ich Wireshark auch noch nicht genutzt.

    wenn sich mal wer bereit erklärt mir Sender und Rückmeldungen an virtuellen Geräten zu erklären kommt sicher auch das Brett weg.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Mai 2015, 00:50:30
    Hallo aherby,

    hier mal ein kleiner Akkuschrauber für den Anfang :) :
    - Auf deinem Windows-PC den Sonos-Client installieren
    - Auf demselben PC Wireshark installieren
    - Die IP Adresse der Playbar ermitteln (über den Sonos-Client unter dem Punkt "Über mein Sonos-System")
    - Wireshark starten, und im Filter "ip.addr == <IPADRESSEDERPLAYBAR>" angeben
    - Im Sonos-Controller unter Windows die Surround-Einstellungen anpassen
    - Im auftauchenden Datenwust im Wireshark den SOAP-Sende-Request heraussuchen und hier posten. Wie gesagt, erwarte ich einen Befehl "RenderingControl -> SetEQ" mit einem Parameter in Richtung Surround. Aber natürlich kann es auch etwas anderes sein...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 30 Mai 2015, 08:31:51
    ZitatIn der Datei "ControlPoint.pm" im Ordner "FHEM/lib/UPnP/" in der Zeile 1008 aus dem "carp" bitte ein "croak" machen.

    Ist es diese Stelle? siehe beigefügtes Bildschirmfoto

    wenn ich in vi das Kommando :1008z eingebe komme ich an diese Stelle.


    Nebenbei: ich habe noch nichts verändert.
    Sonos abgeschaltet --> dann kommen wieder die Fehlermeldungen
    Sonons 10 Minuten später wieder eingeschaltet --> dann kommen sie nach einer Menge anderer Logeinträge auch wieder regelmäßig alle 30 Sekunden
    ...
    2015.05.30 08:46:59 3: SONOS0: Connection accepted from localhost:34513
    2015.05.30 08:47:29 3: SONOS0: Connection accepted from localhost:34518
    2015.05.30 08:47:59 3: SONOS0: Connection accepted from localhost:34523
    2015.05.30 08:48:29 3: SONOS0: Connection accepted from localhost:34528
    ...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Mai 2015, 09:32:10
    Hi Jürgen,

    komisch, die Zeile mit der carp-Meldung ist die richtige, aber die Zeile darüber nicht.

    Hier mal die komplette Prozedur renew() aus der Datei ControlPoint.pm, mit der Anpassung von carp auf croak im unteren Else-Zweig:

    sub renew {
    my $self = shift;
    my $timeout = shift;

    my $url = $self->{_eventSubURL};
    my $request = HTTP::Request->new('SUBSCRIBE',
    "$url");
    $request->header('SID', $self->{_sid});
    $request->header('Timeout',
    'Second-' . defined($timeout) ? $timeout : 'infinite');

    my $ua = LWP::UserAgent->new(timeout => 20);
    my $response = $ua->request($request);

    if ($response->is_success) {
    $timeout = $response->header('Timeout');
    if ($timeout =~ /^Second-(\d+)$/) {
    $timeout = $1;
    }

    $self->{_timeout} = $timeout;
    $self->{_startTime} = Time::HiRes::time();
    }
    else {
    croak("Renewal of subscription failed with error: " .
    $response->code . " " . $response->message);
    }

    return $self;
    }


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 30 Mai 2015, 10:20:41
    Während Sonos spielt gitbt es nun diese Einträge ins Log

    ...
    2015.05.30 09:51:20 3: SONOS0: Connection accepted from localhost:34667
    2015.05.30 09:51:50 3: SONOS0: Connection accepted from localhost:34673
    2015.05.30 09:51:59 3: SONOS1: Event: Received Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.05.30 09:52:00 3: SONOS1: Event: End of Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.05.30 09:52:20 3: SONOS0: Connection accepted from localhost:34679
    2015.05.30 09:52:50 3: SONOS0: Connection accepted from localhost:34684
    2015.05.30 09:53:20 3: SONOS0: Connection accepted from localhost:34689
    2015.05.30 09:53:50 3: SONOS0: Connection accepted from localhost:34694
    2015.05.30 09:54:10 3: SONOS1: Event: Received Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.05.30 09:54:10 3: SONOS1: Event: End of Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.05.30 09:54:20 3: SONOS0: Connection accepted from localhost:34705
    2015.05.30 09:54:25 3: SONOS1: Event: Received Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.05.30 09:54:25 3: SONOS1: Event: End of Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.05.30 09:54:50 3: SONOS0: Connection accepted from localhost:34715
    2015.05.30 09:55:20 3: SONOS0: Connection accepted from localhost:34720
    2015.05.30 09:55:50 3: SONOS0: Connection accepted from localhost:34725
    2015.05.30 09:56:20 3: SONOS0: Connection accepted from localhost:34730
    2015.05.30 09:56:50 3: SONOS0: Connection accepted from localhost:34735
    2015.05.30 09:57:20 3: SONOS0: Connection accepted from localhost:34740
    2015.05.30 09:57:39 3: SONOS1: Event: Received Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.05.30 09:57:40 3: SONOS1: Event: End of Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.05.30 09:57:50 3: SONOS0: Connection accepted from localhost:34750
    2015.05.30 09:58:03 3: SONOS1: Event: Received Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.05.30 09:58:04 3: SONOS1: Event: End of Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.05.30 09:58:20 3: SONOS0: Connection accepted from localhost:34760
    ..


    Wenn ich nur eine Connect abschalte bekomme ich anschließend einen ganze Menge Logeinträge (die liste ich mal nicht auf) und wenn ich alles abschalte dann kommen weiterhin alle 30 Sekunden die Einträge
    2015.05.30 10:07:51 3: SONOS0: Connection accepted from localhost:34984
    2015.05.30 10:08:21 3: SONOS0: Connection accepted from localhost:34989
    2015.05.30 10:08:51 3: SONOS0: Connection accepted from localhost:34994
    2015.05.30 10:09:21 3: SONOS0: Connection accepted from localhost:34999


    Dann habe ich mal die fhem.cfg angeschaut und folgendes gefunden gesehen dass "attr global verbose 2" noch gesetzt ist (das hatte ich zwar auf 0 gesetzt, aber dann wohl nicht gesichert und beim restart heute morgen war es natürlich wieder 2. Also wieder auf 0 gesetzt. Es kommen aber weiterhin alle 30 Sekunden die Logeinträge.

    Eigentlich könnte es ja egal sein, aber wenn man wirklich mal aufgrnd von Problemen das Logfile braucht und es sind "gefühlt unendlich" viele nicht relevante Einträge drin, dann wird es schwierig das Richtige zu finden. Im Monatsfile macht alle 30 Sekunden eine ganze Menge aus...

    Nach dem Wiedereinschalten des Sonos-Systems bekomme ich dann folgende Logeinträge:
    2015.05.30 10:21:22 3: SONOS0: Connection accepted from localhost:35119
    2015.05.30 10:21:52 3: SONOS0: Connection accepted from localhost:35124
    2015.05.30 10:21:58 2: SONOS1: Device 'RINCON_000E5865D6B001400_MR' removed. Do nothing special here, cause all is done in another way...
    2015.05.30 10:22:00 2: SONOS1: Discover Sonosplayer 'BRIDGE' (ZB100) Software Revision 5.3.2 with ID 'RINCON_000E5865D6B001400_MR'
    2015.05.30 10:22:01 2: SONOS1: SonosPlayer 'BRIDGE' (ZB100) with ID 'RINCON_000E5865D6B001400_MR' is already defined and will only be updated
    2015.05.30 10:22:01 2: SONOS1: SonosPlayer 'BRIDGE' is now updated
    2015.05.30 10:22:01 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_000E5865D6B001400_sub0000000000
    2015.05.30 10:22:02 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_000E5865D6B001400_sub0000000001
    2015.05.30 10:22:02 3: SONOS1: Discover: End of discover-event for "BRIDGE".
    2015.05.30 10:22:02 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "mm_sonos_BRIDGE".
    2015.05.30 10:22:02 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "mm_sonos_BRIDGE".
    2015.05.30 10:22:02 3: SONOS1: Event: Received DeviceProperties-Event for Zone "mm_sonos_BRIDGE".
    2015.05.30 10:22:02 3: SONOS1: Event: End of DeviceProperties-Event for Zone "mm_sonos_BRIDGE".
    2015.05.30 10:22:06 2: SONOS1: Device 'RINCON_B8E93792A73E01400_MR' removed. Do nothing special here, cause all is done in another way...
    2015.05.30 10:22:06 2: SONOS1: Device 'RINCON_000E582AB0EE01400_MR' removed. Do nothing special here, cause all is done in another way...
    2015.05.30 10:22:07 2: SONOS1: Device 'RINCON_000E582AB0EE01400_MR' removed. Do nothing special here, cause all is done in another way...
    2015.05.30 10:22:07 2: SONOS1: Device 'RINCON_000E582AB0EE01400_MR' removed. Do nothing special here, cause all is done in another way...
    2015.05.30 10:22:10 2: SONOS1: Discover Sonosplayer 'Lounge' (ZP90) Software Revision 5.3.2 with ID 'RINCON_B8E93792A73E01400_MR'
    2015.05.30 10:22:22 3: SONOS0: Connection accepted from localhost:35144
    Error loading SCPD document: Die Wartezeit für die Verbindung ist abgelaufen at ./FHEM/00_SONOS.pm line 5112 thread 1
    2015.05.30 10:22:52 3: SONOS0: Connection accepted from localhost:35150
    Error loading SCPD document: Die Wartezeit für die Verbindung ist abgelaufen at ./FHEM/00_SONOS.pm line 5115 thread 1
    2015.05.30 10:23:16 2: SONOS1: Error during UPnP-Handling, restarting handling: 500 Can't connect to 192.168.178.42:1400 (Keine Route zum Zielrechner) at FHEM/lib/UPnP/ControlPoint.pm line 802 thread 1

    Unsubscription request failed with error: 500 Can't connect to 192.168.178.35:1400 (Keine Route zum Zielrechner) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1
    Unsubscription request failed with error: 500 Can't connect to 192.168.178.34:1400 (Keine Route zum Zielrechner) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1
    2015.05.30 10:23:22 3: SONOS0: Connection accepted from localhost:35159
    Unsubscription request failed with error: 500 Can't connect to 192.168.178.34:1400 (Keine Route zum Zielrechner) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1
    Unsubscription request failed with error: 500 Can't connect to 192.168.178.35:1400 (Keine Route zum Zielrechner) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1
    Unsubscription request ...........


    Habe nun das Sonos wieder gelöscht und anschließend neu definiert. Es spielt keine Musik, alles ist im stnad-by. Ergebnis: alle 30 Sekunden der bekannte Logeintrag. HALT, durch die Neudefinition könnte ja auch der verbose wieder anders sein, also bei dem sonos verbose auf 0 gesetzt. Dann auch wieder alle Sonosteile komplett ausgeschaltet. Keine weiteren Logeinträge.

    Ich werde das nun mal weiter beobachten...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Mai 2015, 11:09:39
    Hi Jürgen,

    im Prinzip sieht das ja ganz gut aus. Die Zahl vor der Logausgabe gibt ja den Level an. Die Heartbeat-Ausgaben liegen auf Level 3. Wenn du also Verbose (immer am Sonos-Device, nicht an einem Playerdevice) darunter gesetzt hast, sind die auch weg.

    Ein Problem ist, dass dein Fhem-System auf Deutsch umgeschaltet ist. Deswegen sind die Systemfehlermeldungen auf Deutsch (z.B. "Keine Route zum Zielrechner" anstatt "No route to host"), die ich so nicht überprüfe.
    Da muss ich mal schauen, ob ich die Meldungen korrekt übersetzt bekomme, damit ich auch exakt auf das richtige prüfe. Das Problem ist halt, dass ich bei manchen Fehlermeldungen den SubProzess neu anstarte, weil die Meldungen auf ein temporäres Problem hindeuten, und bei allen anderen den SubProzess sterben lasse.
    Wenn da jetzt also eine temporäre Situation nicht erkannt wird (weil sie auf deutsch gemeldet wird), dann stirbt der Prozess u.U. Überflüssigerweise...

    Ansonsten schauen wir mal, was jetzt so passiert :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 30 Mai 2015, 12:14:28
    Guten ....

    ich hoffe meine Bedienung mit Wireshark war so richtig
    und die Auszüge zeigen den gewünschten ,,Befehl"

    Ich habe einmal die Surroundboxen ein bzw aus geschaltet und dann die Lautstärke verändert.

    Folgende Variabel ist wohl wichtig:
    SurroundEnable, Surroundlevel unter EQType
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Mai 2015, 12:50:29
    Hi aherby,

    perfekt :). Danke dafür, dann kann ich das einbauen...

    Kannst du mir noch die obere und untere Grenze für den SurroundLevel ermitteln?
    In deinem Beispiel steht jetzt -14, die Frage ist halt, bis wohin das so wandern kann...

    Danke schon mal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 30 Mai 2015, 13:27:22
    ZitatAnsonsten schauen wir mal, was jetzt so passiert :)

    Ich habe jetzt mal FHEM einem Restart unterzogen, somit sollte auch Sonos ordentlich ablaufen. Verbose von sonos habe ich auf 2 gesetzt. Sollte mir etwas auffallen, werde ich berichten.

    Gruß
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 30 Mai 2015, 14:24:29
    Hallo Reinerlein,

    ich dachte die -14 bzw 14 wären das Ende aber scheinbar ist -15 und 15 der richtige Wert.

    Falls du den Sub auch mit einbauen willst dann
    SubEnable, SubGain (Bereich auch von -15 bis 15)

    SubPolarity ist laut SonosClient die ,,Platzierungseinstellung".
    Die konnte ich in meiner Wohnung glaube ich nicht testen, da wenn ich den Test machen würde die Nachbarn vom Sofa fallen.

    AudioDelay ist die Audioverzögerung von der Playbar, (Bereich von 0 bis 5)

    SubCrossover könnte mit der Zuordnung vom Sub zusammenhängen.


    Fehlen Dir noch weitere ,,Parameter" für z.B. TV-Autoplay, Gruppierung bei Autoplay aufheben, IR-Signalleuchte, Weiße Status-LED, Loudness, bei der Musikwiedergabe vollen oder Hintergrund

    Einfach melden, wenn ich helfen kann mache ich es gern.

    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 30 Mai 2015, 17:39:46
    Nachdem Sonosn nun soweit funktioniert, würde ich gerne die Info, die bei einem Player angegeben ist auch in meinem Floorplan haben (siehe Screenshot). Das Bild kann ich, aber mit dem Text happert's. InfoSummarize scheint der Schlüssel zu sein, aber was muss ich da drumherum noch in fhem definieren?
    Titel: Antw:Sonos steuern
    Beitrag von: stenny73 am 30 Mai 2015, 19:45:51
    Zitat von: Reinerlein am 29 Mai 2015, 20:54:48
    Hi Stenny,

    leider gibt es dafür keine direkte Methode. Das wird vermutlich über den Befehl setEQ erledigt werden. Leider gibt es dort keine vollständige Beschreibung, was man alles damit setzen kann (und mit welchen Parameterwerten man das kann).
    Das müsste man jetzt also mit einem Netzwerksniffer untersuchen, während man diesen Wert setzt...

    Auch hat meine Suche im Netz danach nichts hervorgebracht. Irgendwie macht das keiner, bzw. keiner hat es bislang herausgesucht :)
    Hast du denn Erfahrung mit einem Sniffer wie Wireshark?

    Grüße
    Reinerlein

    Mein Bereitschaftsdienst stört etwas.....

    Aber da kommen ja schon Daten von woanders....
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Juni 2015, 10:23:06
    Hallo zusammen,

    @aherby: Danke für die Infos. Ich werde die sicheren Befehle einbauen.

    @Jürgen: für den Floorplan muss das, glaube ich, im State stehen. Du kannst mit den Fhem-Bordmitteln "stateFormat" ein beliebiges Reading in den State packen. Wenn ein bestehendes infoSummarize die Informationen vorliegen hat, die du möchtest, dann kannst du es dort also direkt verwenden.
    Wenn du andere Informationen haben möchtest, dann kannst du entweder ein bestehendes oder neues infoSummarize entsprechend definieren, oder bei einfachen Verkettungen auch direkt mit stateFormat den State zusammenbauen.

    @Stenny: Kein Problem. Aherby hat das ja schon herausgesucht...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 02 Juni 2015, 11:39:19
    Sons ist eingerichtet, alles perfekt. Dann das automatische Ausschalten der SOnos-Teile nach 5 Min. nicht abspielen - tut.

    Dann wollte ich wieder Musikhören, also über FHEM die Hifigeräte aktiviert und mit der Sonos-App Musik gehört - nur es schaltet sich nciht mehr ab. Schaut man in FHEM, dann heißt es "player disappeared" - nach FHEM Neustart alles wieder ok.

    Mhm, muss ich jedes Mal Shutdown+restart machen??!? Das zu automatisieren, sobald ich die Hifikette wieder einschalte??!?

    Oder gibt es eine bessere Lösung? Aus der Doku habe ich nicht hilfreiches entnehmen können.

    Gruß
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Juni 2015, 11:56:11
    Hi Jürgen,

    das ist schon mal nicht normal :) Das Modul sollte natürlich mitbekommen, wenn die Player wieder an sind, da diese sich nach dem Einschalten melden. Da scheint irgendein Thread beendet worden zu sein....

    Ist das reproduzierbar?
    Kannst du dann mal deinen Konsolenlog auf Level 5 posten?

    Danke...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 02 Juni 2015, 13:13:22
    Oops, das sind ja jede Menge Daten (ich hoffe, ich habe alles richtig gemacht)!

    diesmal hat es übrigens funktioniert!!?! Alle 4 Komponentnen (Bridge, Play1, 2xConnect)  waren aus, 3 (Bridge, Play1, 1xConnect) habe ich eingeschaltet, 2 Titel angewählt, dann auf Pause gesetzt. Die Connect dann abgeschaltet, Play1 und Bridge laufen aber noch. Dann das Logfile kopiert:

    Nachtrag: jetzt das Logfile als separate Datei angehängt, zuvor war's ja greuslich...
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 02 Juni 2015, 13:17:44
    Das Abschalten der restlichen Komponenten habe ich auch noch geloggt (Verbesserungen zum Posten des Logfiles nehme ich gerne entgegen).

    2015.06.02 13:14:14 0: SONOS1: Setting LogLevel to new value: 5
    2015.06.02 13:14:30 3: SONOS0: Connection accepted from localhost:49087
    2015.06.02 13:14:30 5: SONOS0: Received: 'hello'
    2015.06.02 13:14:30 5: SONOS0: Received: 'goaway'
    2015.06.02 13:14:30 4: SONOS0: Got correct Answer from Subprocess...
    2015.06.02 13:14:33 5: SONOS0: FhemWebCallback: /sonos/cover/empty.jpg
    2015.06.02 13:14:33 5: SONOS0: Cover: /empty.jpg
    2015.06.02 13:14:36 4: SONOS2: IsAlive-Event UDN=RINCON_000E58C1AF1801400_MR
    2015.06.02 13:14:36 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E58C1AF1801400_MR, reading, location, ) -> http://192.168.178.34:1400/xml/device_description.xml
    2015.06.02 13:14:36 5: SONOS2: Location: http://192.168.178.34:1400/xml/device_description.xml
    2015.06.02 13:14:36 5: SONOS2: PingType: syn
    2015.06.02 13:14:36 4: SONOS2: 192.168.178.34 is alive
    2015.06.02 13:14:36 4: SONOS2: IsAlive-Event UDN=RINCON_000E5865D6B001400_MR
    2015.06.02 13:14:36 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5865D6B001400_MR, reading, location, ) -> http://192.168.178.27:1400/xml/device_description.xml
    2015.06.02 13:14:36 5: SONOS2: Location: http://192.168.178.27:1400/xml/device_description.xml
    2015.06.02 13:14:36 5: SONOS2: PingType: syn
    2015.06.02 13:14:37 4: SONOS2: 192.168.178.27 is alive
    2015.06.02 13:14:37 4: SONOS2: IsAlive-Event UDN=RINCON_000E582AB0EE01400_MR
    2015.06.02 13:14:37 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582AB0EE01400_MR, reading, location, ) -> http://192.168.178.35:1400/xml/device_description.xml
    2015.06.02 13:14:37 5: SONOS2: Location: http://192.168.178.35:1400/xml/device_description.xml
    2015.06.02 13:14:37 5: SONOS2: PingType: syn
    2015.06.02 13:14:37 4: SONOS2: 192.168.178.35 is alive
    2015.06.02 13:14:52 5: SONOS0: FhemWebCallback: /sonos/cover/empty.jpg
    2015.06.02 13:14:52 5: SONOS0: Cover: /empty.jpg
    2015.06.02 13:15:00 3: SONOS0: Connection accepted from localhost:49093
    2015.06.02 13:15:00 5: SONOS0: Received: 'hello'
    2015.06.02 13:15:00 5: SONOS0: Received: 'goaway'
    2015.06.02 13:15:00 4: SONOS0: Got correct Answer from Subprocess...
    2015.06.02 13:15:02 5: SONOS0: FhemWebCallback: /sonos/cover/empty.jpg
    2015.06.02 13:15:02 5: SONOS0: Cover: /empty.jpg
    2015.06.02 13:15:07 4: SONOS2: IsAlive-Event UDN=RINCON_000E58C1AF1801400_MR
    2015.06.02 13:15:07 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E58C1AF1801400_MR, reading, location, ) -> http://192.168.178.34:1400/xml/device_description.xml
    2015.06.02 13:15:07 5: SONOS2: Location: http://192.168.178.34:1400/xml/device_description.xml
    2015.06.02 13:15:07 5: SONOS2: PingType: syn
    2015.06.02 13:15:07 4: SONOS2: 192.168.178.34 is alive
    2015.06.02 13:15:07 4: SONOS2: IsAlive-Event UDN=RINCON_000E5865D6B001400_MR
    2015.06.02 13:15:07 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5865D6B001400_MR, reading, location, ) -> http://192.168.178.27:1400/xml/device_description.xml
    2015.06.02 13:15:07 5: SONOS2: Location: http://192.168.178.27:1400/xml/device_description.xml
    2015.06.02 13:15:07 5: SONOS2: PingType: syn
    2015.06.02 13:15:07 4: SONOS2: 192.168.178.27 is alive
    2015.06.02 13:15:07 4: SONOS2: IsAlive-Event UDN=RINCON_000E582AB0EE01400_MR
    2015.06.02 13:15:07 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582AB0EE01400_MR, reading, location, ) -> http://192.168.178.35:1400/xml/device_description.xml
    2015.06.02 13:15:07 5: SONOS2: Location: http://192.168.178.35:1400/xml/device_description.xml
    2015.06.02 13:15:07 5: SONOS2: PingType: syn
    2015.06.02 13:15:07 4: SONOS2: 192.168.178.35 is alive
    2015.06.02 13:15:25 5: SONOS0: FhemWebCallback: /sonos/cover/empty.jpg
    2015.06.02 13:15:25 5: SONOS0: Cover: /empty.jpg
    2015.06.02 13:15:30 3: SONOS0: Connection accepted from localhost:49097
    2015.06.02 13:15:30 5: SONOS0: Received: 'hello'
    2015.06.02 13:15:30 5: SONOS0: Received: 'goaway'
    2015.06.02 13:15:30 4: SONOS0: Got correct Answer from Subprocess...
    2015.06.02 13:15:37 4: SONOS2: IsAlive-Event UDN=RINCON_000E58C1AF1801400_MR
    2015.06.02 13:15:37 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E58C1AF1801400_MR, reading, location, ) -> http://192.168.178.34:1400/xml/device_description.xml
    2015.06.02 13:15:37 5: SONOS2: Location: http://192.168.178.34:1400/xml/device_description.xml
    2015.06.02 13:15:37 5: SONOS2: PingType: syn
    2015.06.02 13:15:37 4: SONOS2: 192.168.178.34 is alive
    2015.06.02 13:15:37 4: SONOS2: IsAlive-Event UDN=RINCON_000E5865D6B001400_MR
    2015.06.02 13:15:37 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E5865D6B001400_MR, reading, location, ) -> http://192.168.178.27:1400/xml/device_description.xml
    2015.06.02 13:15:37 5: SONOS2: Location: http://192.168.178.27:1400/xml/device_description.xml
    2015.06.02 13:15:37 5: SONOS2: PingType: syn
    2015.06.02 13:15:37 4: SONOS2: 192.168.178.27 is alive
    2015.06.02 13:15:37 4: SONOS2: IsAlive-Event UDN=RINCON_000E582AB0EE01400_MR
    2015.06.02 13:15:37 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_000E582AB0EE01400_MR, reading, location, ) -> http://192.168.178.35:1400/xml/device_description.xml
    2015.06.02 13:15:37 5: SONOS2: Location: http://192.168.178.35:1400/xml/device_description.xml
    2015.06.02 13:15:37 5: SONOS2: PingType: syn
    2015.06.02 13:15:37 4: SONOS2: 192.168.178.35 is alive
    2015.06.02 13:15:41 5: SW: 446f576f726b3a756e6465663a736574566572626f73653a300d0a
    2015.06.02 13:15:41 5: SONOS0: Received: 'DoWork:undef:setVerbose:0'
    2015.06.02 13:15:41 0: SONOS1: Setting LogLevel to new value: 0
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Juni 2015, 13:50:14
    Hi Jürgen,

    Ok, wenn alles funktioniert, finde ich den Fehler auch nicht im Log, oder? :)
    Wir brauchen das Log, wenn es nicht funktioniert... Ich vermute mal, dass der Prozess wegen deiner deutschen Fehlermeldungen verstirbt. Kannst du deinen Pi auf englische Meldungen umstellen?

    Außerdem hat er beim Abschalten wohl nicht bemerkt, dass die Player nun weg sind, oder taucht das nur nicht im Log auf?

    Ansonsten ist die Variante mit Dateianhang für lange Logs die bessere :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 02 Juni 2015, 13:55:57
    ZitatKannst du deinen Pi auf englische Meldungen umstellen?

    pi gerne, aber wie?

    Sonos auf Englisch betreiben mag meine Frau nicht so gerne. Wäre aber auch nicht wirklich tragisch.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Juni 2015, 14:14:30
    Hi Jürgen,

    Sonos kann bleiben wie es ist! Also keine Probleme mit deiner Frau :)

    Es geht um die Systemnachrichten auf dem Pi. Du scheinst das auf Deutsch umgestellt zu haben.
    Ich meine das ging mit

    sudo dpkg-reconfigure locales

    Dort habe ich den Eintrag "en_GB.UTF-8 UTF-8" ausgewählt. Wenn da bei dir etwas deutsches ausgewählt ist, könnte es das sein...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 02 Juni 2015, 14:53:07
    "this might take a while"

    sagt mir Rsapberry ...und stellt es um, mal sehen, wie es jetzt tut.
    Titel: Antw:Sonos steuern
    Beitrag von: MarioS1969 am 10 Juni 2015, 12:02:40
    Hallo,
    meine Sonos läuft jetzt soweit. PlayURITemp und Speak funktionieren.
    Radio spiele ich wie folgt ab:


    define act_SWR3 notify SWR3 {\
         fhem("set Sonos_Wohnzimmer PlayURI http://mp3-live.swr3.de/swr3_s.m3u");;\
         fhem("set Sonos_Wohnzimmer play");;\
    }


    Reinerlein gab mir den Tipp:
    Zitat
    Ich würde dir empfehlen, die Radiosender nach Möglichkeit aus den Radiofavoriten zu starten (also per Sonos-Controller den Sender zu den Radiofavoriten hinzufügen, und dann aus Fhem heraus mittels "StartRadio" starten).
    Dabei werden dann die üblichen Informationen sowie das Sendercover angezeigt...

    Kann mir jemand sagen welche Schritte ich konkret machen muss, ich komme damit einfach nicht voran.
    wie kann ich z.B. per Sonos-Controller den Sender zu den Radiofavoriten hinzufügen
    Auch das FHEMWiki hat mir nicht weitegeholfen.
    Ich habe bislang noch keine Favoriten und keine Sender definiert.
    Hat jemand vielleicht einen Beispielcode den ich ich mir ansehen kann.

    Vielen Dank
    Mario
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Juni 2015, 13:55:58
    Hallo Mario,

    zuerst zu deinem Notify: Du kannst die Play-Anweisung weglassen, da PlayURI bereits das Abspielen startet.

    Zu dem Radiofavoriten: Bei meinem Tipp ging es darum einfach mit dem Originalcontroller einen Radiosender zu speichern.
    Dabei kannst du ihn zu den Radiofavoriten hinzufügen (also die Radiosenderliste, die man sieht, wenn man auf den Radiobereich wechselt), oder als Sonos-Favorit (Das was zum Start der App angezeigt wird).

    Je nachdem, wo du es eingefügt hast, musst du den passenden Befehl in Fhem zum Anstarten des Senders wählen:

    set Sonos_Wohnzimmer StartFavourite <favoritenname>

    set Sonos_Wohnzimmer StartRadio <radioname>


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: MarioS1969 am 11 Juni 2015, 15:21:09
    Hallo Reiner,
    vielen Dank für die Tipps. Damit hat es geklappt.
    Mir war bislang nicht klar, dass ich die Radio-Favoriten in der Original-Sonos SW einrichten muss, um sie dann in FHEM einzulesen.

    # RadioTon
    define RadioTon dummy
    attr RadioTon devStateIcon Aus:remotecontrol/black_btn_PLAY:Ein Ein:remotecontrol/black_btn_PLAY:Aus
    attr RadioTon group 10_Sonos-Radio
    attr RadioTon room Multimedia
    attr RadioTon setList State:Ein,Aus
    attr RadioTon webCmd :
    define act_RadioTon notify RadioTon {\
         fhem("set Sonos_Wohnzimmer StartRadio Radio%%20Ton");;\
    }

    Jetzt habe ich 5 Sender Buttons mit denen ich die Sender wechseln kann. Ausschalten sowie laut und leise mache ich über die von dir bereitgestellte RemoteControl.

    Vielen Dank noch mal
    Mario

    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 28 Juni 2015, 17:41:38
    Hi Reiner,

    das Sonos-Modul wird ja echt immer besser, hab schon paar neue Projekte (z.B. mit dem neuen Bookmark Feature - auf sowas habe ich gewartet) in Planung :-)
    Auch das neue Feature der mp3-Ausgabe im Speak ist echt was feines!

    Allerdings mal wieder ein "Problemchen"...

    Seit dieser Woche landen ja nun alle STDOUT/STDERR ohne dass man sie umleiten kann direkt im normalen fhem.log.
    Jetzt wird das Log (zumindest bei mir) durch das SONOS-Modul extrem mit solchen Meldungen "zugebombt":
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 352, <$client> line 7.


    Sonos-Verbose ist bei mir auf 1, also ansonsten ziemliche Stille.
    Meinst du, du kannst evtl. mal drüberschauen um diese Meldungen zumindest deutlich zu minimieren?

    Danke schonmal und viele Grüße
    Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 28 Juni 2015, 17:45:07
    Schau mal weiter oben im thread. dir meldung kommt aus einem perl library file. dort gibt es scheinbar einen bug. ich habe auch eine änderung vorgeschlagen die bei mir seit monaten problemlos funktioniert.

    das ganze hat nichts mit dem sonos modul selber zu tun.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 28 Juni 2015, 17:59:52
    Hi Andre,

    danke - hat funktioniert :-)

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 29 Juni 2015, 21:24:52
    Hi Reiner,

    kleiner Änderungswunsch am Modul,

    wäre die Änderung möglich, dass der Befehl "GroupVolume" relativ ohne Zahlenwert verwendet werden kann und in diesem Fall VolumeStep vom angesprochenen Device verwendet wird?

    Also z.B.
    "attr sonos1 VolumeStep 4"
    "set sonos1 GroupVolume +"  => erhöht um 4
    "set sonos1 GroupVolume -" => verringert um 4

    oder alternativ 2 neue Befehle GroupVolumeU & GroupVolumeD ?


    Finde es sehr gut, wenn man solche Konfigurationen wie VolumeStep nicht unbedingt in den Code packen muss, allerdings ist dies bei GroupVolume i.M. notwendig.

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 Juni 2015, 22:03:00
    Hi Claudiu,

    ich bin für die Variante mit "GroupVolumeU" und "GroupVolumeD", damit es einheitlich ist.
    Die Relativangabe mit + oder - geht ja sowieso, man muss halt nur einen Wert angeben...

    Mit der in Planung befindlichen Fhem Anpassung für das vereinfachte Auslesen von Readings in Set-Anweisungen ginge das dann auch über die Relativ-Variante... das ist aber ja noch nicht sicher abgeschlossen und drin...

    Ich versuche das kurzfristig einzuchecken... muss es nur noch kurz prüfen... vermutlich Morgen im Laufe des Tages...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 29 Juni 2015, 22:15:12
    Super ;D, mit den 2 neuen Befehlen ist es denke ich wirklich deutlich besser!

    Ja mit 5.7 kann man in zukunft evtl. noch paar tolle Sachen machen, im Moment verwende ich ein Konstrukt aus "set sonos GroupVolume +".AttrVal('sonos','VolumeStep',7)"

    Aber bloß keine Eile, ist mal wieder blos so ein nice2have Feature  ;)

    Gruß Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: mfkfx am 09 Juli 2015, 09:32:03
    Braucht man unbedingt eine Sonos Bridge um einen Play1. wireless mit fhem zu betreiben?

    Danke
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 09 Juli 2015, 09:35:41
    nein. normales wlan geht auch.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: mfkfx am 09 Juli 2015, 12:30:49
    Danke für die Antwort.

    Aber mit Bridge geht es auch? Welche Vorteile hat diese dann, wenn man den Play1 sowieso nur mit FHEM verwenden will?
    Nur den, dass das normale WLAN nicht belastet wird?


    mfg
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 09 Juli 2015, 13:18:02
    naja Vorteile? Nicht wirklich

    Du brauchst Die Bridge überhaupt nicht - braucht nur Energie, Stellplatz, sammelt Staub, erhöht die Funkbelastung...
    Titel: Antw:Sonos steuern
    Beitrag von: NoFaker76 am 09 Juli 2015, 13:22:06
    Eine der Sonos Komponenten muss per Kabel ins Internet gebracht werden (so zumindest mein Kenntnissstand - kann aber auch schon wieder überholt sein).
    Wenn Du also Deine Play1 immer am gleichen Ort und über LAN-Kabel mit Router verbunden hast, brauchst Du keine Bridge. Wenn nicht, benötigst Du eine Bridge oder ein anderes Gerät, welches Du dauerhaft per LAN-Kabel an Deinen Router anschließen kannst. Für nichts anderes ist die Bridge gedacht.

    Dies hat also nichts mit FHEM zu tun.
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 09 Juli 2015, 13:25:03
    bei mir steht die Sonos 1 im Bad ohne LAN ...

    zum ersten Einrichten brauchte ich glaube für 5 Minuten LAN bis ich der Box mein WLAN bekannt gegeben habe, danach nur noch über die App/FHEM
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 11 Juli 2015, 16:55:36
    Hallo,

    ich brauche mal wieder ein wenig Hilfe. Ich versuche gerade die Sprachausgabe für die aktuelle und die Höchsttemperatur zum Laufen zu bringen.
    Samba ist installiert.
    Mein notify sieht so aus:
    Fern1Taste2rechts:toggle {my $temp = "Außentemperatur: " . ReadingsVal("MeinWetter","temperature","unbekannt") . " °C. Höchsttemperatur: " . ReadingsVal("MeinWetter","fc1_high_c","unbekannt") . " °.";; fhem "set Sonos_Bad Speak 30 de $temp"}

    Die Attribute in Sonos sind so gesetzt:
    targetSpeakDir /mnt/SonosSpeak
    targetSpeakFileHashCache 1
    targetSpeakFileTimestamp 1
    targetSpeakURL \\192.168.178.27\mnt\SonosSpeak

    Im Log sieht es so aus und es wird einfach immer der Sender gespielt, der zu letzt geladen war, wenn der im Status 'Pause' war, ohne dass die korrekt erzeugte Sprachausgabe abgespielt wird:

    2015.07.11 16:00:02 4: FS20 Fern1Taste2rechts toggle
    2015.07.11 16:00:02 5: Triggering Fern1Taste2rechts (1 changes)
    2015.07.11 16:00:02 5: Notify loop for Fern1Taste2rechts toggle
    2015.07.11 16:00:02 5: Triggering Fern1Taste2rechts_Notify
    2015.07.11 16:00:02 4: Fern1Taste2rechts_Notify exec {my $temp = "Außentemperatur: " . ReadingsVal("MeinWetter","temperature","unbekannt") . " °C. Höchsttemperatur: " . ReadingsVal("MeinWetter","fc1_high_c","unbekannt") . " °.";;;; fhem "set Sonos_Bad Speak 30 de $temp"}

    2015.07.11 16:00:02 5: Cmd: >{my $temp = "Außentemperatur: " . ReadingsVal("MeinWetter","temperature","unbekannt") . " °C. Höchsttemperatur: " . ReadingsVal("MeinWetter","fc1_high_c","unbekannt") . " °.";; fhem "set Sonos_Bad Speak 30 de $temp"}
    <
    2015.07.11 16:00:02 5: Cmd: >set Sonos_Bad Speak 30 de Außentemperatur: 30 °C. Höchsttemperatur: 31 °.<
    2015.07.11 16:00:02 5: SW: 446f576f726b3a52494e434f4e5f30303045353843373437394330313430305f4d523a737065616b303a33302c64652c204175c39f656e74656d706572617475723a20333020c2b0432e2048c3b66368737474656d706572617475723a20333120c2b02e0d0a
    2015.07.11 16:00:03 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Au%DFentemperatur%3A%2030%20%B0C.%20H%F6chsttemperatur%3A%2031%20%B0." to "./RINCON_000E58C7479C01400_MR_Speak.mp31"
    2015.07.11 16:00:03 3: SONOS1: Combine loaded chunks into "./RINCON_000E58C7479C01400_MR_Speak.mp3"
    2015.07.11 16:00:03 3: SONOS1: Start temporary playing of "/RINCON_000E58C7479C01400_MR_Speak.mp3"
    2015.07.11 16:00:04 5: SONOS0: Received from UPnP-Server: 'DoWorkAnswer:RINCON_000E58C7479C01400_MR:LastActionResult:PlayURITemp: Success!'
    2015.07.11 16:00:04 4: SONOS0: DoWorkAnswer arrived for Sonos_Bad->LastActionResult: 'PlayURITemp: Success!'
    2015.07.11 16:00:04 5: Triggering Sonos_Bad (1 changes)
    2015.07.11 16:00:04 5: Notify loop for Sonos_Bad LastActionResult: PlayURITemp: Success!
    2015.07.11 16:00:04 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Bad".
    2015.07.11 16:00:04 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Bad".
    2015.07.11 16:00:04 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2015.07.11 16:00:05 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2015.07.11 16:00:05 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Bad".
    2015.07.11 16:00:05 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Bad".
    2015.07.11 16:00:05 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_000E58C7479C01400_MR:Balance:0'
    2015.07.11 16:00:05 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChangedNoTrigger:RINCON_000E58C7479C01400_MR:Volume:30'
    2015.07.11 16:00:05 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_000E58C7479C01400_MR:0'
    2015.07.11 16:00:05 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_000E58C7479C01400_MR'
    2015.07.11 16:00:05 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2015.07.11 16:00:05 5: Triggering Sonos_Bad (1 changes)
    2015.07.11 16:00:05 5: Notify loop for Sonos_Bad infoSummarize3: Lautstaerke: 30 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhoerer
    2015.07.11 16:00:05 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_000E58C7479C01400_MR:1'
    2015.07.11 16:00:05 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TransportState:PLAYING'
    2015.07.11 16:00:05 5: SONOS0: Received from UPnP-Server: 'SetCurrent:CrossfadeMode:0'
    2015.07.11 16:00:05 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NumberOfTracks:8'
    2015.07.11 16:00:05 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Track:1'
    2015.07.11 16:00:05 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackURI:http://mp3.ffh.de/radioffh/hqlivestream.mp3'


    Wenn der vorherige Sender im Status 'Stopped' war, passiert gar nichts und das Log sieht so aus:
    2015-07-11 16:55:34 FS20 Fern1Taste2rechts toggle
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad currentAlbumArtURI: ./www/images/default/SONOSPLAYER/Sonos_Bad_AlbumArt.png
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad numberOfTracks: 1
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad currentTrackURI: //192.168.178.27/mnt/SonosSpeak/RINCON_000E58C7479C01400_MR_Speak_5d9b7bfed797ff759d967051d0754b01ce603fe2.mp3
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad currentTrackProvider: Bibliothek
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad currentTitle: RINCON_000E58C7479C01400_MR_Speak_5d9b7bfed797ff759d967051d0754b01ce603fe2.mp3
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad currentAlbumArtURL: /fhem/sonos/cover/empty.jpg
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad currentSender:
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad currentStreamAudio: 0
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad currentNormalAudio: 1
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad nextTrackURI:
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad nextTrackProvider:
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad nextTitle:
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad infoSummarize1: 'RINCON_000E58C7479C01400_MR_Speak_5d9b7bfed797ff759d967051d0754b01ce603fe2.mp3'
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad infoSummarize2: STOPPED => 'RINCON_000E58C7479C01400_MR_Speak_5d9b7bfed797ff759d967051d0754b01ce603fe2.mp3'
    2015-07-11 16:55:36 SONOSPLAYER Sonos_Bad STOPPED => 'RINCON_000E58C7479C01400_MR_Speak_5d9b7bfed797ff759d967051d0754b01ce603fe2.mp3'
    2015-07-11 16:55:37 SONOSPLAYER Sonos_Bad infoSummarize3: Lautstaerke: 30 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhoerer
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad currentAlbumArtURI: ./www/images/default/SONOSPLAYER/Sonos_Bad_AlbumArt.gif
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad numberOfTracks: 8
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad currentTrackURI: http://mp3.ffh.de/radioffh/hqlivestream.mp3
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad currentTrackProvider: Radio
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad currentTitle:
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad currentAlbumArtURL: http://192.168.178.41:1400/getaa?s=1&u=x-sonosapi-stream%3as17490%3fsid%3d254%26flags%3d32
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad currentSender: HIT RADIO FFH
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad currentStreamAudio: 1
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad currentNormalAudio: 0
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad nextTrackURI: aac://mp3.ffh.de/radioffh/livestream.aac
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad nextTrackProvider: Radio
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad nextTitle: livestream.aac
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad infoSummarize1: HIT RADIO FFH:
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad infoSummarize2: STOPPED => HIT RADIO FFH:
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad STOPPED => HIT RADIO FFH:
    2015-07-11 16:55:48 SONOSPLAYER Sonos_Bad infoSummarize3: Lautstaerke: 15 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhoerer




    Hat jemand eine Idee, woran es liegen kann?

    Danke schonmal.
    Titel: Antw:Sonos steuern
    Beitrag von: NoFaker76 am 11 Juli 2015, 17:20:49
    Hallo.

    In meinem Logfile erhalte ich wenn ich die Sonos abspiele ständig die folgende Meldung:
    Loading device description failed with error: 403 Forbidden at ./FHEM/00_SONOS.pm line 3590 thread 1

    Mein define für Sonos sieht wie folgt aus:
    define Sonos SONOS localhost:4711 30 1 5
    attr Sonos verbose 0


    Der Rest (eine Play3 und eine Connect) wurde automatisch angelegt.
    Die Steuerung und alles andere funktioniert wunderbar.

    Wer hat eine Idee, wie ich diese Meldung eleminiere?

    Vielen Dank
    Kim
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Juli 2015, 18:08:53
    Hallo,

    @CapeGhost: Du musst wahrscheinlich mal die Konfiguration sichern, und den SubProzess neustarten (das Attribut disable am Sonos-Device auf 1 setzen, kurz warten und wieder löschen).
    Es wird ja ausgegeben, wo die Sprachdatei gesichert wird. Das erfolgt mit "." am Anfang, also im aktuellen Fhem-Verzeichnis. Da du ein anderes Konfiguriert hast, sollte es auch dort landen (zumal die Freigabe vermutlich auf den anderen Ordner zeigt)...

    @Kim: das sind bislang noch nicht vorgekommene Meldungen. Ab und an hat man mal eine "No Route to Host"-Meldung, aber ein forbidden...
    Im Normalfall dürften die den Betrieb aber nicht stören. Das Problem ist allerdings, dass diese direkt von der Perl-TCP/IP Implementierung auf STDERR ausgegeben werden, und somit nicht in der Macht des Moduls liegen. Das bedeutet ich kann die nicht unterbinden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 11 Juli 2015, 19:40:58
    Hallo Reinerlein,

    habe ich durchgeführt:
    Jetzt sieht das Log so aus:
    2015.07.11 19:32:51 4: FS20 Fern1Taste2rechts toggle
    2015.07.11 19:32:51 5: Triggering Fern1Taste2rechts (1 changes)
    2015.07.11 19:32:51 5: Notify loop for Fern1Taste2rechts toggle
    2015.07.11 19:32:51 5: Triggering Fern1Taste2rechts_Notify
    2015.07.11 19:32:51 4: Fern1Taste2rechts_Notify exec {my $temp = "Außentemperatur: " . ReadingsVal("MeinWetter","temperature","unbekannt") . " °C. Höchsttemperatur: " . ReadingsVal("MeinWetter","fc1_high_c","unbekannt") . " °.";;;; fhem "set Sonos_Bad Speak 30 de $temp"}

    2015.07.11 19:32:51 5: Cmd: >{my $temp = "Außentemperatur: " . ReadingsVal("MeinWetter","temperature","unbekannt") . " °C. Höchsttemperatur: " . ReadingsVal("MeinWetter","fc1_high_c","unbekannt") . " °.";; fhem "set Sonos_Bad Speak 30 de $temp"}
    <
    2015.07.11 19:32:51 5: Cmd: >set Sonos_Bad Speak 30 de Außentemperatur: 31 °C. Höchsttemperatur: 31 °.<
    2015.07.11 19:32:51 5: SW: 446f576f726b3a52494e434f4e5f30303045353843373437394330313430305f4d523a737065616b303a33302c64652c204175c39f656e74656d706572617475723a20333120c2b0432e2048c3b66368737474656d706572617475723a20333120c2b02e0d0a
    2015.07.11 19:32:51 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Au%DFentemperatur%3A%2031%20%B0C.%20H%F6chsttemperatur%3A%2031%20%B0." to "/mnt/SonosSpeak/RINCON_000E58C7479C01400_MR_Speak_d618b9b54aab3eb441308257f84641421a4babdf.mp31"
    2015.07.11 19:32:52 3: SONOS1: Combine loaded chunks into "/mnt/SonosSpeak/RINCON_000E58C7479C01400_MR_Speak_d618b9b54aab3eb441308257f84641421a4babdf.mp3"
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 3992, <$client> line 8.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 3999, <$client> line 8.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4000, <$client> line 8.
    2015.07.11 19:32:52 2: SONOS1: Beim Setzen der MP3-Informationen (ID3TagV2) ist ein Fehler aufgetreten: Can't call method "config" on an undefined value at ./FHEM/00_SONOS.pm line 3548, <$client> line 8.

    2015.07.11 19:32:52 3: SONOS1: Start temporary playing of "\\192.168.178.27\mnt\SonosSpeak/RINCON_000E58C7479C01400_MR_Speak_d618b9b54aab3eb441308257f84641421a4babdf.mp3"
    2015.07.11 19:32:53 5: SONOS0: Received from UPnP-Server: 'DoWorkAnswer:RINCON_000E58C7479C01400_MR:LastActionResult:PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"'
    2015.07.11 19:32:53 4: SONOS0: DoWorkAnswer arrived for Sonos_Bad->LastActionResult: 'PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"'
    2015.07.11 19:32:53 5: Triggering Sonos_Bad (1 changes)
    2015.07.11 19:32:53 5: Notify loop for Sonos_Bad LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2015.07.11 19:32:53 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2015.07.11 19:32:53 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2015.07.11 19:32:53 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_000E58C7479C01400_MR:1'
    2015.07.11 19:32:53 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TransportState:STOPPED'
    2015.07.11 19:32:53 5: SONOS0: Received from UPnP-Server: 'SetCurrent:CrossfadeMode:0'
    2015.07.11 19:32:53 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NumberOfTracks:1'
    2015.07.11 19:32:53 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Track:1'
    2015.07.11 19:32:53 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackURI://192.168.178.27/mnt/SonosSpeak/RINCON_000E58C7479C01400_MR_Speak_d618b9b54aab3eb441308257f84641421a4babdf.mp3'
    2015.07.11 19:32:53 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackDuration:0:00:00'



    Was mich wundert, ist dieses Statement ....to "/mnt/SonosSpeak/RINCON_000E58C7479C01400_MR_Speak_d618b9b54aab3eb441308257f84641421a4babdf.mp31
    Wo kommt die 1 am Ende her?
    Und müsste ich in dem Verzeichnis nicht eigentlich dann auch die Datei vorfinden? Verzeichnis ist nämlich leer.

    Gruß

    Capeghost
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Juli 2015, 20:48:27
    Hi Capeghost,

    die "1" am Ende kommt davon, dass es der erste Chunk ist, der heruntergeladen wird. Bei längeren Texten wird das in mehrere Elemente zerlegt heruntergeladen.
    Anschließend werden die einzelnen Elemente zusammengelegt in die echte Zieldatei...

    Ich tippe auf fehlende Schreibrechte im Ordner /mnt/SonosSpeak, das würde die Einsamkeit des Ordners erklären.
    Für die Fehlermeldung von Sonos ist vermutlich die URL unter "targetSpeakURL" falsch.
    Dort muss vermutlich "\\192.168.178.27\SonosSpeak" drin stehen... Das muss mit deiner Konfiguration in Samba korrelieren...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 11 Juli 2015, 22:12:06
    Hallo Reinerlein,

    jetzt klappt es, die Schreibrechte waren wirklich das Problem.
    Und dann war noch ein Restart notwendig, damit auch wirklich \\192.168.178.27\SonosSpeak verwendet wurde und nicht mein alter Wert.

    Vielen Dank für die Hilfe.

    Habe aber noch eine kurze Frage zum Bereich "Beispiel für das Reagieren auf Tastenevents" in Deinem Wiki. Funktionieren die jetzt generell wieder, weil es irgendwann mal hieß, es funktioniert ab Version 4.2 nicht mehr. Nur damit ich sicher sein kann, bevor ich da versuche, etwas umzusetzen.

    Gruß

    Capeghost
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Juli 2015, 22:48:19
    Hi Capeghost,

    schön, dass es jetzt geht :)

    Die Tastenevents gehen prinzipiell nur noch bei Volume Down und Volume Up.
    Der Mute-Taster ist ja seitdem ein Play/Pause- / Nächster Titel-Taster. Damit scheidet er als praktischer Doppeltipptaster aus, da das ja nun mit Next belegt ist...

    Du kannst also noch was mit "D" (Down) und "U" (Up) machen (und natürlich mit der Kopfhörerbuchse).
    Je nach Idee kann dir da aber mittlerweile auch das DOIF-Modul sehr gute Dienste leisten... Meine Implementierung der Buttonevents stammt noch aus der Zeit vor DOIF :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: mfkfx am 13 Juli 2015, 01:31:49
    Hallo,

    Habe nun auf die Bridge verzichtet. Geht bisher ohne Probleme im normalen WLAN. Die Einrichtung in FHEM ging auch problemlos, man muss ja eigentlich nur das Device anlegen.

    Eine Frage bleibt allerdings noch offen: Wie kann ich von FHEM heraus durch die Quellen des Play1 navigieren, also z.B. einen Radiosender per Knopfdruck abspielen oder ein bestimmtes Album einer bereits eingerichteten Sonos-Quelle, zB Musik vom NAS?

    Vielen Dank.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Juli 2015, 09:41:30
    Hi mfkfx,

    dazu bitte dass Wiki konsultieren, da es da sehr viele Möglichkeiten gibt: http://www.fhemwiki.de/wiki/SONOS#Set-Befehle_an_den_SONOSPLAYER (http://www.fhemwiki.de/wiki/SONOS#Set-Befehle_an_den_SONOSPLAYER)

    Als Einstiegspunkt seihen hier die vier Hauptmethoden zum Starten einer Wiedergabe genannt:
    - PlayURI
    - StartFavourite
    - StartPlaylist
    - StartRadio

    Wie du siehst, musst du entweder die genaue URI (also Dateinamen im NAS-Filesystem, oder die URL eines Radiosender o.ä.) kennen, oder deine gewünschte Musik als Favorit oder Playlist (bzw. als Radiofavorit) im Sonos-System angelegt haben.

    Mittlerweile gibt es auch die Anweisung "StartSearchlist". Bei diesem Befehl kannst du Suchen in deiner Sonos-Bibliothek (also deiner NAS) durchführen lassen, und dir eine (auch zufällig ausgewählte) aktuelle Abspielliste zusammenstellen lassen (z.B. 20 zufällige Titel von den Pet Shop Boys, oder alles von Metallica, oder 30 zufällige Titel aller Fetenhits-Alben). Damit kannst du dir dann auch ein Album holen lassen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: mfkfx am 13 Juli 2015, 14:42:13
    Vielen Dank, ich denke damit komme ich zurecht.

    Mfg
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 13 Juli 2015, 18:22:15
    Hallo Reinerlein,
    auf Deine Anregung hin, versuche ich mich gerade mal mit dem DOIF für die Temperaturansage, aber es will einfach nicht klappen.
    Fehlermeldung ist die folgende:
    2015-07-13 18:18:05 DOIF Fern1Taste4links_doif cmd_nr: 1
    2015-07-13 18:18:05 DOIF Fern1Taste4links_doif cmd_event: Fern1Taste4links
    2015-07-13 18:18:05 DOIF Fern1Taste4links_doif error: {my $temp = "Aktuelle Temperatur: " . ReadingsVal("MeinWetter","temperature","unbekannt") . " °. Heutige Höchsttemperatur: " . ReadingsVal("MeinWetter","fc1_high_c","unbekannt") . " °. Wetter heute: " . ReadingsVal("MeinWetter","fc1_condition","unbekannt") . " "; fhem "set Sonos_Bad Speak 20 de $temp"}: Unknown command {my, try help. Unknown command fhem, try help.
    2015-07-13 18:18:05 DOIF Fern1Taste4links_doif cmd_1
    2015-07-13 18:18:05 FS20 Fern1Taste4links toggle


    Mein DOIF ist wie folgt definiert:
    ([Fern1Taste4links:?toggle] and [?06:00-22:05]) ({my $temp = "Aktuelle Temperatur: " . ReadingsVal("MeinWetter","temperature","unbekannt") . " °. Heutige Höchsttemperatur: " . ReadingsVal("MeinWetter","fc1_high_c","unbekannt") . " °. Wetter heute: " . ReadingsVal("MeinWetter","fc1_condition","unbekannt") . " "; fhem "set Sonos_Bad Speak 20 de $temp"})

    Irgendwie scheint es Probleme mit dem Perl-Code zu geben, oder?

    Hast Du da wieder eine Idee? Und wie würde ich 2 unterschiedliche Ansagen, abhängig von der Uhrzeit miteinander im DEF verknüpfen?

    Danke.

    Gruß

    Capghost
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 13 Juli 2015, 20:26:01
    Hallo Rener,

    ich bekomme seit einiger Zeit keine Cover mehr angezeit bei den Favoriten.
    Bei Radio und Playlists ist alles ok. Wurde da was geändert?

    Hier noch das Reading des Players:
    {'FV:2/127' => {'Title' => 'Wojtek Pilichowski – Wojtek Pilichowski','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2Fc0255a5b653f6486c98fc0a255f494ede1290e4b'},'FV:2/108' => {'Title' => 'Lazy Afternoon','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2F3cdb5b676815d79a5eaa3402d94efed1945cffa8'},'FV:2/114' => {'Title' => 'Between The Sheets','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2F0b9380d48cbc52ef5fcac9f6b3274ad1fc5cfa72'},'FV:2/115' => {'Title' => 'The Song Remains The Same','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2F7e53b2002470966c24dd40134b739130962ff90d'},'FV:2/117' => {'Title' => 'Paul Hardcastle','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2Fe62368ad42a3af26b8a68609feefb384c3cfe70c'},'FV:2/121' => {'Title' => 'Afrodeezia','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fu%3Dx-file-cifs%253a%252f%252fDS%252fMusik%252fMusik%252fMarcus%2520Miller%252fAfrodeezia%252f01.%2520Hylife.mp3%26amp%3Bv%3D128'},'FV:2/110' => {'Title' => 'Unlimited','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2F015dea81393f2c38f22204ea20478754ff8931be'},'FV:2/112' => {'Title' => 'Then And Now','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2Fe2b44dac5c81627f0e6d63cb52341a613947b78d'},'FV:2/122' => {'Title' => 'Yesterday I Had The Blues - The Music Of Billie Holiday','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2Fe0af0dd19dbfa9a7ba11a6bb0ccb4ade400f7d5c'},'FV:2/107' => {'Title' => 'M² [Limited Edition]','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fu%3Dx-file-cifs%253a%252f%252fDS%252fMusik%252fMusik%252fMarcus%2520Miller%252fM%25c2%25b2%2520%255bLimited%2520Edition%255d%252fMarcus%2520Miller%2520-%2520Power.mp3%26amp%3Bv%3D128'},'FV:2/124' => {'Title' => 'Detlef&apos;s Top*','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2F3c8dfe68c229ac6ab8bb1379112024be3fc4008e'},'FV:2/120' => {'Title' => 'Renaissance','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fu%3Dx-file-cifs%253a%252f%252fDS%252fMusik%252fMusik%252fMarcus%2520Miller%252fRenaissance%252f01%2520-%2520Marcus%2520Miller%2520-%2520Detroit.mp3%26amp%3Bv%3D128'},'FV:2/125' => {'Title' => 'Soulshow Radio','Cover' => '/fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.10.150%3A1400%2Fgetaa%3Fs%3D1%26u%3Dx-sonosapi-stream%253As246826%253Fsid%253D254%2526amp%253Bflags%253D8224%2526amp%253Bsn%253D0'},'FV:2/109' => {'Title' => 'Funk This','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2F58a56407db8f1e5499fea532f804c4f049775b7e'},'FV:2/123' => {'Title' => 'Blackmagic','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2F9418af0baa61966b57203a8486a2dea26cc869d8'},'FV:2/113' => {'Title' => 'The Best Of','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2F8a06e27f2e729b7811b0e2802698ef0992af0701'},'FV:2/111' => {'Title' => 'Human Nature (feat. Rick Braun, Kirk Whalum, Norman Brown)','Cover' => '/fhem/sonos/proxy/aa?url=https%3A%2F%2Fd3rt1990lpmkn.cloudfront.net%2Foriginal%2F5cee0aeac4a41134d72d6fb4b2d9e9b03b654799'}}

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Juli 2015, 20:26:22
    Hi Capeghost,

    das DOIF-Beispiel im Wiki stammt nicht von mir, sieht meiner Meinung nach aber gut aus... Vielleicht kann 50watt was dazu schreiben?
    Er hat das ja bestimmt in Betrieb...

    Eine zweite Ansage würde einfach dahinter mit DOELSEIF angehängt, wobei der Teil mit der Uhrzeit dann eben anders sein muss.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Juli 2015, 20:37:33
    Hi Detlef,

    wenn, dann nicht beabsichtigt :)
    Bei mir geht es noch, gerade mal kurz getestet. Hast du vielleicht etwas an den Proxy-Einstellungen geändert?
    Ist der Speicherplatz dafür vielleicht voll? Keine Schreibrechte mehr?
    Da müsstest du mal im Log nachschauen. Am Besten ein 5er Log...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 13 Juli 2015, 20:52:35
    Bekomme folgende Meldung von der RG:

    2015.07.13 20:50:37 3: Sonos_KuecheRG_Favourites: <{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>: Can't escape \x{20AC}, try uri_escape_utf8() instead at ./FHEM/00_SONOS.pm line 594.


    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 13 Juli 2015, 21:12:50
    Eigenartig.

    Habe mal diverse Favoriten gelöscht, jetzt gehts wieder.

    Ich forsche mal welche es den war.

    Gruß Detlef

    Update:

    Habe die Liste entdeckt.

    Es war eine Liste aus Spotify, die so übernommen wurde:
    Wojtek Pilichowski – Wojtek Pilichowski

    Der Bindestrich ist aber keiner (ist länger). Wenn ich diesen tausche geht es:
    Wojtek Pilichowski - Wojtek Pilichowski

    Keine Ahnung was das für ein Sonderzeichen ist.

    Gruß Detlef


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Juli 2015, 21:28:02
    Hi Detlef,

    ich habe mir das im Code mal angesehen. Das kann ich leider nicht einfach komplett auf uri_encode_utf8 umstellen, da dabei die Zeichen zwischen ascii 128 und 255 anders verarbeitet werden, sodass diese Zeichen am anderen Ende nicht mehr verstanden werden...

    Ich würde mal schauen, ob ich doch noch eine schlaue Möglichkeit finde, das zu verallgemeinern, und ansonsten eher so lassen wie bisher...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 14 Juli 2015, 23:15:56
    Hallo Reiner,

    kein Problem.
    Der Störenfried ist ja gefunden und konnte beseitigt werden. ;-)

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: 50watt am 14 Juli 2015, 23:46:46
    Hallo capeghost,

    Ich verwende das DOIF wie im Wiki angeführt erfolgreich. In deinem define  ist vor fhem  nur ein ; Im Wiki sind zwei ;;
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 15 Juli 2015, 06:23:20
    Hallo Reiner(lein),

    herzlichen Dank für Dein Modul!

    Seit gestern mit einfacher Konfiguration in Betrieb. Einrichtung problemlos.

    Wenn ich mein Sonos-System um einen weiteren Player erweitere, lieber fhem stoppen für die Dauer der Integration, oder ist das egal?
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 15 Juli 2015, 08:06:56
    Hallo 50watt,

    das war in der Tat das Problem, hatte ich gestern abend nah der Verzweifelung dann plötzlich selbst entdeckt. Keine Ahnung, warum, dass plötzlich verschwunden war. Hatte das Coding ja nur kopiert.

    Danke.

    Gruß

    Capeghost
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Juli 2015, 08:30:00
    Hallo Ralli,

    ich würde das Sonos-Modul kurz deaktivieren. Dazu einfach am Sonos-Device das Attribut "disable" auf "1" setzen.
    Sonst werden deine neuen Devices u.U. mit komischen Namen angelegt, da sich die Player bei der Einrichtung schon vor der Namensvergabe melden.

    Wenn die Einrichtung seitens Sonos durch ist, dann einfach das Attribut wieder löschen.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 15 Juli 2015, 08:32:46
    Danke, Reiner!
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 15 Juli 2015, 14:54:53
    Hallo,

    ich habe heute einen FHEM Update gefahren, seitdem müllt mir SONOS das Log zu. Wie kann man das abstellen ?

    2015.07.15 14:46:27 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:46:27 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:46:27 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:46:27 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:46:45 3: CUL_800HM: Unknown code A0CE2865A3141C000000088F537::-99.5:CUL_800HM, help me!
    2015.07.15 14:46:47 3: SONOS0: Connection accepted from localhost:49309
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:46:47 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Garten".
    2015.07.15 14:46:47 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Garten".
    2015.07.15 14:47:04 3: CUL_800HM: Unknown code A0CE284703141C000000000F537::-100:CUL_800HM, help me!
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:47:07 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:47:07 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:47:17 3: SONOS0: Connection accepted from localhost:49315
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:47:27 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:47:27 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:47:27 3: CUL_HM set Hintereingang getConfig
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:47:47 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Garten".
    2015.07.15 14:47:47 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Garten".
    2015.07.15 14:47:47 3: SONOS0: Connection accepted from localhost:49324
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:48:07 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:48:07 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:48:17 3: SONOS0: Connection accepted from localhost:49330
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:48:27 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:48:27 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:48:47 3: SONOS0: Connection accepted from localhost:49337
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:48:47 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Garten".
    2015.07.15 14:48:47 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Garten".
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:49:07 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:49:08 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:49:17 3: SONOS0: Connection accepted from localhost:49343
    2015.07.15 14:49:20 3: CUL_800HM: Unknown code A0CE3865A3141C000000088F537::-100:CUL_800HM, help me!
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:49:28 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:49:28 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:49:40 3: CUL_800HM: Unknown code A0CE384703141C000000000F537::-101:CUL_800HM, help me!
    2015.07.15 14:49:47 3: SONOS0: Connection accepted from localhost:49352
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:49:48 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Garten".
    2015.07.15 14:49:48 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Garten".
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:50:08 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:50:08 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:50:18 3: SONOS0: Connection accepted from localhost:49358
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:50:28 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Buero".
    2015.07.15 14:50:48 3: SONOS0: Connection accepted from localhost:49366
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:50:48 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Buero".
    2015.07.15 14:50:48 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Buero".
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:51:08 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Buero".
    2015.07.15 14:51:08 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Buero".
    2015.07.15 14:51:18 3: SONOS0: Connection accepted from localhost:49373
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.15 14:51:28 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Buero".
    2015.07.15 14:51:28 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Buero".
    2015.07.15 14:51:28 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Buero".
    2015.07.15 14:51:28 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Buero".
    2015.07.15 14:51:28 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:51:28 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:51:28 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Garten".
    2015.07.15 14:51:28 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Garten".
    2015.07.15 14:51:28 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:51:28 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.07.15 14:51:42 3: CUL_800HM: Unknown code A0CE4865A3141C000000088F537::-98.5:CUL_800HM, help me!
    2015.07.15 14:51:48 3: SONOS0: Connection accepted from localhost:49380
    2015.07.15 14:52:02 3: CUL_800HM: Unknown code A0CE484703141C000000000F537::-99:CUL_800HM, help me!
    2015.07.15 14:52:17 2: SONOS1: Discover Sonosplayer 'Büro' (S1) Software Revision 5.3.2 with ID 'RINCON_B8E9378B251401400_MR'
    2015.07.15 14:52:18 3: SONOS0: Connection accepted from localhost:49396
    2015.07.15 14:52:19 2: SONOS1: SonosPlayer 'Buero' (S1) with ID 'RINCON_B8E9378B251401400_MR' is already defined (as 'Sonos_Buero') and will only be updated
    2015.07.15 14:52:20 2: SONOS1: SonosPlayer 'Buero' is now updated
    2015.07.15 14:52:21 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003654
    2015.07.15 14:52:21 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003655
    2015.07.15 14:52:21 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003656
    2015.07.15 14:52:21 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003657
    2015.07.15 14:52:21 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003658
    2015.07.15 14:52:21 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003659
    2015.07.15 14:52:21 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003660
    2015.07.15 14:52:21 3: SONOS1: Discover: End of discover-event for "Büro".
    2015.07.15 14:52:21 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:21 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:21 2: SONOS1: Discover Sonosplayer 'Büro' (S1) Software Revision 5.3.2 with ID 'RINCON_B8E9378B251401400_MR'
    2015.07.15 14:52:23 2: SONOS1: SonosPlayer 'Buero' (S1) with ID 'RINCON_B8E9378B251401400_MR' is already defined (as 'Sonos_Buero') and will only be updated
    2015.07.15 14:52:23 2: SONOS1: SonosPlayer 'Buero' is now updated
    2015.07.15 14:52:23 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003661
    2015.07.15 14:52:23 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003662
    2015.07.15 14:52:23 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003663
    2015.07.15 14:52:23 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003664
    2015.07.15 14:52:23 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003665
    2015.07.15 14:52:23 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003666
    2015.07.15 14:52:23 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000003667
    2015.07.15 14:52:23 3: SONOS1: Discover: End of discover-event for "Büro".
    2015.07.15 14:52:23 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:23 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:24 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:24 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:24 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Buero".
    2015.07.15 14:52:48 3: SONOS0: Connection accepted from localhost:49448
    2015.07.15 14:53:18 3: SONOS0: Connection accepted from localhost:49455
    2015.07.15 14:53:48 3: SONOS0: Connection accepted from localhost:49462
    2015.07.15 14:53:49 3: CUL_800HM: Unknown code A0CE5865A3141C000000088F537::-99.5:CUL_800HM, help me!
    2015.07.15 14:54:09 3: CUL_800HM: Unknown code A0CE584703141C000000000F537::-98.5:CUL_800HM, help me!
    2015.07.15 14:54:18 3: SONOS0: Connection accepted from localhost:49468
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Juli 2015, 14:58:31
    Hallo raspklaus,

    du kannst einfach das verbose-Attribut am Sonos-Device niedriger setzen (z.B. 0)...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 16 Juli 2015, 09:57:46
    Trotz verbose 0 kommen die folgenden Fehlermeldungen:

    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.16 09:49:32 3: CUL_800HM: Unknown code A0CA7865A3141C000000088FA3A::-102:CUL_800HM, help me!
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    2015.07.16 09:49:52 3: CUL_800HM: Unknown code A0CA784703141C000000000FA3A::-98:CUL_800HM, help me!
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.

    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.178.1:49000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Juli 2015, 11:01:55
    Hi raspklaus,

    das sind Meldungen die direkt vom unterliegenden TCP/IP-Layer (bzw. der Perlklasse dazu) auf STDERR ausgegeben werden.
    Das kann ich nicht beeinflussen.

    Allgemein wäre es praktisch, wenn STDERR nicht im fhem-log landen würde, sondern eine eigene Datei wie "fhem-stderr.log" bekäme. Passenderweise vielleicht für STDOUT auch gleich. Oder irgendwie konfigurierbar...
    Meldungen die dort ankommen sind zwar manchmal wichtig, oftmals, wie bei dir, aber wenig hilfreich.

    Du kannst natürlich mal versuchen der Ursache auf die Spur zu kommen. Versucht das Modul einen nicht mehr vorhandenen Player anzusprechen? Wird die Abwesenheit des Player sauber erkannt?
    Funktionieren alle Netzwerkkomponente dazwischen sauber? Kannst du den Player, wenn die Meldungen auftauchen, von einem anderen Rechner aus noch anpingen?
    Ich sehe gerade, dass es die .1-Adresse ist. Ist das überhaupt ein Player? Sieht mir eher wie der Router aus. Meldet sich der vielleicht als UPnP-AV-Player? Das könntest du über ein 5er log (am Sonos-Device) herausfinden, da dort detailliert ausgegeben wird, was sich auf die Anfrage hin so zurückmeldet...

    Ansonsten ist das Feld für timeouts bei Netzwerkanfragen sehr vielfältig :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 16 Juli 2015, 11:10:48
    Ich habe überhaupt keine Geräte im Netz 192.168.178.x da mein Netz ein Class C Netz 192.200.100.x ist. Meine 3 Player sind ipmässig erreichbar, auch über den Sonos Controller und FHEM.

    Woher zieht Dein Modul diese private IP Adresse ? Ein IP Scan ergibt keine Ergebnisse.
    Die Adresse ist übrigens die Default Adresse einer Fritzbox

    Wie kann man da Abhilfe schaffen ?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Juli 2015, 11:20:36
    Hi raspklaus,

    das Modul sendet eine Broadcast-Anfrage ins Netz, mit der Aufforderung an alle UPnP-Geräte sich zu melden. Dann werden aus den Antworten die rausgefiltert, die von Sonosplayern stammen, und dort eine Anfrage nach dem Devicedescriptiondocument (also der Selbstbeschreibung des UPnP-Devices) abgesetzt.

    Das bedeutet, wenn das Modul dorthin eine (Unicast-)Anfrage sendet, hat jemand zuvor auf die Broadcast-Anfrage reagiert und sich mit dieser IP-Adresse gemeldet.
    Ich habe für diesen Fall (es meldet sich ein Nicht-Sonos-Device, oder gar ein Nicht-UPnP-Device) bereits ein paar Prüfungen drin, die hier anscheinend nicht ausreichen...

    Wie gesagt, kann man versuchen mit einem 5er Log herauszufinden, als was sich das Device so meldet, und versuchen diese dann aus der Erkennung auszuschliessen... der andere Weg ist der, die Logdateien aufzutrennen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 16 Juli 2015, 11:26:07
    Hi,

    es ist die Fritzbox die mit angeschlossener Festplatte als Player definiert werden kann. Die IP Adresse ist die fest von AVN vergebene, die in jeder Fritzbox vorhanden ist. Jeder der eine Fritzbox hat und eventuell mit Festplatte den Player eingestellt hat wird die gleichen Probleme bekommen wie ich.

    Da dies ein fest definierte Adresse ist solltest Du diese vielleicht im Modul ganz ignorieren. Dass ein Anwender auf dieser Adresse einen Sonosplayer hat ist glaube ich eher unwahrscheinlich
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Juli 2015, 11:37:49
    Hi raspklaus,

    wenn das immer die gleiche bleiben wird, kannst du auch das Attribut "ignoredIPs" am Sonos-Device setzen.
    Das Attribut ist eine Kommaseparierte Liste von einzelnen IP-Adressen, die prinzipiell nicht beachtet werden sollen.

    Einen Neustart des Subprozesses nach dem Setzen nicht vergessen :)

    Grüße
    Reinerlein

    P.S.: Auch ich habe eine Fritzbox mit freigegebenen USB-Stick laufen, und bei mir meldet die sich nicht. Auch habe ich ebenfalls nicht das Standardnetz der Fritzbox. Da muss es also noch einen anderen Einflussfaktor geben...
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 16 Juli 2015, 11:53:44
    ok, werde ich versuchen.

    Mediaserver ist im Menü der Fritzbox eine seperate Einstellung
    Titel: [RampType]
    Beitrag von: ujaudio am 18 Juli 2015, 19:38:07
    Im Wiki sind die 3 RampTypes angegeben (Sleep, Autoplay, Alarm). Ich konnte aber nicht finden, welche Zeit das bedeutet - und ich bin gerade nicht vor Ort um es auszuprobieren, habe aber Zeit, mir die weitere FHEM-Programmierung zu überlegen. Kann mir jemand bitte die ungefähren Zeiten nennen? Onkel Google hat es auch nicht gewusst und mich nur auf diesen Thread hingewiesen  ;)
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 19 Juli 2015, 18:04:28
    Im Laufe dieses Threads habe ich gelesen, dass man Raio wie folgt anwählen kann
    set Sonos_Wohnzimmer PlayURI http://mp3-live.swr3.de/swr3_s.m3u
    dass es aber besser sei, zuerst mit Original Sonos Controller Software die Radiosender in eine Favoritenliste zu legen.

    Wie macht ihr eigentlich die komplette Bedienoberfläche? Ohne die Sonos Controller Software? Wie kann ich da einen Musiktitel anwählen? Oder macht es Sinn, aus FHEM heraus die Sonos Controller Software zu starten, wobei mir nicht klar ist, wie das auf dem Tablett geht, weil Sonos ja nicht in einem Browser läuft. Wie sieht denn eure Bedienoberfläche aus? Ich würde mich gerne inspirieren lassen, bevor ich anfange einen "Sonos-Floorplan" zu erstellen.
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 21 Juli 2015, 11:52:59
    Hallo Reiner,

    mittels PlayURITemp kann ja eine temporäre Wiedergabe erfolgen, nach der automatisch das bisher Gespielte fortgesetzt wird. Funktioniert einwandfrei. Klappt aber (wie auch dokumentiert) nicht mit Radiostreams.

    Zitat
    Für Streams (genauer: Für Dateien, deren Abspiellänge nicht ermittelt werden kann) ist dieser Aufruf identisch zu PlayURI, es wird im Anschluß nichts wiederhergestellt.

    Hier wollte ich nochmal einhaken. Ist PlayURITemp eine Aufruf, den Sonos selbst schon versteht, oder ist es eine eigenständige Funktion mit mehreren Aufrufen in Deinem Modul?

    Worauf ich hinaus will: Ist es nicht möglich, vor dem Absetzen von PlayURITemp zu prüfen, ob momentan ein Radiostream abgespielt wird und nach dem (temporären) Abspielen mittels PlayURITemp wieder den Radiostream zu aktivieren?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Juli 2015, 12:53:05
    Hallo Ralli,

    ich glaube, ich verstehe deine Frage nicht so ganz :)

    PlayURITemp soll temporär etwas abspielen, dazu unterbricht es die aktuelle Wiedergabe am Player (egal, was da gerade läuft), spielt das temporäre ab und stellt den Ursprung wieder her (auch ursprünglich laufende Radiostreams).
    Was nicht geht, ist, wenn du versuchst einen Radiostream temporär abzuspielen. Dieser hat naturgemäß kein Ende, womit es auch keine temporäre Wiedergabe des Streams geben kann...

    Diese Funktionalität wurde von mir im Modul gebaut. Sonos selbst kann das nicht.

    Klappt das bei dir so nicht?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 21 Juli 2015, 13:23:26
    Hallo Reiner,

    nein.

    Wenn ich eine eine Playliste (oder nur ein bestimmtes Stück) abspiele und schiebe dann ein PlayURITemp ein, funktioniert es genau so, wie Du schreibst.

    Wenn ich aber Internet-Radio höre (also ein Stream ohne definierte Länge oder Position) und spiele dann mittels PlayURITemp z.B. ein Gong-Signal.mp3 ein, wird danach nicht wieder der Radio-Stream aktiviert.

    Kann es sein, dass das ggf. sich mit einer Gruppe beißt? Wenn also mit drei Playern eine Gruppe gebildet ist und einer davon was mittels PlayURITemp geschoben bekommt, kann das zu einem Nicht-Wiederaufnehmen des Streams führen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Juli 2015, 13:26:20
    Hallo Ralli,

    wie startest du denn den Radiostream?
    Dann versuche ich mal, das bei mir nachzustellen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 21 Juli 2015, 13:27:01
    Danke, Reiner.

    SWR3 ;)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Juli 2015, 13:29:41
    Hi Ralli,

    und den startest du normal über den Sonos-Controller? oder irgendwie anders?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 21 Juli 2015, 13:33:51
    Ich starte den Radio-Stream am ausgewählten Player über den Sonos-Controller. Oder wenn er vorher auf diesem Player mal aktiv war und auf Pause gedrückt war, durchaus auch durch nochmaliges Drücken auf Play/Pause am Player.

    Dann klingelt es draußen und fhem schiebt diesem Player dann einen Türgong als MP3 mit PlayURITemp rein.

    Wie gesagt: wenn bspw. Spotify oder lokale MP3s gestreamt werden, klappt es genau so (gut), wie es soll. Wenn Radio gestreamt wird, dann wird nach dem Gong nicht fortgesetzt.

    Das einzige, was ich momentan nicht aus dem Kopf weiß, ist, ob der Player zu dem Zeitpunkt Teil oder Leader einer Gruppe war oder solo spielte.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Juli 2015, 13:55:14
    Hi Ralli,

    ok, also alles normale Wege :)
    Ich versuche mal, das nachzustellen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 21 Juli 2015, 18:32:32
    Danke, Reiner.

    Gerade hatte ich ein anderes Phänomen:

    In dem betreffenden Player hatte ich eine Sonos-Playliste, die auf ein Spotify-Album referenziert, abgespielt. Dann auf Pause. Dann den SWR3-Radiostream aktiviert. Dann mit PlayURITemp ein MP3 eingeschoben.

    Nach dem PlayURITemp wurde dann die Playliste wieder abgespielt :), aber nicht der Radio-Stream.

    Zu dem Zeitpunkt war der Player übrigens solo unterwegs, nicht Teil einer Gruppe.
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 23 Juli 2015, 15:15:46
    Ich versuche mich grade an der Sprachausgabe via Sonos, aber die Lautsprecher bleiben stumm. Folgendes habe ich gemacht:

    - targetSpeakDir gesetzt auf /var/www/sonos_tts
    - targetSpeakURL gesetzt auf \\192.168.1.10\www\sonos_tts
    - Samba-Config angepasst und Gast-Zugang zum www-Share aktiviert

    Wenn ich den speak-Befehl ausführe passiert allerdings nichts. Im Log steht folgendes:

    Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
    Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 3999, <$client> line 11.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4000, <$client> line 11.
    Argument "Test" isn't numeric in numeric ne (!=) at ./FHEM/00_SONOS.pm line 4298, <$client> line 11.
    Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
    Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 3999, <$client> line 11.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4000, <$client> line 11.
    Argument "Test" isn't numeric in numeric ne (!=) at ./FHEM/00_SONOS.pm line 4298, <$client> line 11.
    Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
    Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 11.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 3999, <$client> line 11.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4000, <$client> line 11.
    Argument "Blubb" isn't numeric in numeric ne (!=) at ./FHEM/00_SONOS.pm line 4298, <$client> line 11.


    Hat jemand eine Idee?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Juli 2015, 16:25:13
    Hi,

    @Ralli: Ich habe das bei mir mal versucht nachzustellen. Das klappt alles normal (das bedeutet der Stream wird nach der Unterbrechung wieder angestartet). Wir bräuchten bei dir also mal ein paar Logs (möglichst auf Level 5) bei dem Versuch...

    @Dantist: Nach den Logs würde ich sagen, dass du eine falsche Reihenfolge der Parameter hast. Der Speak-Aufruf hat erst eine Lautstärke, dann das Sprachkürzel und anschließend den Text...
    z.B.:

    set Sonos_Wohnzimmer Speak 15 de Dies ist ein Test

    Außerdem solltest du nochmal prüfen, ob das Attribut targetSpeakURL wirklich noch das \www\ im Pfad braucht... aber da ist er ja auch noch gar nicht angekommen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 24 Juli 2015, 16:37:45
    Zitat von: Reinerlein am 24 Juli 2015, 16:25:13
    @Dantist: Nach den Logs würde ich sagen, dass du eine falsche Reihenfolge der Parameter hast. Der Speak-Aufruf hat erst eine Lautstärke, dann das Sprachkürzel und anschließend den Text...
    z.B.:

    set Sonos_Wohnzimmer Speak 15 de Dies ist ein Test

    Außerdem solltest du nochmal prüfen, ob das Attribut targetSpeakURL wirklich noch das \www\ im Pfad braucht... aber da ist er ja auch noch gar nicht angekommen...
    Hallo Reiner,

    danke für die korrekte Syntax. Die Fehlermeldung sieht nun anders aus:

    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 3992, <$client> line 11.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 3999, <$client> line 11.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4000, <$client> line 11.


    Das "www" gehört mit in den Pfad, da der Share so heißt und darin die Dateien liegen sollen. Bisher wird aber nicht einmal das mp3 generiert.

    Hast du noch eine Idee?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Juli 2015, 22:13:45
    Hi Dantist,

    dann würde ich mal die Dateirechte überprüfen. Das ist meistens das Problem dabei... Genau prüfen, als was fhem bei dir läuft, und dann die Rechte entsprechend anpassen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 24 Juli 2015, 22:58:36
    Zitat von: Reinerlein am 24 Juli 2015, 22:13:45
    dann würde ich mal die Dateirechte überprüfen. Das ist meistens das Problem dabei... Genau prüfen, als was fhem bei dir läuft, und dann die Rechte entsprechend anpassen...

    Das war es tatsächlich. Um ganz sicher zu gehen, habe ich die Berechtigungen von /opt/fhem auf den neuen Ordner transferiert. Falls es jemanden interessiert, das geht mit

    sudo chmod --reference=/opt/fhem /var/www/sonos_tts
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 25 Juli 2015, 06:18:23
    Hallo Reiner,

    Zitat von: Reinerlein am 24 Juli 2015, 16:25:13
    @Ralli: Ich habe das bei mir mal versucht nachzustellen. Das klappt alles normal (das bedeutet der Stream wird nach der Unterbrechung wieder angestartet). Wir bräuchten bei dir also mal ein paar Logs (möglichst auf Level 5) bei dem Versuch...

    Ok. Bei mir lässt es sich definitiv dauerhaft reproduzieren.

    Worauf brauchst Du ein Verbose 5, auf das Sonos-Device oder den Sonos-Player oder beides?

    Noch eine kleine Anregung:
    Ich mache jeden morgen ein "Init" auf meine ganzen Player, um einen Standardeinstellung wiederherzustellen. Es wäre hilfreich, wenn für jeden Player jegliche Gruppenzugehörigkeit einfach entfernt werden kann ohne zu wissen, ob überhaupt Gruppen-Mitglieder vorhanden sind und wenn ja, welche.

    Ich würde daher gerne das Kommando


    set Sonos_.*:FILTER=TYPE=SONOSPLAYER RemoveMember .*


    absetzen. Momentan gibt das aber


    2015.07.25 07:40:21 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to '.*'. This should not happen!
    2015.07.25 07:40:21 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to '.*'. This should not happen!
    2015.07.25 07:40:22 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to '.*'. This should not happen!
    2015.07.25 07:40:22 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to '.*'. This should not happen!
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 30 Juli 2015, 01:26:03
    zur info: http://forum.fhem.de/index.php/topic,39570.0.html (http://forum.fhem.de/index.php/topic,39570.0.html).

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 31 Juli 2015, 15:13:19
    Hallo,

    wenn ich einen Speaktest im Webinterface starte steht in Log:

    2015.07.31 15:19:30 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Dies%20ist%20ein%20Test." to "/media/SonosSpeak/RINCON_B8E9378B251401400_MR_Speak_20150731-151930.mp31"
    2015.07.31 15:19:31 1: SONOS1: MP3 Download-Error: 503 Service Unavailable


    Was mache ich falsch ?

    Radio musik etc geht
    Titel: Sonos steuern
    Beitrag von: justme1968 am 31 Juli 2015, 15:23:55
    siehe hier: http://forum.fhem.de/index.php/topic,39570.0.html

    weiter unten gibt es auch einen mögliche lösung durch ändernd der url. ich glaube nur der &client=t ist relevant.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Juli 2015, 15:33:29
    Hallo zusammen,

    ich werde am Wochenende eine neue Version einchecken, wo die URL angepasst ist...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 02 August 2015, 09:44:41
    Hallo,

    ich habe in meiner Log-Datei auch so viele Einträge wie ujaudio geschrieben hatte. Die habe ich aber erst, seit dem ich nach dem Wechsel auf einen neuen RPi Sonos neu installiert habe. Fehlermeldungen scheinen aber nicht zu kommen. Wie kann ich diese ganzen Log-Einträge von der Anzahl her reduzieren?

    Danke für Eure Antwort.

    MandelHL
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 02 August 2015, 12:49:37
    Setze verbose auf 0

    @ Reinerlein:

    Habe gestern upgedatet, aber das speak bringt immer noch Fehlermeldungen und tut nichts
    Titel: Antw:Sonos steuern
    Beitrag von: matzemoerk am 02 August 2015, 12:58:04
    Kann man den Nachtmodus der Playbar steuern? Entweder bin ich blind und es geht bereits oder ich lasse das mal als Featurewunsch hier stehen.

    Grüße,
    Matthias
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 August 2015, 14:59:56
    Hallo zusammen,

    @raspklaus: Ich musste es auch erst einchecken, was ich gerade getan habe :)

    @Matthias: Was ist das genau für ein Feature? Hast du vielleicht die Möglichkeit zu sniffen, was an der Sonos-Playbar dazu angesteuert wird?
    Ich habe keine Playbar, und kann deshalb immer nur bedingt selber raten :) Manchmal geht das, aber eben nicht immer...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 02 August 2015, 16:00:13
    Bei einem update check wird nichts angezeigt
    Titel: Antw:Sonos steuern
    Beitrag von: fstefan1960 am 02 August 2015, 18:47:53
    Hallo,

    ich habe mich mal an das ja überaus mächtige SONOS-Modul gewagt und es installiert. Das hat auch alles verblüffend gut geklappt. Die beiden Player waren schnell gefunden und zeigten auch tolle Interfaces.
    Aber dann wurde es etwas trüber:

    Die Reaktionen kamen immer seeeehr verzögert und dann heftigst (z.B. Lautstärkeänderungen).
    Play oder Pause klappte immer erst beim x-ten Mal.

    Der Blick in das Logfile zeigte dann hohe Aktivität:

    Buchstäblich hunderte Male wurde mit meinem TechniSat-Receiver, der gar nicht in FHEM eingebunden ist, geflirtet:

    2015.08.02 12:13:10 3: SONOS0: Connection accepted from localhost:34388
    Loading device description failed with error: 500 Can't connect to 192.168.1.40:9000 (timeout) at ./FHEM/00_SONOS.pm line 3587 thread 1.



    Dazu immer wieder:

    2015.08.02 12:23:02 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Wohnzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Wohnzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Schlafzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Wohnzimmer".
    2015.08.02 12:23:03 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Wohnzimmer".


    Hat jemand eine Idee, wie ich da weiterkommen kann?

    Herzlichen Dank
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 02 August 2015, 18:58:56
    manche upnp devices lassen sich scheinbar nicht von echten sonos devices unterscheiden und machen hier probleme.

    wenn der receiver eine feste ip hat trag sie mal im sonos device im attribut ignoredIPs ein. danach über disable 1 und disable 0 den hintergrund prozess neu starten.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Mumpitz am 02 August 2015, 20:18:26
    Ich habe seit heute oder gestern folgende Fehlermeldung bei der Sprachausgabe:

    SONOS1: MP3 Download Error: 503 Service Unavaiable

    Funktioniert das bei Euch?


    Gesendet von iPad mit Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 02 August 2015, 20:26:19
    @Danke raspklaus: Ich habe attr global verbose 0 gesetzt. Egal, ob ich das in die Sonos.cfg oder fhem.cfg eintrage. Ich habe trotzdem die ganzen Log-Einträge. Hat sonst jemand eine Idee, wie ich die ganzen Sonos-Einträge verhindere?
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 02 August 2015, 20:29:57
    @Mumpitz:
    http://forum.fhem.de/index.php/topic,10033.msg317709.html#msg317709 (http://forum.fhem.de/index.php/topic,10033.msg317709.html#msg317709)
    http://forum.fhem.de/index.php/topic,10033.msg318071.html#msg318071 (http://forum.fhem.de/index.php/topic,10033.msg318071.html#msg318071)
    http://forum.fhem.de/index.php/topic,10033.msg318073.html#msg318073 (http://forum.fhem.de/index.php/topic,10033.msg318073.html#msg318073)
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 02 August 2015, 20:49:35
    @ Offline justme1968: Sind Deien Links auf meinen Beitrag bezogen?
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 02 August 2015, 20:50:11
    wie kommst du darauf?
    Titel: Antw:Sonos steuern
    Beitrag von: Mumpitz am 02 August 2015, 20:58:51
    Tut mir leid für den überflüssigen Post. Dachte aber ich hätte nach der Fehlermeldung gesucht...
    Dem war wohl nicht so!

    Entschuldigung!


    Gesendet von iPad mit Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 02 August 2015, 21:02:40
    @ Offline justme1968: Sorry, hatte "@Mumpitz" überlesen ...

    Aber unabhängig davon bekomme ich die Log-Einträge trotz verbose 0 nicht weg.
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 02 August 2015, 21:24:38
    Hi,

    nicht global sondern beim device sonos auf verbose 0 setzen. Bei mir funktioniert es
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 02 August 2015, 21:26:08
    und vor allem den hingergrund prozess neu starten sonst bekommt der nichts vom geänderten attribut mit.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Mumpitz am 02 August 2015, 22:15:29
    hallo zusammen

    ich möchte ja nicht nerven, aber in der Zwischenzeit wurde das TTS Modul ja angepasst mit dem erwähnten einschub in Zeile 573. Leider funktioniert das bei mir auch so nicht. es kommt immernoch der selbe Fehler!

    Wie sieht es bei Euch aus? Klappt die Sprachausgabe mit einem neu erstellen mp3 File noch?


    Zitat von: justme1968 am 02 August 2015, 20:29:57
    @Mumpitz:
    http://forum.fhem.de/index.php/topic,10033.msg317709.html#msg317709 (http://forum.fhem.de/index.php/topic,10033.msg317709.html#msg317709)
    http://forum.fhem.de/index.php/topic,10033.msg318071.html#msg318071 (http://forum.fhem.de/index.php/topic,10033.msg318071.html#msg318071)
    http://forum.fhem.de/index.php/topic,10033.msg318073.html#msg318073 (http://forum.fhem.de/index.php/topic,10033.msg318073.html#msg318073)
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 03 August 2015, 13:34:31
    Danke raspklaus. Kannst Du mir bitte einmal schreiben, wie dann der Befehl für das Sonos Device aussieht. Danke Dir.

    Grüße
    MandelHL
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 03 August 2015, 13:45:51
    Gibt es einen eleganten Weg, eine Playlist auf einem bestimmten Lautsprecher zu starten und vorher eine eventuell vorhandene Gruppenzugehörigkeit zu entfernen? Ich habe in Perl eine Abfrage geschrieben, die den Ziellautsprecher aus der Gruppe nimmt, allerdings dauert das zwischen 1-10 Sekunden. Ich muss mit dem Abspielen also sehr lange warten und hoffen, dass die Auflösung funktioniert hat. Ist nicht so schön.

    Dabei ist mir übrigens aufgefallen, dass man den "removeMember"-Befehl in der Form "set Sonos_Flur removeMember Sonos_Flur" ausführen kann. Im Web-Interface kann sich ein Lautsprecher ja nicht selbst entfernen. Ist von dieser Methode abzuraten?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 August 2015, 14:18:18
    Hi dantist,

    das sorgt nur dafür, dass der Player Sonos_Flur danach in keiner Gruppe mehr ist. Also eigentlich das, was man etwa erwarten könnte :)
    Das ist gleichbedeutend mit dem Aufruf von

    set Sonos Groups [Sonos_Flur]


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 03 August 2015, 15:01:49
    setze das attribut verbose über das Webinterface bei deinem sonos
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 03 August 2015, 15:58:49
    Zitat von: Reinerlein am 03 August 2015, 14:18:18
    Das ist gleichbedeutend mit dem Aufruf von

    set Sonos Groups [Sonos_Flur]


    Oh man, da war mein Ansatz wohl von hinten durch die Brust ins Auge  ;D Das ist natürlich eine schöne und sichere Variante.
    Aber wie erfahre ich, wann dieser Vorgang abschlossen ist? Ich will Sonos_Flur erst starten, wenn sie tatsächlich alleine in einer Gruppe ist.

    Edit: Hm, der set groups-Befehl macht bei mir gar nichts.. get groups klappt wunderbar.
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 04 August 2015, 10:32:17
    @ Rainer

    Die Sprachausgabe mit speak geht immer noch nicht. Es kommen die gleichen Fehlermeldungen.

    Gibt es eine Alternative zum Erstellen der Sprachausgabe als mp3? Man müsste die Ausgaben ja nur einmalig erstellen und dann nur abspielen.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 August 2015, 11:32:56
    Hi raspklaus,

    ok, dann scheint es dort bei Google unterschiede zu geben. Bei mir ging das damit.
    Natürlich kannst du dir immer die MP3s selber herunterladen/generieren/selber sprechen, und dann mittels PlayURITemp abspielen lassen. Damit gehen halt nur keine dynamischen Ansagen...

    Gibt es denn zu Google hier noch andere Erfahrungen? Geht das bei anderen, wenn nicht, was hat geholfen/könnte helfen?
    Ich habe die Google-URL als Konstante im Modul hinterlegt. wenn man damit spielen möchte, muss man nur die Konstante "$SONOS_GOOGLETRANSLATOR_URL" in Zeile 231 anpassen.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 04 August 2015, 13:09:20
    Kann es an meiner Konfiguration liegen ?

    Welche Angaben benötigst Du ?
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 04 August 2015, 13:39:54
    die Meldung ist doch etwas anders:

    2015.08.04 13:34:55 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=45&client=t&prev=input&q=%20de%20Hier%20dann%20die%20Textnachricht%2C%20wie%20sie%20auf%20dem%20Player%20ausgegeben%20werden%20soll." to "/media/SonosSpeak/RINCON_B8E9378B251401400_MR_Speak_20150804-133455.mp31"
    2015.08.04 13:34:59 1: SONOS1: MP3 Download-Error: 404 Not Found
    Titel: Sonos steuern
    Beitrag von: Mumpitz am 04 August 2015, 13:46:16
    Ich habe beim letzten Post geschrieben, dass es auch nach dem letzten Update des Sonos Modul nicht funktionierte. Nun, seit gestern funktioniert die Sprachausgabe problemlos und mir wird jeden Morgen das Wetter am Frühstückstisch samt Höchst- und Tiefsttemperaturen vorgelesen, ohne das ich nochmals was geändert habe...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 August 2015, 17:00:06
    Hi raspklaus,

    du scheinst die Parameter für Lautstärke und Sprache vertauscht zu haben.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 04 August 2015, 17:10:08
    Hallo Reiner,

    ich habe Dein Beispiel aus dem Wiki eingegeben.

    Bitte schick mir doch mal ein Beispiel von Dir was funktioniert
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 August 2015, 17:45:43
    Hi raspklaus,

    Die Reihenfolge der Parameter ist Lautstärke, Sprache und dann der Text:

    set Sonos_Flur Speak 20 de Dies ist ein Test

    Welches Beispiel im Wiki ist denn anders? Dann korrigiere ich das...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 04 August 2015, 19:50:14
    Ich hatte die \ mit angegeben.

    Nun erscheint im Log:

    2015.08.04 19:47:38 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&client=t&prev=input&q=%20Dies%20ist%20ein%20Test" to "/media/SonosSpeak/RINCON_B8E9378B251401400_MR_Speak_20150804-194738.mp31"
    2015.08.04 19:47:38 3: SONOS1: Combine loaded chunks into "/media/SonosSpeak/RINCON_B8E9378B251401400_MR_Speak_20150804-194738.mp3"
    2015.08.04 19:47:38 3: SONOS1: Start temporary playing of "\\192.200.100.95/RINCON_B8E9378B251401400_MR_Speak_20150804-194738.mp3"
    2015.08.04 19:47:39 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Buero".
    2015.08.04 19:47:40 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Buero".
    2015.08.04 19:47:40 3: SONOS3: Restorethread has found a job. Waiting for stop playing...
    2015.08.04 19:47:41 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Buero".
    2015.08.04 19:47:41 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Buero".
    2015.08.04 19:47:41 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Buero".
    2015.08.04 19:47:41 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Buero".
    2015.08.04 19:47:41 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Buero".
    2015.08.04 19:47:41 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Buero".
    2015.08.04 19:47:41 3: SONOS3: Restoring playerstate...
    2015.08.04 19:47:48 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Buero".
    2015.08.04 19:47:48 3: SONOS3: Playerstate restored!


    Nur leider kommt immer noch kein Ton raus

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 August 2015, 22:03:09
    Hi raspklaus,

    kann es sein, dass das Attribut "targetSpeakURL" fehlerhaft ist?
    Es scheint nur die IP-Adresse und keinen Freigabenamen zu enthalten.

    Im Normalfall steht da sowas wie z.B.:

    attr Sonos targetSpeakURL \\192.200.100.95\FREIGABENAME

    oder in deinem Fall:

    attr Sonos targetSpeakURL \\192.200.100.95\SonosSpeak
    wenn du das Samba-Beispiel konfiguriert hast...

    Grüße
    Reinerlein

    P.S.: Die \ sind nur für die direkte Eingabe in der Konfigurationsdatei, bzw. um deutlich zu machen, was alles in eine Zeile gehört...
    Titel: Antw:Sonos steuern
    Beitrag von: Jotoc am 04 August 2015, 23:25:36
    Hallo Reinerlein,

    ich habe leider grosse Verzögerung wenn ich auf meine Sonos Geräte zugreife. 10 Sekunden bis zum ausführen des Befehls. Ich habe das Problem seitdem ich eine Gruppe mit mehren Geräten gebildet hatte und danach wieder aufgelöst habe.
    Kurz nach einem Neustart meines PI s läuft alles normal. Nach etwa 2 Minuten setzen die Verzögerungen ein.
    Folgende Meldung steht ständig bei mir im Log

    Loading device description failed with error: 500 Can't connect to 192.168.99.24:2869 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1.

    Die Ip 192.168.99.24 ist aber überhaupt nicht vergeben schon garnicht von meinen Sonos Geräten.
    Gibt es irgendeine Datei wo vielleicht diese IP noch abgelegt sein könnte?

    Vielen Dank

    Jotoc

    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 August 2015, 09:39:41
    @ Jotoc

    setze einfach die ip im device auf ignored. Bei mir war es die Fritzbox die meinte sie müsste sich auch melden. Mit ignoredIPs wars dann weg
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 August 2015, 16:09:44
    Hallo Rainer,

    habe es wie folgt konfiguriert:


    Samba:

    [SonosSpeak]
      comment = Audio-Files for SonosPlayer to Speak
      read only = false
      path = /media/SonosSpeak
      guest ok = yes

    fhem.cfg:

    # SONOS Zentrale
    define Sonos SONOS localhost:4711 30
    attr Sonos ignoredIPs 192.168.178.1, 192.168.10.1
    attr Sonos room Sonos
    attr Sonos targetSpeakDir /media/SonosSpeak
    attr Sonos targetSpeakFileTimestamp 1
    attr Sonos targetSpeakMP3FileDir /media/SonosMP3
    attr Sonos targetSpeakURL \\192.200.100.95\SonosSpeak
    attr Sonos verbose 1
    Titel: Antw:Sonos steuern
    Beitrag von: Jotoc am 05 August 2015, 17:12:27
    Hallo Raspklaus,

    danke für die Tipps.
    Das ignoredIPs hatte ich schon eingestellt. Mich wundert es halt das er eine Adresse versucht zu erreichen die es definitv nicht gibt.
    Mit der Einstellung attr Sonos verbose 1 taucht jetzt erstmal keine Meldung mehr im Log auf. Die Geschwindigkeit muss ich erst noch testen.

    Grüsse
    Jotoc
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 August 2015, 19:48:22
    Die IP hat irgendein Gerät in deinem Netz. Wlan ? etc
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 07 August 2015, 16:24:38
    Wie kann ich die aktuelle Lautstärke als Zahl in meinem Floorplan darstellen?

    Ich habe mal ein notify erstellt:
    mm_sonos_Wohnzimmer:Volume:.* {
      fhem ("set lampe on")
    }

    wobei set lampe on nur symbolisch zu sehen ist. Aber bei einer Lautstärkeänderung reagiert das notify gar nicht. Da ich mir nicht sicher bin, wie der Anfang aussehen muss, habe ich auch versucht:
    mm_sonos_Wohnzimmer:Volume.* {
      fhem ("set lampe on")
    }

    Das funktioniert aber auch nicht.
    Die erste Variante hat sich aus dem "addRegexpPart" des notify ergeben, die 2. habe ich mal in Analogie zum Beispiel aus dem Wiki "Verstärker in Abhängigkeit von Sonos ein-/ausschalten"probiert.
    Wenn das notify überhaupt mal reagiert, dann hoffe ich einen Weg zu finden, um den Wert des Readings "Volume" einem dummy zuzuweisen, welches ich auf den Floorplan anzeige - oder gibt es einen eleganteren Weg?
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 07 August 2015, 16:28:28
    du musst auf jeden fall erst mal minVolume and generateVolumeEvent setzen. sonst gibt es gar kein event.

    um den wert dann anzuzeigen kannst du z.b. readingsProxy verwenden.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 07 August 2015, 16:39:36
    GenerateVolumeEvent habe ich nun gesetzt (auf 1)
    minVolume war auf 0, habe auch andere Werte probiert - aber das notify tut nichts.
    Schreibfehler habe ich auch schon gesucht - keine (gefunden).
    Titel: Sonos steuern
    Beitrag von: justme1968 am 07 August 2015, 16:46:13
    du musst den hintergrund prozess neu starten. am einfachsten mit attr <sonos> disable 1
    attr <sonos> disable 0

    auf das haupt sonos device.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 07 August 2015, 16:50:53
    ...du meinst doch das Attribut, oder?
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 07 August 2015, 16:51:47
    arg. ja. es ist zu warm...
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 07 August 2015, 17:04:16
    readingsProxy funktioniert prima, dann brauche ich das notify gar nicht mehr - trotzdem was Sinnvolles dazu gelernt!

    Danke für die Hilfe bei der Hitze!
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 08 August 2015, 09:29:13
    Wie bekomme ich die kleine Grafik, die standardmäßig beim Device angezeigt wird (aktueller Titel oder aktueller Radiosender) in meinen Floorplan?
    Das Cover des aktuellen Titels kann ich per weblink --> image sichtbar machen. Aber wenn ich auf Radio umschalte bekomme ich nicht das Icon des Radiosenders. Nachdem das aber im Device gelöst ist, müsste ich das doch irgendwie auch hinbekommen - nur wie?
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 08 August 2015, 09:50:27
    die darstellung mit cover und titel gehört nicht zum device selber ist eine readingsGroup.

    die kannst du ganz normal auf dem floorplan anzeigen.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 09 August 2015, 01:56:40
    Ich habe das Problem, dass der Speak-Befehl meistens nicht funktioniert. Im Log steht dann sowas:

    2015.08.09 01:52:26.835 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=Test" to "/var/www/sonos_tts/RINCON_B8E937B7B8B201400_MR_Speak_2dc4133f252e08e0a73a8cdbe490a719de3b2df2.mp31"
    2015.08.09 01:52:27.526 1: SONOS1: MP3 Download-Error: 503 Service Unavailable


    Wenn ich die URL http://translate.google.com/translate_tts?tl=de&q=Test direkt im Browser aufrufe, spielt sie problemlos ab. Wenn ich sie per wget auf den RPi laden will, bekomme ich einen 503-Fehler wie im fhem-Log vermerkt. Irgendeine Idee, woran das liegen könnte? Blockt Google vielleicht Geräte mit seltsamen Aktivitäten?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 August 2015, 02:10:46
    Hi dantist,

    da habe ich letztes Wochenende eine Aktualisierung zu eingecheckt.
    Es sind weitere Parameter in der URL hinzugekommen, womit es wohl im Allgemeinen besser funktioniert.

    Mach mal ein Update auf die Sonos-Module (und natürlich einen Neustart von Fhem), und versuch es dann nochmal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 09 August 2015, 09:07:25
    Vielen dank, ein erster Versuch hat funktioniert! Hoffentlich hält es diesmal länger :)

    Gruß
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: aschmid am 09 August 2015, 09:49:37
    Hallo Zusammen,

    ich versuch gerade mein Sonos dazu zu bewegen meine Türklingel zu spielen. Soweit funktioniert alles.. nur spielt er mein MP3 immer 3 mal ab, anstelle von einmal...
    Gibt es hier einen kurzen Tipp.. wo ich nachsehen könnte ?

    Aktuell rufe ich das so auf:

    define DoorBell_Btn_01_On notify DoorBell_Btn_01 set Sonos_Terrasse PlayURITemp \\homeserver\SonosSpeak\doorbell.mp3 45

    Merci

    Gruß

    Andi
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 09 August 2015, 10:00:50
    Dein
    DoorBell_Btn_01
    wird 3 Events generieren.
    In den EventMonitor schauen und das gewünschte Event raussuchen und als regexp angeben.
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 10 August 2015, 13:38:31
    Hallo,

    vieleicht kann ja einer weiterhelfen, denn ich hänge irgendwie fest

    Icxh versuche abhängig von befüllten Readings eine Meldung zu einem bestimmten Zeitpunkt abzugeben. Die MP3s sind in /media/SonosMP3.
    Sonos ist definiert:

    define Sonos SONOS localhost:4711 30
    attr Sonos ignoredIPs 192.168.178.1, 192.168.10.1
    attr Sonos room Sonos
    attr Sonos targetSpeakDir /media/SonosSpeak
    attr Sonos targetSpeakFileTimestamp 1
    attr Sonos targetSpeakMP3FileDir /media/SonosMP3
    attr Sonos targetSpeakURL \\192.200.100.95\SonosSpeak
    attr Sonos verbose 2


    Nun zum Notify:

    define Removal4Sonos notify Removal4Sonos {\
    my $message = "Removal";;;;\
    if (ReadingsVal("RemovalBlack", "state", "") eq "on") {$message .= "Black"};;;;\
    if (ReadingsVal("RemovalBrown", "state", "") eq "on") {$message .= "Brown"};;;;\
    if (ReadingsVal("RemovalBlue", "state", "") eq "on") {$message .= "Blue"};;;;\
    if (ReadingsVal("RemovalYellow", "state", "") eq "on") {$message .= "Yellow"};;;;\
    if ($message ne "Removal")\
    {fhem("at 19:30:00 set Sonos_Buero PlayURITemp $message.mp3 35")}\
    }


    Die Readings werden gesetzt, das sehe ich aber um 19:30 kommt keine Meldung
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 10 August 2015, 15:07:43
    Weil dein at-Befehl falsch aufgebaut ist.
    Es fehlt das define und ein beliebiger Name vorne dran aber im Logfile sollte eine Fehlermeldung auftauchen.
    Den Rest deines Codes hab ich mir erstmal nicht genauer angeschaut.

    Das hat aber nichts mit Sonos zu tun sondern wäre eine simple Anfängerfrage gewesen.
    Auserdem wirfst du beim bearbeiten der fhem.cfg ganz schön mit ; um dich aber da ich die fhem.cfg nicht bearbeite kann das durchaus auch passen (aber eher nicht).
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 11 August 2015, 10:34:41
    Also dann so:

    Removal4Sonos {
    my $message = "Removal";;
    if (ReadingsVal("RemovalBlack", "state", "") eq "on") {$message .= "Black"};;
    if (ReadingsVal("RemovalBrown", "state", "") eq "on") {$message .= "Brown"};;
    if (ReadingsVal("RemovalBlue", "state", "") eq "on") {$message .= "Blue"};;
    if (ReadingsVal("RemovalYellow", "state", "") eq "on") {$message .= "Yellow"};;
    if ($message ne "Removal")
    {fhem("define SonosRemoval at 19:30:00 set Sonos_Buero PlayURITemp $message.mp3 35")}
    }


    hatte ich übersehen. Es ist einfach zu warm.

    Ich editiere schon lange nicht mehr in der config, deshalb kommen die vielen Semicolon und Slashes auch nicht von mir.
    Ich hab mir nur das gleiche angewöhnt wie viele hier. Ich definiere das Notify in Krzform, also

    define Removal4Sonos notify Removal4Sonos {
    attr Removal4Sonos room GarbageRemoval


    und paste dann im Webinterface den Rest. Das fügt anscheinend automatisch dann die Semicolon und Slashes hinzu. Ob das so gewollt ist ????????
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 11 August 2015, 16:46:22
    Im DEF genügt ein ;
    Wenn du dort 2 ; eingibst (wozu eigentlich) macht FHEM 4 draus.
    Du hast oben aber nicht das DEF gepostet sondern direkt aus der fhem.cfg
    Aber auch das hat nichts mit Sonos zu tun.
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 11 August 2015, 19:55:00
    Ich habe heute mal eine Frage, von der ich glaubte sie sei schon mal gestellt worden, ich konnte aber nichts dazu finden.
    Wie wählt man via FHEM an der Connect den Aux-Eingang an - und wie kommt man dann wieder zurück auf die Musikbibliothek oder Radio?
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 11 August 2015, 19:58:05
    Ja, ich hatte den Abschnitt direct aus der conf kopiert. Die Def hatte ich aus einem anderen Threat übernommen, warum er da zwei ;; benutzt hatte kann keiner mehr nachvollziehen.

    Da aber der Rest funktioniert, ich sehe die befüllten Variablen mit Hilfe von Hilfsdummys muss die fehlende Sprachausgabe ja an

    define SonosRemoval at 19:30:00 set Sonos_Buero PlayURITemp $message.mp3 35

    liegen und das ist ein Sonos Thema
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 11 August 2015, 20:06:57
    Zitat von: raspklaus am 11 August 2015, 19:58:05
    define SonosRemoval at 19:30:00 set Sonos_Buero PlayURITemp $message.mp3 35
    liegen und das ist ein Sonos Thema
    Nein ist es nicht.

    $message.mp3 wird auch Sonos nicht abspielen.
    Du baust die Übergabe einfach nur falsch zusammen.
    {fhem("define SonosRemoval at 19:30:00 set Sonos_Buero PlayURITemp ".$message.".mp3 35")}
    sollte eher zum Ziel führen.

    Schaust du eigentlich auch mal ins FHEM-Logfile  ???
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 11 August 2015, 20:53:28
    Eigentlich traue ich mich ja gar nicht zu fragen, 1 Stunde lang gelesen und wenig kapiert  :(
    Es gibt eine readingsGroup "mm_sonos_WohnzimmerRG" (so heißt die bei mir) mit der Definition
    mm_sonos_Wohnzimmer:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>
    die eine Ausgabe wie im ersten Bild liefert.
    Wenn ich diese in meinen Flooplan einbringe, dann sieht die Ausgabe etwas anders aus (Bild2).

    Ich möchte aber den Text gar nicht haben, sondern nur das Bild. Aber ich habe es nicht geschafft. Ich habe es mit InfoSummarize4 versucht, was ja leer ist und habe auch das sonos-device disabled/enabled um hier einen "Neustart" zu erzeugen. Aber so geht es wohl nicht.

    Über einen Tipp würde ich mich freuen.
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 11 August 2015, 21:21:21
    Ich schaue ins Logfile, aber da steht nichts von der Aktion
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 11 August 2015, 22:34:35
    Zitat von: raspklaus am 11 August 2015, 21:21:21
    Ich schaue ins Logfile, aber da steht nichts von der Aktion
    Freut mich (ich weiß aber nicht wo du im Logfile geschaut hast) aber mein Beispiel hast du auch nicht versucht, oder?
    Aber egal.
    Deine Versuche sind kein Sonso-Problem sondern ein Anfängerproblem daher wäre es besser (zumindest für den Sonso_thread hier) wenn du unter Anfängerfragen nochmal anfangen würdest.
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 12 August 2015, 05:40:10
    Eigentlich traue ich mich ja gar nicht zu fragen, 1 Stunde lang gelesen und wenig kapiert  :(
    Es gibt eine readingsGroup "mm_sonos_WohnzimmerRG" (so heißt die bei mir) mit der Definition
    mm_sonos_Wohnzimmer:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>
    die eine Ausgabe wie im ersten Bild liefert.
    Wenn ich diese in meinen Flooplan einbringe, dann sieht die Ausgabe etwas anders aus (Bild2).

    Ich möchte aber den Text gar nicht haben, sondern nur das Bild. Aber ich habe es nicht geschafft. Ich habe es mit InfoSummarize4 versucht, was ja leer ist und habe auch das sonos-device disabled/enabled um hier einen "Neustart" zu erzeugen. Aber so geht es wohl nicht.

    Über einen Tipp würde ich mich freuen.

    So, jetzt hat es auch mit den Bildern geklappt - entschuldigt bitte das Duplikat.
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 12 August 2015, 19:36:56
    Ich habe grade ein Problem mit dem Unterbrechen von per "Speak"-Befehl abgespielten Dateien.

    Folgendes Szenario:
    - Sonos läuft nicht
    - Aktion 1 triggert ein Speak
    - Bei Aktion 2 soll das laufende Speak unterbrochen und ein Radiosender gestartet werden.

    Das klappt nur hin und wieder. Wenn ich das Speak gegen Ende des vorzulesenden Textes unterbreche, sehe ich in der offiziellen Sonos-App, wie vom fhem MP3 kurz zum Radiosender gewechselt wird und dann plötzlich ein Titel angezeigt wird, der VOR dem speak-Befehl eingestellt war.

    Kann es sein, dass der speak-Befehl am Ende versucht, den ursprünglichen Zustand wiederherzustellen und dabei den "StartRadio"-Befehl unterbricht? Lässt sich das irgendwie umschiffen? Ein "Stop" vor dem "StartRadio" löst es jedenfalls nicht.
    Titel: Wie heißen die Readings der readingsGroup eines SONOSPLAYER
    Beitrag von: ujaudio am 13 August 2015, 18:42:55
    Beim Versuch meine Floorplanausgabe hinzubekommen komme ich in kleinsten Schritten weiter, aber wenn ich die verschiedenen Attribute der readingsGroup verwenden möchte, muss ich die Bezeichner der einzelnen Readings kennen.

    Die readingsGroup "mm_sonos_<Meinzimmer>_RG hat wohl 5 Elemente:
    Die Grafik, sowie 4 Textfelder.

    Wenn ich die 4 Bezeichner kennen würde, dann hoffe ich mit den diversen Attributen die Ausgabe in meinem Sinn formatieren zu können.
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 16 August 2015, 16:18:27
    Hallo,

    bin gerade an einem Punkt, wo ich nicht mehr weiter wei?:

    Lese die Liste der Radiovavoriten aus und baue mir damit ein (verkürztes) Menü auf. Wenn ich einen Eintrag selektiere, soll der Radiosender abgespielt werden.

    Das sieht dann im log so aus:
    2015.08.16 15:28:12 3: set Sonos_G_stezimmer StartRadio deutschlandfunk
    2015.08.16 15:28:13 2: LastActionResult: cmd loadradio res radio "deutschlandfunk" not found. choose one of: "antenne bayern 103.0 (pop)","b5 aktuell 90.0 (nachrichten)","bayern 2 88.4 (nachrichten)","bayern 3 97.3 (top 40-pop)","deutschlandfunk","nrj energy münchen 93.3 (top 40 popmusik)","radio gong 96.3 (local music)","top fm 106.4 (top 40-pop)","Österreich 1","Радио Шансон 103.0 (russisch)"
    2015.08.16 15:28:13 2: LastActionResult: cmd play res success!

    Der Player spielt die letzte mp3 - Datei ab, statt des Rasiossenders.

    Wie man sieht, habe ich entsprechend der Commandref die Sendernamen mit uriencode umgesetzt:

    Notify auf das Menü:
    2015.08.16 15:30:02 3: set: rd Sender val nrj-energy-münchen master Sonos_G_stezimmer
    Der Menüname wird über ein hash in den korekten Favoriten zurückgewandelt
    2015.08.16 15:30:02 3: set Sonos_G_stezimmer StartRadio nrj%20energy%20m%C3%BCnchen%2093.3%20%28top%2040%20popmusik%29
    2015.08.16 15:30:02 2: LastActionResult: cmd loadradio res radio "nrj energy münchen 93.3 (top 40 popmusik)" not found. choose one of: "antenne bayern 103.0 (pop)","b5 aktuell 90.0 (nachrichten)","bayern 2 88.4 (nachrichten)","bayern 3 97.3 (top 40-pop)","deutschlandfunk","nrj energy münchen 93.3 (top 40 popmusik)","radio gong 96.3 (local music)","top fm 106.4 (top 40-pop)","Österreich 1","Радио Шансон 103.0 (russisch)"
    2015.08.16 15:30:02 2: LastActionResult: cmd play res success!
    2015.08.16 15:30:10 3: set: rd Sender val radio-gong master Sonos_G_stezimmer
    2015.08.16 15:30:10 3: set Sonos_G_stezimmer StartRadio radio%20gong%2096.3%20%28local%20music%29
    2015.08.16 15:30:11 2: LastActionResult: cmd loadradio res radio "radio gong 96.3 (local music)" not found. choose one of: "antenne bayern 103.0 (pop)","b5 aktuell 90.0 (nachrichten)","bayern 2 88.4 (nachrichten)","bayern 3 97.3 (top 40-pop)","deutschlandfunk","nrj energy münchen 93.3 (top 40 popmusik)","radio gong 96.3 (local music)","top fm 106.4 (top 40-pop)","Österreich 1","Радио Шансон 103.0 (russisch)"
    2015.08.16 15:30:11 2: LastActionResult: cmd play res success!


    Hier auch das Codestückchen:

    my $sender = $hash->{Sender}{$val};
    # Menüliste aktualisieren
    readingsSingleUpdate($hash,'Sender',$val,1);
    $sender = uri_escape($sender);
    my $cmd = "set $master StartRadio $sender";
    Log3($name,3,"$cmd");
    fhem($cmd);
    return undef;


    Was mache ich da falsch?

    Elektrolurch

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 August 2015, 16:57:22
    Hi Elektrolurch,

    irgendwie sind die Logausgaben komisch. Wieso sind die bei dir alle in Kleinbuchstaben?
    Außerdem erscheinen mir die Meldungen für LastActionResult beim Setzen des Radiosenders fehlerhaft...

    Bleiben wir mal z.B. bei dem Eintrag mit dem Zeitstempel "15:28:13":
    Dort erscheint eine Ausgabe dazu, dass der Sender "deutschlandfunk" nicht gefunden werden konnte, und man einen aus der Liste auswählen solle. Abgesehen davon, dass auch das alles in Kleinbuchstaben ausgegeben wird, sollte die Zeile mit den Worten 'LoadRadio: Radio "Sendername" not found. Choose one of' beginnen.
    Bei dir steht da was von 'cmd loadradio res radio "deutschlandfunk"'...

    Kannst du nochmal den kompletten Code posten, und auch deine eigene Logausgabe des zusammengebauten Kommandos besser markieren, sodass man diese eindeutig im Log wiederfindet?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 16 August 2015, 17:26:54
    Hallo Reinerlein,

    Fehler gefunden: Ich hatte an einer übergeordneten Routine, wo ich die Events auswerte, ein lc eingefügt....
    (SonosCC_NotifyFN, den Code für das Gerüst hatte ich aus einem meiner anderen Module kopiert und dabei das lc() für die readingsnamen völlig vergessen und das hat dann die Radioliste klein gemacht. :-)
    ic
    Jetzt gehts.


    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 16 August 2015, 21:44:43
    Hi Reinerlein,

    gibt es im Modul die Möglichkeit auf den SPDIF Eingang der Playbar zu schalten ?
    Wenn man händisch z.b. Radio abspielen lässt und dann wieder die Musikquelle TV auswählen möchte...


    Hab mal den Wireshark angeworfen und die 2 zusätzlichen Funktionen der Playbar gesnifft.
    Die Funktionen lassen sich in der Sonos Software über die 2 Buttons im Titelfeld an/ausschalten.


    Nachtsound ein:

    POST /MediaRenderer/RenderingControl/Control HTTP/1.1
    CONNECTION: close
    ACCEPT-ENCODING: gzip

    USER-AGENT: Linux UPnP/1.0 Sonos/29.5-90191 (MDCR_x86_64_MacBookPro8,1)
    CONTENT-LENGTH: 313
    CONTENT-TYPE: text/xml; charset="utf-8"
    SOAPACTION: "urn:schemas-upnp-org:service:RenderingControl:1#SetEQ"

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetEQ xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><EQType>NightMode</EQType><DesiredValue>1</DesiredValue></u:SetEQ></s:Body></s:Envelope>HTTP/1.1 200 OK
    CONTENT-LENGTH: 247
    CONTENT-TYPE: text/xml; charset="utf-8"
    EXT:
    Server: Linux UPnP/1.0 Sonos/29.5-91030 (ZPS9)
    Connection: close

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetEQResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"></u:SetEQResponse></s:Body></s:Envelope>



    Sprachverbesserung ein:

    POST /MediaRenderer/RenderingControl/Control HTTP/1.1
    CONNECTION: close
    ACCEPT-ENCODING: gzip

    USER-AGENT: Linux UPnP/1.0 Sonos/29.5-90191 (MDCR_x86_64_MacBookPro8,1)
    CONTENT-LENGTH: 315
    CONTENT-TYPE: text/xml; charset="utf-8"
    SOAPACTION: "urn:schemas-upnp-org:service:RenderingControl:1#SetEQ"

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetEQ xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"><InstanceID>0</InstanceID><EQType>DialogLevel</EQType><DesiredValue>1</DesiredValue></u:SetEQ></s:Body></s:Envelope>HTTP/1.1 200 OK
    CONTENT-LENGTH: 247
    CONTENT-TYPE: text/xml; charset="utf-8"
    EXT:
    Server: Linux UPnP/1.0 Sonos/29.5-91030 (ZPS9)
    Connection: close

    <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:SetEQResponse xmlns:u="urn:schemas-upnp-org:service:RenderingControl:1"></u:SetEQResponse></s:Body></s:Envelope>





    Gruß Christoph


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 August 2015, 22:53:24
    Hi Christoph,

    du kannst einfach das Playbar-Device als Quelle angeben. Dann wird bei einer Playbar automatisch der TV-Eingang gewählt.

    Die beiden Setter baue ich ein...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 17 August 2015, 09:14:44
    Hallo Reiner,

    wenn Du gerade dabei bist ;):

    Es besteht ja die Möglichkeit, mittels set Sonos Groups ... bestimmte Gruppen zu definieren. Möchtest Du vielleicht auch die einfache Möglichkeit des Zurücksetzens auf Defaultwerte einbauen?

    Momentan lösche ich bei mir um 04 Uhr alle bestehenden Gruppen und setze sie zurück mittels


    define Sonos_Init DOIF
    ([04:00])
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER Stop)
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER RemoveMember Sonos_Bad)
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER RemoveMember Sonos_Esszimmer)
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER RemoveMember Sonos_HWR)
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER RemoveMember Sonos_Schlafzimmer)
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER Volume 10)
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER LoadRadio SWR3)


    Denkbar wäre, in den Attributen vom Sonos-Device mittels "attr DefaultGroups ..." die Defaults anzugeben und dann mittels "set Sonos DefaultGroups" alles zurückzusetzen (und wenn das Attribut DefaultGroups leer, dann werden eben bei "set Sonos DefaultGroups" einfach nur alle Gruppen gelöscht).
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 August 2015, 11:25:40
    Hallo Ralli,

    ich kann mir das mal anschauen, aber am einfachsten ist es momentan mit folgender Anweisung:

    set Sonos Groups [Sonos_Bad], [Sonos_Esszimmer], [Sonos_HWR], [Sonos_Schlafzimmer]

    Wenn du deine Räume kennst, geht das so... nur wenn dir die Räume unbekannt wären, ginge das nicht...
    Aber ich überlege mir mal was...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 17 August 2015, 11:34:22
    Hallo Reiner,

    würde mich über Feedback zu meiner Frage etwas weiter oben freuen. Ein kurzes Ja oder Nein zu meiner Vermutung würde schon reichen  ;) Dann überlege ich mir einen Workaround.

    Danke & Gruß
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 17 August 2015, 11:47:40
    Danke, Reiner!
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 August 2015, 12:11:21
    Hallo Daniel,

    sorry, das war bei mir untergegangen...
    Der Speak Befehl versucht natürlich hinterher den alten Zustand wiederherzustellen. Momentan gibt es auch keine Möglichkeit, das zu unterbrechen...
    Dasselbe gilt für PlayURITemp, welches von Speak intern dafür verwendet wird.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 17 August 2015, 17:57:35
    Hallo Reiner, darf ich meine Frage auch nochmals wiederholen?

    Beim Versuch meine Sonos-Floorplanausgabe hinzubekommen komme ich in kleinen Schritten weiter, aber wenn ich die verschiedenen Attribute der readingsGroup verwenden möchte, muss ich die Bezeichner der einzelnen Readings kennen.

    Die readingsGroup "mm_sonos_<Meinzimmer>_RG hat wohl 5 Elemente:
    Die Grafik, sowie 4 Textfelder.

    Wenn ich die 4 Bezeichner kennen würde, dann hoffe ich mit den diversen Attributen die Ausgabe in meinem Sinn formatieren zu können.

    Oder wie sonst kann ich nur das Cover der ReadingsGroup ohne die texte bekommen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 August 2015, 18:18:50
    Hi Jürgen,

    diese ReadingsGroups baue ich mittels einer mitgelieferten Perl-Prozedur, die den HTML-Code für die Ausgabe liefert.
    Dazu gibt es auch eine Beschreibung im Wiki, sowie eine Kopiervorlage für den HTML-Code-Generierer.
    Da gibt es sicherlich mittlerweile auch elegantere Methoden, die ich persönlich aber bislang nicht vertieft habe.

    Das Cover alleine kannst du im HTML-Code über das Reading "currentAlbumArtURL" (mit "L" am Ende) bekommen. Dieses ist auf einer Standard-Fhemweb-Oberfläche eine korrekte URL zum Cover, u.U. mit konfigurierten Proxy-Pfaden...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 17 August 2015, 19:36:01
    CurrentAlbumURL habe ich verwendet - aber dann habe ich die Radiosender nicht und auch nicht den passiven Zustand. Aktuell habeich zwar weiße Schrift auf weißen Untergrund, so dass der störende Text auf dem Floorplan nicht sichtbar ist - nur sobald ich diesen aufhübsche geht es mit dem einfachen Trick nicht mehr. Ich werde mir nochmals das Wiki vorknöpfen und ggf. am Code basteln...

    Vorerst einmal vielen Dank.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 August 2015, 20:18:53
    Hi Jürgen,

    aktiviere mal den Proxy am Sonos-Device, indem du "generateProxyAlbumArtURLs" auf "1" setzt.
    Schau dir u.U. auch mal die Caching-Optionen dazu an.

    Vielleicht geht das dann besser...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 17 August 2015, 21:01:05
    Ich nehme mal an, dass man die proxyCacheTime in Sekunden angibt.
    Das Reading currentAlbumArtURL enthält nun immer einen "lokalen" Wert, z.B.
    /fhem/sonos/proxy/aa?url=http%3A%2F%2F192.168.178.35%3A1400%2Fgetaa%3Fs%3D1%26u%3Dx-sonosapi-stream%253as104094%253fsid%253d254%2526flags%253d32
    oder
    /fhem/sonos/cover/empty.jpg
    Da ich mit weblink image nicht dynamisch arbeiten kann, muss ich mal suchen, was fhem noch so alles kann - vermutlich muss ich wohl eine eigene Routine schreiben...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 August 2015, 21:44:15
    Hi Jürgen,

    wie geschrieben, kann man in einer ReadingsGroup (wie von mir als default erzeugt) HTML-Code ausgeben. Dort baue ich diese URL direkt in einen IMG-Tag ein...
    Aber das müsste auch in einem Weblink gehen, auch dort kann man eine Perl-Prozedur angeben, die den HTML-Code für die Anzeige erzeugen soll...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 18 August 2015, 09:39:52
    Hallo Reiner,

    ich erstelle zur Zeit ein Sonos Widget für smartVisu. Um die currentTrackPosition mit einem Slider darstellen und setzen zu können, benutze ich im Moment eine Kombination aus notify/at. Das notify (Trigger transportState) erstellt und löscht ein at, dass alle x Sekunden ein get CurrentTrackPosition auslöst. Das funktioniert so weit auch. Unschön daran ist, dass durch das Erzeugen/Löschen des at device das rote Fragezeichen zum Speichern dieser Änderung auffordert sobald man einen Track abspielt oder stoppt.
    Jetzt kommst du ins Spiel :-) Praktisch wäre ein Attribut, dass in Sekunden festlegt wie oft das reading currentTrackPosition automatisch aktualisiert wird, wenn transportState PLAYING ist und der Player kein Slave einer Gruppe ist [Edit: und currentNormalAudio = 1].

    Würdest du so etwas in der Art in das Sonos Modul einbauen?

    /Uli
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 August 2015, 11:54:40
    Hi Ulli,

    im Normalfall holt man sich einmal die currentTrackPosition (per Notify, da das Reading automatisch aktualisiert wird), merkt sich den Zeitstempel dazu und arbeitet mit einer eigenen Zeitfunktion.
    Das tue ich auch für meine Vollbildanzeige der Player (erreichbar mit Klick/Tipp auf das Coverbild in der normalen Raumübersicht).

    Dort starte ich einen Javascript-Timer, der die Anzeige aktualisiert (ohne eine erneute Anfrage beim Player). Leider ist das ganze etwas ungenau, sodass es nicht exakt mit der Realität übereinstimmt, aber das kann auch an mir liegen...
    Das Reading currentTrackPosition wird bei jedem Wechsel des Transportstate  automatisch aktualisiert. Es enthält also immer die Position (und den dazugehörigen Zeitstempel) der letzten Zustandswechselaktion des Players.

    Ich würde fhem nicht mit einer ständigen Abfrage der Position belästigen, da die im Normalfall ja linear verläuft :) Bei einer Änderung des Zustand (wie pause, start, aber auch beim Springen an eine andere Position im Titel usw.) wird das Reading ja aktualisiert.

    Zu deiner Fragezeichenproblematik: du kannst ein Device als Temporär markieren. Dann wird es nicht für diese Speichern-Überprüfung herangezogen. Hier mal ein kurzer Thread dazu: http://forum.fhem.de/index.php/topic,39610.msg320626.html#msg320626 (http://forum.fhem.de/index.php/topic,39610.msg320626.html#msg320626)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 19 August 2015, 08:01:31
    Hi Reiner,

    auf die Idee dafür einen eigenen JavaScript Timer zu starten bin ich nicht gekommen, aber überfordert meine Kenntnisse wohl auch. Ich bin froh, dass ich die passenden fronthem Converter und Subs in Perl hinbekommen habe, um die Räume komfortabel gruppieren und trennen zu können. Vielleicht findet sich jemand, der das übernimmt, wenn ich das Widget veröffentlicht habe. Ich denke, ich werde es dann erstmal so lassen und gehe nur die Fragezeichenproblematik an. Danke für den Hinweis dazu und deine ausführliche Antwort.

    Gruß
    Uli

    (Edit) Btw: kann ich die Warnungen aus dem IO::Socket::IP Modul ignorieren?
    Odd number of elements in hash assignment at /usr/local/share/perl/5.18.2/IO/Socket/IP.pm line 352, <$client> line 7.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 August 2015, 11:04:15
    Hi Uli,

    so kompliziert ist das mit dem Javascript Timer nicht. Du brauchst eine Javascript-Prozedur, die automatisch aufgerufen wird, und die die Aktualisierung deines Sliders durchführt. Am Ende dieser Prozedur startest du wieder den Timer, der diese Prozedur nach einer bestimmten Zeit (z.B. einer Sekunde) wieder aufruft.
    Dann brauchst du nur noch initial einmal den Timer mit dem Namen dieser Prozedur aufzurufen...

    Abstraktes Beispiel:

    function timerEvent() {
       //Hier den Code zum Aktualisieren des Slider hintun...

      if ('Es soll weiter aktualisiert werden') {
        setTimeout('timerEvent()', 1000);
      }
    }

    //Starte den AktualisierungsTimer
    setTimeout('timerEvent()', 100);


    Die Meldungen bzgl. IP kannst/musst du ignorieren. Ich habe bislang keine Möglichkeit gefunden, diese Meldungen abzuschalten.
    Die kommen irgendwie häufiger, wenn man exzessiv Netzwerkverkehr produziert...
    Das betrifft aber alle Perl-Netzwerk Aktionen.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 19 August 2015, 13:00:37
    zur fehlermeldung gibt es weiter oben etwas. du kannst das perl modul patchen. dann ist sie weg. der fehler liegt ziemlich sicher dort.

    gruß
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 19 August 2015, 13:58:47
    Hi Reiner,

    sieht erstmal wirklich nicht so kompliziert aus, ich werde mir das mal ansehen.

    Mir ist aber geade noch etwas anderes aufgefallen, bin aber nicht sicher, ob das an meiner Installation liegt, glaube aber eher nicht.
    Wenn Ich meine 3 Sonosräume (1x Connect, 1x Play:1 und 2x Play:3 (L+R)) über den Sonos Controller gruppiere und dann ebenfalls mit der Sonos Software den Master der Gruppe aus der Gruppe herausnehme, dann wird einer der beiden ehemaligen Slaves ein Master für den verbliebenen Slave. In FHEM ist der verbliebe Slave dann im transportState ERROR, obwohl er die Musik des neuen Masters abspielt. Verstehst Du was ich meine und kannst Du das nachvollziehen oder funktioniert das bei dir/euch?

    @Andre: In der 3-zeiligen Sub hatte ich die Warnungen schon ausgeschaltet, war mir nur nicht sicher ob die vielleicht doch etwas ernstes sagen wollen :-)

    /Uli
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 19 August 2015, 19:50:53
    Ich bin grade dabei, nach und nach die täglichen Fehlermeldungen im Logfile auszumerzen. Jetzt ist Sonos dran ;D

    Folgendes taucht immer wieder auf:

    Loading device description failed with error: 500 Can't connect to 192.168.xxx.xxx:5000 (Verbindungsaufbau abgelehnt) at ./FHEM/00_SONOS.pm line 3590 thread 1.

    Hinter der Adresse verbirgt sich ein Netzwerkspeicher, der von Sonos indiziert ist aber nicht immer läuft. Lässt sich die Fehlermeldung irgendwie abstellen?
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 20 August 2015, 11:16:28
    Hallo Reinerlein,

    nach einigen Anfangsschwierigkeiten wirds aber schon langsam...
    Ich habe da aber noch ein paar log-Einträge:

    1.
    2015.08.18 17:00:43 1: Including ./FHEM/00_utils_Sonos.cfg
    Smartmatch is experimental at ./FHEM/00_SONOS.pm line 5383.
    Current: "fhem.pl", gPath: "./FHEM"

    Da gibt es wohl einen patch, um in der neuen perl-Version den ... - Vergleichsoperator wieder zu legalisieren? :-)

    2. Aber das hier kommt bei jedem Zugriff auf Sonos und "ballert" mir das log-File zu:
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 8.

    Es ist ein neues debian auf einem Cubietruck. Im Augenblick läuft nur Sonos drauf, da ich das erst stabil hin bekommen möchte. Der Rest ist noch auf einer Fritzbox, zieht aber nach dem ich mein Sonos fertig gestrickt habe, auch um.
    ,
    Ich habe nach den log-Ausgaben im Forum gesucht und festgestellt, das andere Nutzer das Problem auch haben. Leider aber nirgens eine Erklärung oder Abhilfe dafür gefunden.
    Wg. Screenreader versuche ich meine logs möglichst sauber zu halten. Gibt es ev. eine Lösung?

    Grüße

    Elektrolurch

    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 20 August 2015, 11:47:04
    zu 2.: schau mal etwas weiter oben im thread. da hatte ich einen kleinen patch gepostet der die meldung behebt.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 20 August 2015, 11:52:32
    @ dantist

    trag die IP unter ignoredips ein, dann ist die Meldung weg
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 20 August 2015, 17:56:21
    Hallo Andre,

    Zitat:
    zu 2.: schau mal etwas weiter oben im thread. da hatte ich einen kleinen patch gepostet der die meldung behebt.

    :-(
    1. Jetzt habe ich die letzten sechs Seiten durchgeblättert... nichts gefunden oder überlesen
    2. Die Suche gibt nur genau meine Frage aus, aber die Forumssuchmaschine ist ja eh nicht so toll.
    3. Über startpage.com findet er nichst, sagt der Familienfilter sei ev. dran schuld, aber das ist eher ja Anektote (gibts für patch noch eine Bedeutung, die ich nicht kenne?)

    Hast Du ev. die Nummer des Beitrages?
    Ich kann mich nur schwach daran erinnern, dass es mal einen Beitrag gab, in dem aus dem IODEV - Hash Teile für ssl ausgeklammert wurden, aber dann geht das IODEV ja nicht mehr für ssl????
    Oder hatte das mit der Meldung hir nichts zu tun??

    Gruß

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 20 August 2015, 18:12:05
    der post ist hier: http://forum.fhem.de/index.php/topic,10033.msg259741.html#msg259741

    es gibt damit eine eine einschränkung bezüglich ssl und LWP. aber das ist zumindest bei mir nicht relevant.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 23 August 2015, 12:56:14
    Zitat von: raspklaus am 20 August 2015, 11:52:32
    @ dantist
    trag die IP unter ignoredips ein, dann ist die Meldung weg

    Habe ich inzwischen getan, die Meldung taucht aber weiterhin auf  ??? Muss der Port 5000 mit rein?
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 29 August 2015, 20:40:55
    Hallo Reiner,
    gibt es irgend eine Möglichkeit über einen Befehl FHEM zu vermitteln, das die Player nicht mehr am Netz sind um diese nach Ausschalten der SONOS Player über Funksteckdose an folgenden LOG Einträgen zu hindern? Sonst läuft alles zur vollsten Zufriedenheit!
    Zitat2015.08.29 16:49:44 2: ROOMMATE set rr_DET location underway
    Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.63:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1 Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1
    2015.08.29 08:11:32 2: ROOMMATE set rr_DET location home
    Hab verbose global auf 2, daher ist es heute fast das Einzige im LOG und ich hab mal alle Zeilen reinkopiert, sorry das es soviel und immer das Gleiche ist.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 August 2015, 13:02:37
    Hi Detlef,

    leider kann man das nicht einfach so mitteilen. Das andere Problem ist aber, dass ich gar kein unsubscribe aufrufe. Ich mache nur ein subscribe- und später nur noch renew-Aufrufe...

    Um mal einzugrenzen, an welcher Stelle das überhaupt passiert, kannst du eine kleine Änderung in deiner ControlPoint.pm durchführen?
    In Zeile 716 aus dem "carp" ein "croak" machen (das ist die unsubscribe-Prozedur, wo der Aufruf Schlussendlich fehlschlägt). Damit bricht der Thread tatsächlich bei diesem Fehler ab, und mit ein bißchen Glück steht dann im Log, wo es im Modul passiert ist...

    Danke schon mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 30 August 2015, 14:46:56
    Hallo Reiner,
    Danke - gemacht - mal sehen was so passiert - ich melde mich
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 30 August 2015, 19:08:41
    Zitat von: Reinerlein am 30 August 2015, 13:02:37
    Um mal einzugrenzen, an welcher Stelle das überhaupt passiert, kannst du eine kleine Änderung in deiner ControlPoint.pm durchführen?
    In Zeile 716 aus dem "carp" ein "croak" machen (das ist die unsubscribe-Prozedur, wo der Aufruf Schlussendlich fehlschlägt). Damit bricht der Thread tatsächlich bei diesem Fehler ab, und mit ein bißchen Glück steht dann im Log, wo es im Modul passiert ist...
    (in cleanup) Unsubscription request failed with error: 500 Can't connect to 192.168.2.70:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1
    genau die eine Zeile ist entstanden, hoffe das hilft oder soll ich den LOG level mal raufsetzen, wobei mir das schon als Fix reicht, eine Fehlermeldung nach Ausschalten der SONOS Player - also pro Tag ist besser als der ganze Block Müll im LOG wie vor der Änderung.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 August 2015, 19:41:40
    Hi Detlef,

    leider hat das Modul so keinen stabilen Zustand :)
    Kannst du den Loglevel mal auf 5 stellen (am Sonos-Device)? Der kleine Zusatz "(in cleanup)" sagt mir leider noch nicht soviel...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 02 September 2015, 13:33:34
    Hallo Reinerlein,

    komme leider mal wieder nicht weiter.
    Was geht:
    - Player gruppieren und ungruppieren
    - Radio - Streams abspielen
    - Text per speak - Befehl ausgeben.

    Leider geht aber der startSearchlist - Befehl nicht. Das Radioprogramm stoopt, er scheint auch die Titel zu finden, dann kommt aber eine UPnP-Fehlermeldung, die ich nicht deuten kann:

    2015.09.02 13:25:36 2: main::SonosCC_Player_not: LastActionResult: cmd LoadSearchlist res Retrieved all titles of category "Artists" with searchvalue "Beatles" and filter "10set/.*/.*" (#0). Startlist: Success!.
    2015.09.02 13:25:38 2: main::SonosCC_Player_not: LastActionResult: cmd Play res Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2015.09.02 13:25:38 1: main::SonosCC_CC_not: name SonosCC rd currentAlbumArtURI val ./www/images/default/SONOSPLAYER/Sonos_G_stezimmer_AlbumArt.png
    2015.09.02 13:25:38 1: main::SonosCC_CC_not: name SonosCC rd transportState val STOPPED
    2015.09.02 13:25:38 1: main::SonosCC_CC_not: name SonosCC rd numberOfTracks val 0
    2015.09.02 13:25:38 1: main::SonosCC_CC_not: name SonosCC rd currentTrack val 0

    Sonos kann auf das freigegebene Laufwerk zugreifen. Die Titel wurden auch alle indiziert.
    Was könnte das Problem sein?

    Danke schon mal.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 September 2015, 14:36:02
    Hi Elektrolurch,

    der UPnP-Fehler ist scheinbar eine Folge davon, dass er keine Titel finden konnte (die gefundene Anzahl Titel ist das hinter dem #-Symbol in den Klammern, hier also 0), und er dann versucht eine leere Abspielliste zu starten...

    Er scheint keine Titel zu finden, die genau auf "10set" passen.
    Meintest du da nicht eher ein Album, und dann vielleicht auch mit mehr Platzhaltern? Also z.B. "/10.Set/", oder wenn die Groß-/Kleinschreibung egal sein soll: "/(?i)10.set/"...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 02 September 2015, 15:05:16
    Ok. Ich glaube, ich verstehe die Syntaqx da falsch.

    Ich dachte, die Titel- und anderen Filter wären optional.
    Suchen wollte ich nach Artists Beatles und das Ergebnis auf 10 Titel einschränken.

    In der Commandref sind die Filter mit [[.../.../]] angegeben, also doch optional....
    Oder muss ich ich das dann so hinschreiben:

    set Sonos_G_stezimmer LoadSearchlist Artists Beatles .*/.*/.*/ 10

    By the way:
    Wenn manh nach einem nicht vorhandenen Artist sucht, kommt die Liste der verfügbaren Artists zurück, sow wie es in fhem mit dem "set device ?" - Befehl ist. Ist das so gewollt und könnte man damit nicht auch ein Auswahlmenü befüllen?


    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 September 2015, 15:38:41
    Hi Elektrolurch,

    ja, die Parameter sind optional, nur wenn du die Anzahl angeben willst, dann muss da was hin, sonst passt die Parameterstelle nicht mehr. Das kannst du dann aber auf einen Schrägstrich reduzieren, oder auf zwei Schrägstriche (aber nicht auf drei, das ist einer zuviel), oder auf ein ".*"... was auch immer dir am sprechendsten aussieht :)

    Bei der Anzahl kann man schön mit einem Sternchen eine zufällige Auswahl einfügen lassen, sonst sind es immer die ersten 10 gefundenen (im Normalfall also immer die gleichen, es sei denn, es kommen neue Titel in die Bibliothek).

    Das Phänomen, was du ansprichst ist eher eine Folge der Hilfestellung für den Anwender. Wie üblich wollte ich dort zurückgeben, was man alles angeben darf. Natürlich kann man das auch weiterverwenden :)
    Ich habe aber nicht getestet, was bei sehr großen Listen so mit Fhem passiert :)

    Für das Füllen von kompletten Listen ist eher das Feature "ExportSonosBibliothek" gedacht. Dort bekommt man dann alles in eine Datei geliefert, was Sonos so kennt... Im Wiki gibt es unter http://www.fhemwiki.de/wiki/SONOS#Die_Funktionalit.C3.A4t_.22ExportSonosBibliothek.22 (http://www.fhemwiki.de/wiki/SONOS#Die_Funktionalit.C3.A4t_.22ExportSonosBibliothek.22) eine Beschreibung dazu...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 04 September 2015, 12:46:25
    Hallo Zusammen,

    im Rahmen einer Anruferkennung würde ich gerne die folgenden beiden Befehle hintereinander ausführen:
    set Sonos_Esszimmer Speak 40 de Ein Anruf von blabla
    gefolgt von
    set Sonos Mute on

    Erst bei einem disconnect des Telefons wird dann wieder mit
    set Sonos Mute off
    die Sonos-Geräte laut geschaltet.

    Leider wird der Mute-Befehl sofort ausgeführt, sodass schon während der Textausgabe auf lautlos geschaltet wird.

    Ich meine, dass ich hier im Forum schon mal etwas gelesen habe , wie man Befehle hintereinandschreibt, sodass sie sequentiell nach erfolgter Durchführung abgearbeitet werden. Ich glaube das war sogar von Rudi persönlich eingestellt. Leider kann ich das trotz intensivster Bemühung der Suchfunktion nicht mehr finden. Dunkel meine ich mich aber zu erinnern, dass durch Doppelung von Semikolons zwischen den Befehlen das erreicht werden kann. Damit habe ich aber leider erfolglos herumexperimentiert.

    Wenn ich mit

    {fhem("set Sonos_Esszimmer Speak 40 de Ein Anruf von blabla;;;;set Sonos Mute on")}

    versuche, liest er mir das hinter dem "blabla" auch vor  :(

    Wer kann mir hier einen Tipp geben?


    Danke und Gruß

    Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 04 September 2015, 14:07:16
    Wenn Du weiss wie lang die Ansage ist (X sek), dann kannst Du das mit dem fhem sleep machen:
    set player Mute on; set player Speak 40 blabla; sleep X; set player Mute off;
    Wenn Du nicht weiss oder abschätzen kannst wie lang die Ansage ist, dann könnte man das mit Hilfe von MP3::Tag ermitteln.

    /Uli
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 September 2015, 14:13:15
    Hi Christoph,

    das Problem ist, dass der Speak-Befehl so asynchron abläuft, dass Fhem während der Durchsage nix mehr von weiss, und alles normal weiterverarbeitet wird :)

    Was du aber tun kannst, ist den Mute-Befehl *vorher* auszuführen. Der Speak-Befehl sichert/merkt sich den Mute-Zustand und stellt ihn nach der Durchsage wieder her. Hierbei hast du nur das Problem, wenn das Telefonat kürzer als die Durchsage ist, dass nach dem Unmute (wegen des Disconnects) dann der Wiederherstellungsteil nach der Durchsage wieder auf Mute schaltet...
    Die Semikolon-Schreibweise ist eine normale Verkettung von Fhem-Befehlen, und erreicht dasselbe wie hintereinander ausführen der Befehle... Das Sonos-Modul merkt sich die Anweisungen sowieso nochmal selbst und schiebt sie der Reihe nach an die Player. Nur Speak (bzw. die Überwachung dazu) läuft dabei nochmal in einem eigenen Thread und damit nebenher zu allen anderen Anweisungen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 04 September 2015, 15:00:47
    Vielen Dank für die Infos.

    Ich dachte mir schon fast, dass hier speak aus der Reihe tanzt.

    Mit den Tipps hier werde ich aber sicherlich irgendetwas Brauchbares hinbekommen.
    Titel: Antw:Sonos steuern
    Beitrag von: micomat am 05 September 2015, 09:13:38
    Hi,
    ich versuche grad nach WIKI meinen PLAY1 einzubinden.
    Leider scheitere ich aber schon hieran:


    root@fhempi:/opt/fhem/FHEM# apt-get install libxml-parser-lite-perl             Reading package lists... Done
    Building dependency tree
    Reading state information... Done
    E: Unable to locate package libxml-parser-lite-perl


    EDIT:
    Habs via CPAN installiert.

    Bekomme jetzt folgenden Fehler beim define:

    2015.09.05 09:40:42 1: reload: Error:Modul 00_SONOS deactivated:
    Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 165.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 165.

    2015.09.05 09:40:42 0: Attempt to reload UPnP/ControlPoint.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 165.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 165.


    Repository Update habe ich mehrfach durchgefuehrt :-(

    Gruß,
    Markus
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 05 September 2015, 10:15:50
    Alle anderen Abhängigkeiten hast Du auch installiert?

    LWP::Simple
    LWP::UserAgent
    SOAP::Lite
    HTTP::Request


    Titel: Antw:Sonos steuern
    Beitrag von: micomat am 05 September 2015, 15:54:04
    ja und nach einem gesunden Neustart geht auch nun alles :)
    Danke
    Titel: Antw:Sonos steuern
    Beitrag von: 2P4u am 06 September 2015, 15:03:56
    Hi Zusammen.
    Ich habe folgende Frage:
    Im Badezimmer steht ne Play1, diese hängt an einer PCA301 Steckdose. Nun möchte ich wenn die Dose aus ist, dass diese eingeschaltet wird und nach dem hochfahren ca. 40 sek später der Stream anfängt zu laufen. Ausserdem soll beim Tastendruck der Stream direkt starten, wenn die Steckdose schon an ist.
    Folgendes habe ich schon getestet:
    define bz_taster03NF notify bz_taster03.Short.* {
    fhem ("set Sonos_Bad PlayURI http://1live-diggi.akacast.akamaistream.net/7/965/119435/v1/gnl.akacast.akamaistream.net/1live-diggi 10");;
    fhem ("set bz_Sonos on")if (ReadingsVal("bz_Sonos", "state", "0") eq "off");;
    fhem ("set Sonos_Bad at +00:00:40 PlayURI http://1live-diggi.akacast.akamaistream.net/7/965/119435/v1/gnl.akacast.akamaistream.net/1live-diggi 10");;
    }


    Allerdings bin ich mir mit der Position des at Befehls nicht sicher, da 40 sek nachdem die Steckdose angeht nichts mehr passiert.
    Erst wenn ich den Taster nochmals betätige wird logischerweise der Stream gestartet.

    Ich hoffe mir kann jemand helfen, oder es gibt ne andere Lösung dafür?
    Vielen Dank für eure Hilfe

    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 06 September 2015, 15:30:52
    Du bist dir bezüglich des at nicht sicher  ;)
    Die Position passt schon.
    fhem ("define Sonos_Bad_spaeter at +00:00:40 set Sonos_Bad PlayURI http://1live-diggi.akacast.akamaistream.net/7/965/119435/v1/gnl.akacast.akamaistream.net/1live-diggi 10");;
    sollte besser passen.

    Deine Anforderung passt aber so generell nicht zu deinem Code.

    bz_taster03.Short.* {
      if (ReadingsVal("bz_Sonos", "state", "undef") eq "off") {
        fhem ("set bz_Sonos on");
        fhem ("define Sonos_Bad_spaeter at +00:00:40 set Sonos_Bad PlayURI http://1live-diggi.akacast.akamaistream.net/7/965/119435/v1/gnl.akacast.akamaistream.net/1live-diggi 10");
      }
      else {
        fhem ("set Sonos_Bad PlayURI http://1live-diggi.akacast.akamaistream.net/7/965/119435/v1/gnl.akacast.akamaistream.net/1live-diggi 10");
      }
    }

    Die ; musst du ;; aber da ich die fhem.cfg nicht direkt bearbeite bleibt dir das übrig.
    Auch wirst du Zeilenumbrüche maskieren müssen, oder du kopierst meinen Code in das DEF des notify  ;)
    Die Frage hat aber nicht wirklich was mit einem Sonos-Problem zu tun sondern ist eine Anfängerfrage  8) *duckundwech*

    Edith: Den Ersatzwert im ReadingsVal würde ich aber nach undef ändern sonst gibts eine Hinweismeldung das der Vergleich mit eq fehlschlägt wenn das Reading nicht gelesen werden kann.
    Titel: Antw:Sonos steuern
    Beitrag von: 2P4u am 06 September 2015, 15:57:19
    Hi Puschel, schon lange nichts mehr von dir gehört :(

    ZitatDie Frage hat aber nicht wirklich was mit einem Sonos-Problem zu tun sondern ist eine Anfängerfrage
    Soll ich denn dafür n eigenes Thema aufmachen ;)

    Danke für dein Vorschlag, scheint super zu funktionieren.
    Ich war ja schon auf dem richtigen weg. Wollte es erst mit DOIF ausprobieren aber das gefällt mir nicht so gut.

    Jetzt muss ich mir mal Gedanken machen wie ich das dingens wieder ausschalte. Hab da schon was gefunden aber muss mir noch klar werden, ob das Sinn macht den Player auszuschalten wenn er mehr als 5 min nicht gespielt hat...
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 06 September 2015, 16:02:01
    Ne, bei bereits 136 Seiten macht ein Beitrag mehr oder weniger das Kraut auch nicht fett  ;)
    Ich schalte meine Sonos mit der selben Taste auch wieder aus.
    Einfach prüfen ob Sonos läuft dann aus sonst ein  :P

    Edith:
    ZitatHi Puschel, schon lange nichts mehr von dir gehört
    dito  ;)
    Meine Zeit ist momentan etwas knapp bemessen.
    Titel: Antw:Sonos steuern
    Beitrag von: 2P4u am 06 September 2015, 16:44:20
    Ja ich hab das aktuell so am laufen, da ich noch Ansagen über die Sonos laufen habe.
    Wenn die Haustüre geschlossen wird, schalten sich die Dosen an denen die Sonos hängen einfach aus.
    Das spart so an die 5W pro Lautsprecher. Müssen ja nicht laufen wenn niemand zuhause ist.
    Schliesse ich die Türe wieder auf, gehen die Teile nach 5 min wieder an.
    Da meine Frau aber morgens im Bad Musik hören möchte, ist es doch arg umständlich erst die Türe aufzuschliessen, daher jetzt der HM 6Fach Taster im Bad.
    Der WAF steigt und ich hab meine Ruhe ;)

    ZitatMeine Zeit ist momentan etwas knapp bemessen

    Sieht bei mir genau gleich aus, daher seit langem mal wieder an FHEM "spielen".
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 07 September 2015, 10:11:44
    Hallo Reiner,


    ich erhalte seit einiger Zeit beim Restart von FHEM einige Perl Warnungen und konnte diese nun mittels stacktrace auf das SONOS Modul zurückführen:



    2015.09.07 10:06:36 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 7856.


    2015.09.07 10:06:36 0: SONOS0: Retries left (wait 30s): 8
    2015.09.07 10:07:06 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2015.09.07 10:07:15 1: localhost:4711 reappeared (Sonos)
    2015.09.07 10:07:16 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 10 Sekunden...
    2015.09.07 10:07:16 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2015.09.07 10:07:19 1: PERL WARNING: Use of uninitialized value in string ne at fhem.pl line 3895.
    2015.09.07 10:07:19 3: stacktrace:
    2015.09.07 10:07:19 3:     main::__ANON__                      called by fhem.pl (3895)
    2015.09.07 10:07:19 3:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (7453)
    2015.09.07 10:07:19 3:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1210)
    2015.09.07 10:07:19 3:     main::SONOS_Read                    called by fhem.pl (3057)
    2015.09.07 10:07:19 3:     main::CallFn                        called by fhem.pl (651)



    Hast du eine Idee, woran das liegen könnte?




    Gruß
    Julian
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 09 September 2015, 09:12:54
    Ich bin zu doof über FHEM einen Radiosender zu spielen, der Befehl lautet doch:
    set mm_sonos_Wohnzimmer StartRadio <Sender>
    Nun sind die Radiosender ja ziehmlich aufwändig benannt, haben also jede Menge Sonderzeichen. Nehmen wir mal "ROCK ANTENNE". Wenn ich das Icon in meiner mm_sonos_WohnzimmerRG_Radios anklicke, dann spielt der Sender auch. Der Befehl
    set mm_sonos_Wohnzimmer StartRadio ROCK%20ANTENNE
    funktioniert aber nicht. Wenn ich das Element in der mm_sonos_WohnzimmerRG_Radios untersuche, dann steht dort "ROCK%2520ANTENNE", was aber mit
    set mm_sonos_Wohnzimmer StartRadio ROCK%2520ANTENNE
    auch nicht funktioniert.
    Wie kann ich den korrekten Namen herausfinden?
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 09 September 2015, 10:21:36
    Hallo Jürgen,

    ich mache es immer so, dass ich mir den gewünschten Radiosender als Favorit in Sonos anlege. Anschließend kannst Du Dir dann über get Favourites das entsprechend Reading anzeigen lassen. Dort siehst Du dann die hinterlegten Sendernamen. Dann noch die Leerzeichen ersetzen und dann müsste das Abspielen auch über StartRadio funktionieren. Favorit kannst Du ja dann wieder löschen.
    Oder Du nutzt unter Verwendung des Favoriten direkt StartFavourite anstatt StartRadio.

    Gruß

    Capeghost
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 09 September 2015, 10:29:11
    am einfachsten geht es mit der regex variante:set mm_sonos_Wohnzimmer StartRadio /ROCK.ANTENNE/

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 09 September 2015, 10:32:02
    Hallo,

    ich habe mal eine Frage zu den Covers. Für Radiosender  wird mir ein Cover angezeigt, für Alben jedoch nicht.
    1. Besorgt Sonos das Cover aus dem Internet?
    2. Was muss ich tun, um über fhem das Cover anzeigen zu lassen? Wie gesagt, für Radiosender wird das Cover auch angezeigt.
    3. Für Covers gibt es da die Möglichkeit einen Proxy einzurichten. Leider habe ich aber nichts dazu gefunden, was der Proxy tun oder verbessern soll.

    Kann mir jemand dazu einen Tipp geben? Danke.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 September 2015, 11:09:34
    Hallo Elektrolurch,

    die Cover kommen meistens vom abspielenden Sonos-Player. Im Falle von Spotify-Titeln gehe ich direkt auf die Spotify-API (bei Spotify), um eine bessere Qualität des Covers zu erhalten.

    Die Sache mit dem Proxy habe ich aus mehreren Gründen eingebaut:
    - Manche haben sich einen Tunnel von aussen (aus dem Internet) zu ihrem Fhem gebaut (z.B. über einen Reverse-Proxy). Dort würden die lokalen Zugriffe auf die Sonos-Player ja nicht funktionieren, weshalb hier dann Fhem die Bilder liefern kann. Dabei fungiert das Modul nur als echter Proxy, der Aufruf wird also Life durchgeschleift zum Sonos-Player.
    - Der Cover-Proxy kann auch cachen. Das hat wieder zwei Vorteile:
      1. Die Bilder werden nicht ständig beim Player angefragt. Der Zugriff auf eine Fhem-Seite bleibt auch in Fhem
      2. Wenn der Player ausgeschaltet ist, funkioniert natürlich auch keine Cover-Anfrage beim Player mehr. Allerdings könnte man ja trotzdem den Player in einer Raumübersicht haben, und dort auch z.B. die Favoritencover sehen wollen...

    Wenn also die Cover nicht angezeigt werden, dann würde ich im ersten Schritt mal schauen, was das Reading "currentAlbumArtURL" enthält. Das ist das, was auf der Oberfläche angezeigt wird.
    Wenn der Proxy im Modul aktiviert wurde, dann steht in diesem Reading immer eine relative URL zu Fhem, ansonsten direkt auf den Sonos-Player bzw. Spotify...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 09 September 2015, 12:14:34
    ok. Das hilft mir zum Verständnis schon mal weiter. Den Proxy brauche ich also nicht. Da das ja für die Radiostationen geht, muss ich es mal genauer beobachten. Hatte mir gerade die Suchfunktion in eine GUI eingebaut und getestet und da waren bei den Beispielen keine Covers. Ev. auch Zufall. Danke.
    Titel: Antw:Sonos steuern
    Beitrag von: Fischei am 09 September 2015, 14:17:18
    Ich bekomme andauernd folgenden Fehler im Log:
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 5.

    Im Forum hab ich leider zu diesem Fehler noch keine Lösung gefunden.
    Kann mir hier wer weiter helfen? Danke
    Titel: Antw:Sonos steuern
    Beitrag von: krikan am 09 September 2015, 14:18:23
    Zitat von: Fischei am 09 September 2015, 14:17:18
    Ich bekomme andauernd folgenden Fehler im Log:
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 5.

    Im Forum hab ich leider zu diesem Fehler noch keine Lösung gefunden.
    Kann mir hier wer weiter helfen? Danke
    http://forum.fhem.de/index.php/topic,10033.msg259741.html#msg259741
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 09 September 2015, 14:18:54
    in diesem thread gibt es mindestens 5 posts dazu, eine lösung und zwei hinweise auf die lösung...
    Titel: Antw:Sonos steuern
    Beitrag von: Fischei am 09 September 2015, 14:29:13
    Zitat von: krikan am 09 September 2015, 14:18:23
    http://forum.fhem.de/index.php/topic,10033.msg259741.html#msg259741

    Diesen Beitrag hab ich schon gefunden aber da werde ich nicht ganz schlau. Wo finde ich die Datei genau?
    Wird diese dann durch ein update wieder überschrieben?

    Die can't connect Meldung bekomme ich auch ab und zu aber bei der IP handelt es sich um die IP von einer meiner Sonos-Boxen:
    Loading device description failed with error: 500 Can't connect to 192.168.1.3:1400 at ./FHEM/00_SONOS.pm line 3590 thread 1

    Das macht keinen Sinn, dass ich diese auf ignore setze, oder?

    Danke
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 09 September 2015, 18:30:25
    Da ich Sonos meist ausgeschaltet habe und nur gezielt einschalte, verschwinden eigentlich die Geräte. Leider steht in FHEM immer noch appeared. Damit funktioniert auch mein notify nicht, welches auf "appeared" reagieren soll, weil dieser Status Dauerzustand ist - obwohl die Geräte definitiv stromlos sind. GIbt es da irgendeinen Trick?
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 11 September 2015, 15:10:03
    Zitat von: dev0 am 19 August 2015, 13:58:47
    Wenn Ich meine 3 Sonosräume (1x Connect, 1x Play:1 und 2x Play:3 (L+R)) über den Sonos Controller gruppiere und dann ebenfalls mit der Sonos Software den Master der Gruppe aus der Gruppe herausnehme, dann wird einer der beiden ehemaligen Slaves ein Master für den verbliebenen Slave. In FHEM ist der verbliebe Slave dann im transportState ERROR, obwohl er die Musik des neuen Masters abspielt.

    Sorry, wenn ich mich selbst zitiere und dadurch den Beitrag pushe, aber kann das jemand nachvollziehen oder liegt das an meiner Umgebung?

    /Uli
    Titel: Antw:Sonos steuern
    Beitrag von: SVLoneStar am 13 September 2015, 23:37:56
    Hallo,
    ich habe meine Play:1 seit gestern in FHEM eingebunden. Folgende(s) Problem(e):

    Log meldet dauernd (leider ohne timestamps, da von STDOUT umgeleitet?):
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 4.
    Loading device description failed with error: 401 Unauthorized at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 401 Unauthorized at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 4.
    Loading device description failed with error: 401 Unauthorized at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 401 Unauthorized at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 4.
    Loading device description failed with error: 401 Unauthorized at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 401 Unauthorized at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 4.
    Loading device description failed with error: 401 Unauthorized at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 401 Unauthorized at ./FHEM/00_SONOS.pm line 3590 thread 1.

    ...und so weiter und so fort.

    Den Hinweis von justme1968 (Andre) aus http://forum.fhem.de/index.php/topic,10033.msg259741.html#msg259741 (http://forum.fhem.de/index.php/topic,10033.msg259741.html#msg259741) bezgl. der Anpassung in LWP/Protocol/http.pm habe ich umgesetzt, der 'odd number of elements'-Fehler ist leider geblieben. Muss ich da ggf. was neu übersetzen?

    Der andere Fehler (401 Unauthorized) stammt wohl von folgender Code-Stelle in 00_SONOS.pm:

    eval {
    $SONOS_Controlpoint = UPnP::ControlPoint->new(SearchPort => 8008 + threads->tid() - 1, SubscriptionPort => 9009 + threads->tid() - 1, SubscriptionURL => '/eventSub', MaxWait => 30, IgnoreIP => \%ignoredIPs);
    $SONOS_Search = $SONOS_Controlpoint->searchByType('urn:schemas-upnp-org:device:ZonePlayer:1', \&SONOS_Discover_Callback);
    $SONOS_Controlpoint->handle;
    };
    $error = $@;

    Zu diesem Fehler habe ich im Forum leider nix finden können...

    Sprachausgabe auf den Play:1 (via SPEAK in einem notify) funktioniert, die Verbindung zur Sonos selbst sowie der benötigte Share scheint also nicht das Problem zu sein...?

    Was mache ich falsch?

    Besten Dank und Gruß,
    Stefan
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 14 September 2015, 15:50:51
    Hallo Reinerlein,

    in den letzten Tagen war ich fleißig und es hat mich richtig begeistert, was man mit dem tollen Modul alles so anstellen kann, aber leider habe ich doch noch einige Fragen.

    1. Beim Starten von fhem bekomme ich aus dem Sonos-Modul folgende Meldung:
    Smartmatch is experimental at ./FHEM/00_SONOS.pm line 5383.

    Ich denke, dass das der .. Operator für Bereichsabfragen, der in der perl-Version unter debian (Cubie) nicht, bzw. bedingt unterstützt wird.
    Nach Neustart -> noch keine Player im Netz gefunden
    Aber offensichtlich laufen noch die Sonos-Prozesse
    2015.09.13 21:48:11 1: PERL WARNING: Use of uninitialized value $device in concatenation (.) or string at ./FHEM/00_SONOS.pm line 447.
    2015.09.13 21:48:11 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 447.
    2015.09.13 21:48:11 1: PERL WARNING: Use of uninitialized value $device in concatenation (.) or string at ./FHEM/00_SONOS.pm line 449.
    ...
    2015.09.13 21:53:38 1: SONOS0: Nothing could be read from TCP-Channel (the first level) even though the Read-Function was called.
    Eine funktionelle Beeinträchtigung gibt es nicht. Die Meldungen sind halt etwas störend, denn ich versuche meine Logs möglichst sauber zu halten... :-)

    2. Da gibt es zwei Befehle, was machen die? Kann Sonos aus einem Stereo-Signal ein (Pseudo-) Surround berechnen? Eine Verbreiterung der Stereobasis wäre ja ev. für Lautsprecher interessant, die links und rechts neben dem TV stehen.

    ◦ SurroundEnable <State>
    Legt den Zustand des Surround-Zustands fest. Liefert den aktuell gültigen Surround-Zustand.
    ◦ SurroundLevel <Level>
    Setzt den Surroundlevel auf den angegebenen Wert. Der Wert kann zwischen -15 und 15 liegen.

    3. externer Eingang
    Es gibt das reading LineInConnected. Ich habe da ein Sendermenü für Radiostationen gebastelt und mit dem Auswahlpunkt "extern" wollte ich auf den LineIn umschalten.
    Irgendwo hatte ich gelesen, dass das mit dem unten aufgeführten Befehl  unter Angabe des Sonos-Playernamens gehen würde... Tut aber nicht.

    elsif($val eq 'extern')
    {
    fhem("set $master StartRadio  $master");
    } # extern input
    $master ist Sonos_G_stezimmer

    Dann blende ich in der rg für externen Eingang das Logo wie folgt aus:

    SonosCC:<{(ReadingsVal($DEVICE,'LineInConnected',0)==0)?SONOS_getCoverTitleRG($defs{$DEVICE}->{master}):undef}@infoSummarize2>
    Das funktioniert auch, wenn ich ein Kabel anstecke mit einer externen Tonquelle wird das Logo des z.B. laufenden Radioprogramms ausgeblendet.
    Nur Umschalten tut der Player nicht auf den externen Eingang. Ev. muss ich über den normalen Sonos-Kontroller da noch was "enablen"?

    4. Ich habe mir den hash des Bibliothekbaums eingelesen und mir entsprechend der Kategorien in "Structure" eine Menühierarchi aufgebaut (Einstieg mit Albums,artist ... Genres,...).
    Wählt man  bspw. Artists aus, dann über das nächste Menü den Buchstabenbereich (z.B. H-P), bekommt man im drittten Menü eine Liste der Interpreten und wählt man dann einen Interpreten aus, bekommt man im 4. Menü die Alben dazu.
    Damit werden dann für den search - Befehl die Felder / Filter gefüllt und die gewünschten Titel abgespielt, bzw. zur Abspielliste hinzugefügt. Das funktioniert auch schon ganz ok.

    Nun meine Frage:
    Die Infos im hash sind ja url-codiert, d.h. ich wende uri_unescape darauf an, ersetze die Leerzeichen durch # und baue mir  so mein fhem-Menü zusammen.
    Offensichtlich gibt es aber da Zeichen, die uri_unescape nicht korrekt zurückwandelt.
    Hier ein Beispiel:

    Haindling,Hannes#Wader,Hanns#Dieter,Hanns#Dieter;#Degenhardt#Hüsch##Franz#Josef;#Neuss,#Wolfgang;#Süverkrüp,,Harvey#Mandel,Heinrich#Steiner#/#Nordmark-Sinfonie-Orchester,Heinrich#Steiner#/#Nordmark-Sinfonie-

    Speziell der Eintrag:
    Hannes#Wader,Hanns#Dieter,Hanns#Dieter;#Degenhardt#Hüsch##Franz#Josef;#Neuss,#Wolfgang;#Süverkrüp,,
    wird nach uri_escape dann nicht mehr im hash des Bibliothekbaums gefunden. Ich versuche gerade herauszufinden, welches Zeichen da problematisch ist, d.h. den Orinalwert im hash mit der Rückwandlung zu vergleichen.

    Einen Tipp, was ich da beim codieren / dekodieren beachten muss?
    Eingestellt ist UTF-8 bei den Sonos-Attributen. Habe einen Radiosender mit kyrillischen Buchstaben in der Favoritenliste, der wird von fhem auch nicht angezeigt. In die Codierungsgeschichte müsste ich mich mal tiefer bzgl. Web einarbeiten.

    5.  Titelreihenfolge bei Kategorie=Albums bei Befehl  " startSearchlist"
    my $cmd = "set $master startSearchlist $kategorie $kategoriename $titel" . '/'. $album . '/' . $interpret . ' ' . $option;
    Ich habe den Eindruck, dass startSearchlist nicht in der Original Trackreiehenfolge die Titel abspielt. In der "Option" hatte ich auch kein "*" gesetzt. Shuffle steht auch auf 0 am Player.

    6. Ich bekomme kein "disappear vom Player, wenn ich den ausschalte.
    Lösung: Den Beitrag dazu hatte ich schon vor einiger Zeit gelesen und den pingtype auf ICMP gestellt. Nun startet fhem über die init.d und nicht mehr manuell aus dem root-Account -> dann geht ICMP nicht mehr. Da die Fehler im Sub-Prozess generiert werden und nicht im Log landen, ist mir das nicht aufgefallen.
    Habe den pingtype auf tcp geändert und jetzt gehts.
    7. Loudness. Welchen Einstellbereich hat die Lodness?

    Gruß

    Elektrolurch

    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 16 September 2015, 10:29:23
    hallo reiner,

    ich habe gesehen das tobias in sein tts modul voice rss (http://www.voicerss.org/ (http://www.voicerss.org/)) als tts provider eingebaut hat. die klingt für meine ohren sehr viel natürlicher als google und die umlaute sind besser.

    es wäre klasse wenn du das als alternative zu google direkt im sonos modul einbauen könntest. ich weiss das es über die SpeakX attribute nachrüstbar ist. aber direkt wäre einfacher :)

    gruss
      andre

    ps: wenn du es nicht direkt einbauen magst wäre es klasse im SpeakX attribut den text auch url escaped zur verfügung zu haben :)
    Titel: Antw:Sonos steuern
    Beitrag von: Fischei am 16 September 2015, 14:55:37
    Zitat von: Fischei am 09 September 2015, 14:29:13
    Diesen Beitrag hab ich schon gefunden aber da werde ich nicht ganz schlau. Wo finde ich die Datei genau?
    Wird diese dann durch ein update wieder überschrieben?

    Die can't connect Meldung bekomme ich auch ab und zu aber bei der IP handelt es sich um die IP von einer meiner Sonos-Boxen:
    Loading device description failed with error: 500 Can't connect to 192.168.1.3:1400 at ./FHEM/00_SONOS.pm line 3590 thread 1

    Das macht keinen Sinn, dass ich diese auf ignore setze, oder?

    Danke

    Kann mir hier echt keiner weiter helfen? Weiß nicht wie ich den Fehler beheben soll.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 16 September 2015, 15:49:06
    WLAN Empfangsprobleme der Box kannst Du ausschließen?
    Titel: Antw:Sonos steuern
    Beitrag von: Fischei am 16 September 2015, 21:16:21
    Zitat von: dev0 am 16 September 2015, 15:49:06
    WLAN Empfangsprobleme der Box kannst Du ausschließen?

    Also der Fehler "Loading device description failed with error: 500 Can't connect to 192.168.1.3:1400 at ./FHEM/00_SONOS.pm line 3590 thread 1" kommt jetzt nicht mehr. Ich hatte in letzter Zeit immer I-Net Abbrüche, da meine Fritzbox einen Defekt hatte. Evtl lag es an dem. Mit der neuen Fritzbox funktioniert es jetzt.

    Bezüglich dem Fehler "Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 5.":
    Ich hab jetzt die Datei aus dem oberen Post gefunden und geändert. Datei war unter /usr/share/perl5/LWP/Protocol.
    Hier hab ich die Zeile "$self->_extra_sock_opts($host, $port)," auskommentiert. Fehler kommt aber leider immer noch, auch nach einem Neustart.
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 16 September 2015, 22:36:32
    Hallo Reinerlein

    Heute sind meine Sonos gekommen und ich wollte gleich mal die Sprachausgabe testen funktioniert leider nicht
    bei mir. Die Dateien werden aber erzeugt befinden sich freigegebenen Ordner. Im Im fhemlog steht dies
    2015.09.16 22:09:47.063 3: SONOS1: Combine loaded chunks into "/opt/fhem/SonosSpeak/RINCON_5CAAFD243CDE01400_MR_Speak_20150916-220946.mp3"
    2015.09.16 22:09:47.120 3: SONOS1: Start temporary playing of "\\192.168.2.108\SonosSpeak/RINCON_5CAAFD243CDE01400_MR_Speak_20150916-220946.mp3"

    Der pfad ist doch falsch \SonosSpeak/RINCON
    außerdem habe ich  im sonoslog diese Meldungen
    2015-09-16_18:07:36 Sonos_Schlafzimmer LastActionResult: PlayURITemp: Success!
    2015-09-16_19:29:48 Sonos_Schlafzimmer LastActionResult: PlayURITemp: Success!
    2015-09-16_21:54:34 Sonos_Schlafzimmer LastActionResult: DoWork-Exception ERROR: 500 Can't connect to 192.168.2.113:1400 at FHEM/lib/UPnP/ControlPoint.pm line 802 thread 1.
    2015-09-16_21:59:18 Sonos_Schlafzimmer LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2015-09-16_22:00:02 Sonos_Schlafzimmer LastActionResult: Pause: Success!
    2015-09-16_22:00:10 Sonos_Schlafzimmer LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2015-09-16_22:01:59 Sonos_Schlafzimmer LastActionResult: Speak0: MP3-Creation ERROR during downloading: 404 Not Found
    2015-09-16_22:08:33 Sonos_Schlafzimmer LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2015-09-16_22:09:47 Sonos_Schlafzimmer LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2015-09-16_22:13:12 Sonos_Schlafzimmer LastActionResult: Speak0: MP3-Creation ERROR during downloading: 404 Not Found


    Andre

    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 19 September 2015, 15:27:57
    Hallo,

    ich hätte mal wieder ein kleineres Problem, bei dem ich gerade irgendwie auf dem Schlauch stehe bzw. mir die notwendige Idee für die komplette Umsetzung fehlt.
    Folgende Situation: 2 Sonos-Player Esszimmer und Bad - wenn auf beiden zufällig der gleiche Radiosender, soll eine Gruppierung erfolgen mit dem Esszimmer als Master. Das funktioniert auch soweit mit:

    define di_Merge_Sonos_Bad_with_Sonos_Esszimmer DOIF ([Sonos_Esszimmer:transportState] eq "PLAYING" and [Sonos_Bad:transportState] eq "PLAYING" and [Sonos_Bad:currentSender] eq [Sonos_Esszimmer:currentSender])  (set Sonos_Esszimmer AddMember Sonos_Bad)

    Wenn nun im Bad direkt über den Knopf am Gerät bzw. im Esszimmer via
    define Fern2Taste1links_Notify notify Fern2Taste1links:toggle set Sonos_Esszimmer Pause
    Pause gewählt wird, möchte ich, dass am jeweils anderen Gerät der aktuelle Sender weitergespielt wird.

    Ich habe das jetzt aktuell mit
    define di_Ungroup_Sonos_Bad_from_Sonos_Esszimmer DOIF ([Sonos_Esszimmer:transportState] eq "STOPPED" and [Sonos_Bad:currentTitle] eq "Gruppenwiedergabe")  (set Sonos_Esszimmer RemoveMember Sonos_Bad) (set Sonos_Esszimmer Play)
    umgesetzt. Das hat zur Folge, dass es beim Wählen von Pause im Bad alles funktioniert, nur umgekehrt beim Auslösen des Notify für das Esszimmer geht der Player im Bad aus und der Player im Esszimmer nach einem kurzen Aussetzer beim Ungroup wieder an.
    Wie bekomme ich meine gewünschte Lösung hin bzw. wie frage ich das Auslösen des Notify im dann wohl notwendigen doelseif richtig ab? Ich hoffe, Ihr könnt mir weiterhelfen.

    Danke.

    Gruß

    Capeghost
    Titel: Antw:Sonos steuern
    Beitrag von: schlingi am 20 September 2015, 14:59:33
    Hallo,

    bei mir funktioniert die Einbindung der Sonos-Boxen perfekt. Ich habe allerdings ein grundsätzliches Problem mit der Sprachausgabe. Bei mir kommt dabei ständig der Fehler: "FHEMWEB SSL/HTTPS error:" Der Sonos Player stoppt, aber die Sprachausgabe erfolgt nicht. Ich vermute, dass es daran liegt, dass mein FHEM und raspberry über https erreichbar ist? Vielleicht ist auch mein Eintrag in der fhem.cfg falsch:
    "attr Sonos targetSpeakURL \\https://192.168.178.33:8083/fhem\SonosSpeak" . Allerdings habe ich es auch mit : "attr Sonos targetSpeakURL \\192.168.178.33:8083/fhem\SonosSpeak" und "attr Sonos targetSpeakURL \\192.168.178.33\SonosSpeak" ausprobiert. Ohne Erfolg... Wer kann weiterhelfen?
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 20 September 2015, 15:59:31
    Kann man denn auf die Dateien über die TargetSpeakURL mit user/pass des Sonos Players zugreifen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 20 September 2015, 18:34:16
    Hallo zusammen,

    oh mann... hier ist ja einiges zusammengekommen, als ich keine Zeit hatte reinzuschauen :)

    Ich versuche das mal ein bißchen aufzudröseln:
    @schlingi: der Parameter targetSpeakURL darf nur mit DoppelBackslash beginnen, und beschreibt einen UNC-Pfad der Form "\\Rechnername\Freigabename\Pfad_innerhalb_der_Freigabe". Der Port ist dabei nicht der http-port, sondern meistens der Standard-Port 445 und wird also nicht angegeben. Der Zugriff erfolgt dann mittels SMB (Server Message Block) als "Windows"-Client. Sonos greift also immer auf solche Windows- (oder kompatible wie Samba) Freigaben zu. Kein SSL oder https...
    Das bedeutet, dass auf dem Rechner mit der IP 192.168.178.33 eine Windows-Freigabe erreichbar sein muss (weil es z.B ein Windows-Server oder ein NAS ist), oder du musst Z.B. Samba installieren. Im Wiki gibt es dazu eine Schnell-Beschreibung...

    @andre07: Wenn der Pfad mit SonosSpeak falsch ist, dann musst du ihn richtig konfigurieren :) Spaß beseite... wieso sollte der falsch sein? Im konfigurierten Verzeichnis werden die Dateien mit der eindeutigen Kennung des Players angelegt (das ist diese UUID, die mit RINCON_ beginnt)...
    Ab und zu scheint aber auch Google bei dir nicht erreichbar zu sein, oder Sonos kommt an die abgelegten Dateien nicht ran... dazu am Besten erstmal die Dateirechte prüfen (Hilfe dazu auch im Wiki)...

    @justme1968: Das mit der Konfiguration einer alternativen URL schaue ich mir mal an... das lässt sich sicherlich machen...

    @Elektrolurch: Das muss ich erstmal durchgehen :)

    @dev0: Ich versuche das mal die Tage nachzustellen, und mal zu schauen, was das Modul bei mir da so macht...

    @Jürgen: Das Abschalten der Player wird durch einen Pingcheck festgestellt (wenn es funktioniert :) ). Du solltest mal den Log hochdrehen, und die Ausgaben nach der Ping-Überprüfung durchforsten. Vielleicht geht da etwas schief, oder er darf etwas nicht oder so... dann kannst du mit dem Parameter pingType spielen...

    So, erstmal... ich versuche die angekündigten Themen so schnell wie möglich anzugehen, war in den letzten Tagen leider verhindert...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: SVLoneStar am 20 September 2015, 18:53:42
    Hallo Reiner - schade, ich war bei Deinen Antworten nicht dabei...;-))


    Gesendet von iPad mit Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: schlingi am 20 September 2015, 20:31:27
    Vielen Dank schon einmal für die Antworten. Ich bin allerdings kompletter Neuling und verstehe die Fachbegriffe oft nicht ganz. Ich habe mein System über die Anleitung "Sonos Play:1 und FHEM – Sound im ganzen Haus" von meintechblog eingerichtet. Es läuft also kein Windows, sondern das ganze auf einem raspberry.

    @dev0: Welchen Befehl muss ich genau eingeben, um das zu testen?
    @Reinerlein: Verstehe ich Dich richtig, dass ich "attr Sonos targetSpeakURL \\192.168.178.33\SonosSpeak" eingeben muss? Ist ja ein raspberry-System. Es erscheint dann allerdings weiterhin der  Fehler: "FHEMWEB SSL/HTTPS error: " SChreibrechte habe ich eingerichtet über "sudo chmod 777 /opt/fhem/SonosSpeak" im raspberry.

    Vielen Dank schon einmal
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 20 September 2015, 20:43:33
    Lies die Antwort von Reiner bitte noch einmal aufmerksam, er hat dir eigentlich alle notwendigen Infos gegeben. Die Url die du eingeben muss hängt von deiner smb/cifs Freigabe ab, die du einrichten musst, auf einem NAS, WinServer, Rapi, ...
    Titel: Antw:Sonos steuern
    Beitrag von: schlingi am 21 September 2015, 19:57:47
    Ich hatte bereits - entsprechend der Anleitung - Samba installiert. Habe nunmehr in der Global-Sektion den Parameter Security auf Share gestellt und siehe da es funktioniert(e). Allerdings nur kurz und nur manchmal. Im log-File heißt es: "Loading device description failed with error: 500 Can't connect to 192.168.178.24:1400 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1". Manchmal heißt es auch "SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 7856" bzw. weiterhin "FHEMWEB SSL/HTTPS error:". Wer kann mir ggf. hier weiterhelfen?
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 21 September 2015, 20:08:06
    Ist die Freigabe denn mit dem user/pass der Sonos Player erreichbar, wenn es nicht funktioniert?
    Titel: Antw:Sonos steuern
    Beitrag von: schlingi am 21 September 2015, 20:16:28
    @dev0: Wie kann ich das testen/herausbekommen? Muss ich da einen Befehl eingeben? Bin leider relativ neu in diesem Thema. Danke das Du eben so schnell geantwortet hast.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 21 September 2015, 20:19:30
    Nimm einen x-beliebigen Rechner und verbinde dich mit dem Share.
    Titel: Antw:Sonos steuern
    Beitrag von: schlingi am 21 September 2015, 20:27:26
    Danke für die Antwort. Ich werde mal schauen, wie man das macht. Habe einen raspberry auf dem das share installiert ist. Werde auf diesen zugreifen. Und dann muss ich was tun? Sorry, habe leider keine Ahnung.
    Nachtrag: Was eigentlich immer funktioniert ist, wenn ich bspw. eingebe "set Sonos_Wohnzimmer Speak 20 de Test". Was manchmal nicht funktioniert ist das Abarbeiten des notify "define LichtWohnzimmer notify wz_Dimmer_SCHALTER:on set Sonos_Wohnzimmer Speak 20 de Test". Hier kommen dann die Fehler....
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 21 September 2015, 20:39:11
    Unter Linux mountest du ein smb/cifs volume mit:  mount -t cifs -o username=user,password=pass //server/volume /mountpoint. Ist aus dem Kopf, habe gerade keinen Rechner in Reichweite. Siehe man mount.
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 22 September 2015, 05:56:36
    Hallo Reiner,

    folgendes Phänomen:

    Zitat
    LoadRadio: Radio "Kinderradio" not found. Choose one of: "R.SH","SWR1","SWR3","hr3"

    Hast Du eine Idee?

    Mit StartRadio klappt es auch nicht, mit StartFavourite hingegen ja.
    Titel: Antw:Sonos steuern
    Beitrag von: crabro am 22 September 2015, 12:20:32
    Hallo zusammen,

    ich habe einige Vorschläge aus diesem Thread und auch anderen Wikis zu probieren, leider bisher noch erfolglos
    Sonus im FHEM zu starten.

    Der Logauszug sagt:

    Zitat
    2015.09.22 12:13:47 1: reload: Error:Modul 00_SONOS deactivated:
    Can't locate UPnP/ControlPoint.pm in @INC (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /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 ./FHEM/00_SONOS.pm line 225, <$fh> line 41.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 225, <$fh> line 41.

    2015.09.22 12:13:47 0: Can't locate UPnP/ControlPoint.pm in @INC (@INC contains: fhem.p/lib fhem.p/FHEM/lib ./FHEM/lib ./lib ./FHEM ./ /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 ./FHEM/00_SONOS.pm line 225, <$fh> line 41.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 225, <$fh> line 41.

    2015.09.22 12:13:47 3: Please define Sonos first

    Setze auf einem Raspi2 Raspian mit dem aktuellen FHEM 5.6 ein.
    Bin für jeden Tipp dankbar.
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 22 September 2015, 12:55:13
    Habe mal Dateirechte in mnt/sonosspeak überprüft

    drwxrwxrwx 2 root      root       4096 Sep 22 12:38 .
    drwxr-xr-x 3 root      root       4096 Sep 17 00:14 ..
    -rwxr--r-- 1 mikelsoft mikelsoft  5632 Sep 17 15:07 log.txt
    -rw-r--r-- 1 fhem      dialout   84992 Sep 17 00:48 RINCON_5CAAFD243CDE01400_MR_Speak_3963af0e2bda60e56dd7c27bf380fdaed607bab7.mp3
    -rw-r--r-- 1 fhem      dialout   24064 Sep 17 00:23 RINCON_5CAAFD243CDE01400_MR_Speak_7c99bd2f7d9ee0ea77e0501a2354d381fe3508fa.mp3
    -rw-r--r-- 1 fhem      dialout   23040 Sep 17 00:29 RINCON_5CAAFD243CDE01400_MR_Speak_c2cdb826c03b6dfe872608cd3af3c61b862166ae.mp3
    -rw-r--r-- 1 fhem      dialout   33792 Sep 22 12:38 RINCON_5CAAFD243CDE01400_MR_Speak_d2ee555e518c6238bd081607f5d3e6970f5f5c49.mp3

    müßten eigentlich so weit stimmen
    Ordner hat rechte 0770 also darf jeder darauf zugreifen wenn ich eine datei aus diesen Ordner abspiele funktioniert es ja auch ohne Fehler
    Diese Meldung kommt weiterhin
    PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    Was kann es noch sein das es bei mir nicht funktioniert?

    Andre
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 22 September 2015, 13:07:35
    Zitat von: crabro am 22 September 2015, 12:20:32
    Can't locate UPnP/ControlPoint.pm

    Wenn die Datei wirklich nicht da ist, dann mal ein Update durchführen. Die Datei sollte unter /opt/fhem/FHEM/lib/UPnP liegen.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 22 September 2015, 13:12:17
    Zitat von: andre07 am 22 September 2015, 12:55:13
    Ordner hat rechte 0770 also darf jeder darauf zugreifen

    Ob es daran liegt weiss ich nicht, aber 770 bedeutet nicht Zugriff für jeden, sondern nur user und group. Wenn du ausschliessen möchtest, dass es an der Berechtigung liegt, dann -> 777.
    Titel: Antw:Sonos steuern
    Beitrag von: crabro am 22 September 2015, 14:38:13
    Danke @ dev0,

    machmal kann es ja so einfach sein. Der Sync hat einige fehlende Dateien gesynct. Sonos rennt schon
    mal und nun kann ich mich an das Feintuning und weitere Module begeben  ;)
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 22 September 2015, 16:45:55
    Hallo Reinerlein,

    wenn ich mit
    $master startSearchlist $kategorie $kategoriename $titel" . '/'. $album . '/' . $interpret . ' ' . $option;
    Log3($name,2,"Suchen: $cmd");
    fhem($cmd);

    an eine bestehende Abspielliste noch Titel anhänge, stoppt die Wiedergabe und beginnt von vorne. Wie kann ich das vermeiden?
    Eigentlich ein häufiger Fall: Musik läuft und man möchte noch weitere Titel hinten anhängen, ohne das die lfd. Wiedergabe stehenbleibt.

    Gruß

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 September 2015, 22:49:47
    Hallo zusammen,

    sorry für die verspäteten Antworten, ich bin momentan beruflich etwas eingespannt...

    @Elektrolurch: Das ist vermutlich eine Folge vom Aktivieren der aktuellen Abspielliste (das mache ich, falls vorher z.B. ein Radiosender lief und ich die Wiedergabe der aktuellen Abspielliste sicherstellen muss). Ich schaue mal, ob ich feststellen kann, ob dieser Schritt überhaupt notwendig ist...

    @Ralli: Favoriten und Radiosender sind zwei verschiedene Paar Schuhe. Du musst mit deinem Sonos-Controller einen Radiosender in die Radioliste packen, um diesen mit dem Modul (z.B. mit dem Befehl StartRadio) aktivieren zu können. Das ist im Radiobereich der Punkt "Meine Radiosender". Momentan hast du dort nur die vier vom Modul vorgeschlagenen Sender drin.
    Zusätzlich oder Ersetzend dazu kannst du mittlerweile einen Radiosender unter den Favoriten ablegen, musst dann allerdings auch den StartFavourite-Befehl dafür verwenden...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: crabro am 23 September 2015, 00:52:17
    Also bei mir tritt der Fehler 400 auch sehr häufig auf:


    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    2015.09.23 00:50:49 3: SONOS0: Connection accepted from localhost:55538
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    2015.09.23 00:51:19 3: SONOS0: Connection accepted from localhost:55592
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3590 thread 1.
    2015.09.23 00:51:49 3: SONOS0: Connection accepted from localhost:55646
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 23 September 2015, 05:48:38
    Hallo Reiner,

    Zitat von: Reinerlein am 22 September 2015, 22:49:47
    @Ralli: Favoriten und Radiosender sind zwei verschiedene Paar Schuhe. Du musst mit deinem Sonos-Controller einen Radiosender in die Radioliste packen, um diesen mit dem Modul (z.B. mit dem Befehl StartRadio) aktivieren zu können. Das ist im Radiobereich der Punkt "Meine Radiosender". Momentan hast du dort nur die vier vom Modul vorgeschlagenen Sender drin.
    Zusätzlich oder Ersetzend dazu kannst du mittlerweile einen Radiosender unter den Favoriten ablegen, musst dann allerdings auch den StartFavourite-Befehl dafür verwenden...

    Uff - danke :) !
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 23 September 2015, 12:09:26
    Auch wenn ich ein chmod 777 mache funktioniert es nicht.
    Was sagt mir diesese Fehlermeldung die ich bekomme wenn ich die sprachausgabe nutze
    PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 23 September 2015, 12:22:13
    Sonos antwortet mit einem Fehler auf den Befehl der geschickt wurde. Ich tippe auf eine falsche URL oder fehlende Berechtigung. Sind die Dateien in der Freigabe denn mit den, in Sonos hinterlegten, Credentials erreichbar?
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 23 September 2015, 12:30:09
    genauere fehlermeldungen sieht mann manchmal wenn man sich die letzten fehler über die sonos software anzeigen lässt.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 23 September 2015, 12:34:24
    Hallo dev0

    Wie kann ich die erreichbarkeit überprüfen
    hier noch mein list Sonos
    Internals:
       DEF        localhost:4711 30
       DELAYTIME  0
       DeviceName localhost:4711
       FD         83
       INTERVAL   30
       NAME       Sonos
       NR         728
       NTFY_ORDER 50-Sonos
       PARTIAL
       STATE      opened
       TYPE       SONOS
       WAITTIME   8
       Readings:
         2015-09-22 11:12:57   ZoneGroupState  <ZoneGroups><ZoneGroup Coordinator="RINCON_5CAAFD243CDE01400" ID="RINCON_5CAAFD243CDE01400:1"><ZoneGroupMember UUID="RINCON_5CAAFD243CDE01400" Location="http://192.168.2.102:1400/xml/device_description.xml" ZoneName="Schlafzimmer" Icon="x-rincon-roomicon:masterbedroom" Configuration="1" SoftwareVersion="29.5-91030" MinCompatibleVersion="28.0-00000" LegacyCompatibleVersion="24.0-0000" BootSeq="10" WirelessMode="1" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1"/></ZoneGroup></ZoneGroups>
         2015-09-22 12:58:19   state           opened
       Helper:
         Bm:
           Sonos_get:
             cnt        4
             dmx        0
             mAr
             max        0
             tot        0
           Sonos_notify:
             cnt        50622
             dmx        0
             max        5
             tot        22
             mAr:
               HASH(Sonos)
               HASH(global)
           Sonos_read:
             cnt        34
             dmx        0
             max        2199
             tot        7976
             mAr:
               HASH(0xb4f6d3c)
           Sonos_set:
             cnt        13
             dmx        0
             max        1
             tot        3
             mAr:
               HASH(0xb4f6d3c)
               Sonos
               ?
    Attributes:
       room       Sonos
       targetSpeakDir /mnt/SonosSpeak
       targetSpeakFileHashCache 1
       targetSpeakFileTimestamp 0
       targetSpeakMP3FileDir /mnt/SonosSpeak
       targetSpeakURL \\192.168.2.108\SonosSpeak


    Hallo Andre
    Meinst du die Sonos App vom Handy?
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 23 September 2015, 12:42:47
    ob es im handy geht weiß ich nicht. in der desktop app ist es ein eigener menüpunkt.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 23 September 2015, 12:46:42
    Zitat von: andre07 am 23 September 2015, 12:34:24
    Wie kann ich die erreichbarkeit überprüfen
    Das hängt von deinem OS ab, von dem du das ausprobieren möchtest.
    Linux:
    mount -t smbfs //username:password@MACHINENAME/SHARENAME /SomeLocalFolderOfChoice
    mount -t smbfs -o username=user,password=pass //MACHINENAME/SHARENAME /SomeLocalFolderOfChoice

    Windows:
    net use \\MACHINENAME\SHARENAME /user:your_user_name

    smbfs kann auch cifs sein...
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 23 September 2015, 12:51:58
    Zitat von: justme1968 am 23 September 2015, 12:30:09
    genauere fehlermeldungen sieht mann manchmal wenn man sich die letzten fehler über die sonos software anzeigen lässt.
    Top Tipp! Kannte ich noch nicht.
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 23 September 2015, 12:56:58
    Hallo,

    ich hatte mit dem Speak auch ein Problem und zwar als ich fhem nicht mehr als root, sondern als rhem (/etc/passwd) gestartet habe.
    Bei mir fehlten die Rechte auf dem Verzeichnis, in dem die Speak-Dateien abgelegt werden sollten. Das hatte ich nämlich noch als root angelegt und fhem durfte darauf als Nutzer fhem nicht mehr zugreifen.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 23 September 2015, 13:03:04
    Ja habe gerade versucht mit der Sonos App vom Handy auf die Freigabe zuzugreifen
    es kommt zugriff verweigert.
    Heißt das ich muss fhem mit root rechten ausstatten.
    Kannst du mir sagen welche Schritte noch alles notwendig sind damit
    es läuft
    Danke Andre
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 23 September 2015, 14:00:46
    Das hat nichts mit fhem zu tun, es geht nur um die smb Freigabe und die entsprechende Berechtigung.
    Titel: Antw:Sonos steuern
    Beitrag von: Frank S. am 23 September 2015, 18:06:15
    Moin.

    Ich habe heute das Sonos-Modul in Betrieb genommen. Hat ohne Probleme funktioniert. Allerdings quillt mein Logfile gerade über. Ich erhalte in sehr kurzen Abständen folgenden Meldungen:

    2015.09.23 18:02:34 3: SONOS0: Connection accepted from localhost:58713
    2015.09.23 18:02:44 3: SONOS0: Connection accepted from localhost:58714
    2015.09.23 18:02:47 3: SONOS16: Event: Received Transport-Event for Zone "Sonos_Fernsehzimmer".
    2015.09.23 18:02:48 3: SONOS16: Event: End of Transport-Event for Zone "Sonos_Fernsehzimmer".


    Die Verringerung des loglevels hat bisher noch keinen Erfolg gebracht.

    attr Sonos_Fernsehzimmer verbose 1

    Schöne Grüße
    Frank
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 23 September 2015, 18:43:26
    Setze den verbose level für das Modul sonos, nicht sonosplayer.
    Titel: Antw:Sonos steuern
    Beitrag von: Frank S. am 23 September 2015, 21:15:10
    Moin.

    Danke für den Hinweis. Ich habe nun das Device und nicht den Player gesetzt. Nun funktioniert es ohne Probleme.

    Schöne Grüße
    Frank
    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 23 September 2015, 23:32:02
    Beim Log aufräumen bin ich bei mir jetzt auch seit geraumer Zeit auf Fehlermeldeungen der Art
    Loading device description failed with error: 500 Can't connect to 192.168.2.29:2869 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1
    gestossen. Die Fehler kommen unregelmässig aber wohl seit Monaten. Grundsätzlich funktioniert SONOS aber stabil auch über fhem.

    Nach Suche im Thread, scheinen mir die entsprechenden Ansätze nicht zu passen.

    Die IP-Adresse ist weder ein SONOS-Device noch der Server mit dem Share für die SONOS-Dateien. Es ist ein IP-Adresse die zu einem anderen PC gehört, der aber weder einen SONOS-Client noch Dateien bereitstellt. Ich kann nicht ausschliessen, dass der PC mal per uPnP im Netzwerk annonciert (Windows 7 Mediaplayer ?).

    Ich finde die IP-Adresse nur in fhem.save als Adresse, die die Fritzbox vergeben hat.

    Ideen?
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 25 September 2015, 13:20:53
    Hallo Reinerlein,
    sag mal gibt es keine Möglichkeit auf den Line In Eingang eines players umzuschalten?
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 25 September 2015, 15:27:12
    Die Frage hatte ich weiter oben auch schon gestellt.
    Irgendwo hatte ich so was gelesen wie:

    set player StartRadio player

    also den Namen des Sonos-Devices. Aber das funktionierte bei mir nicht.
    Reinerlein ist wohl derzeit unterwegs, wir müssen also noch ein wenig warten.
    Seine Geduld, die er mit uns Nurts und Anfängern hat, ist ja sowieso bemerkenswert.
    Nochmals hier meinen herzlichen Dank. Ist einfach beispielhaft.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 September 2015, 21:42:26
    Hallo zusammen,

    ich versuche am Wochenende die Tests bei mir durchzuführen. Bis dahin aber schon mal ein paar Antworten :)

    @Der-lolo: Dazu ist der Befehl PlayURI verwendbar:

    set Sonos_Kueche PlayURI Sonos_Wohnzimmer

    oder natürlich auch

    set Sonos_Wohnzimmer PlayURI Sonos_Wohnzimmer


    @viegener: Du kannst das Attribut "ignoredIPs" setzen, und dort die IP-Adresse des fragwürdigen Geräts eintragen. Damit wird dieses Device dann ignoriert...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 27 September 2015, 09:33:30
    Guten Morgen Reinerlein,
    Danke! das funktioniert wie gewünscht...
    Da hab ich wohl an der falschen stelle gesucht.
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 27 September 2015, 12:45:26
    Hi Reinerlein,

    möchte mal ein bisschen berichten
    ich nutze jetzt dein Sonos Modul seit Monaten ohne Reboot   :)
    es läuft ziemlich gut, nutze auch die Möglichkeiten damit: Erinnerungen an z.b Geburtstage oder Müll, als Info Hilfe für die Alarmanlage z.b Tür offen)
    oder auch einige S-Player spielen i-net Radio wenn ich heim komme. oder ändern diese wieder wenn meine Frau heimkommt u.s.w  ;D       

    manchmal sind kleine Verzögerungen drin 1-3 sek. (soll heissen nicht alle Player die angesprochen werden spielen exakt zur gleichen Zeit)

    aber mir gefällt dein Sonos-Modul echt sehr gut!  :)

    heute ist mir aufgefallen das ich keinen speak command mehr absetzen kann, das ging immer ohne Probleme
    set Sonos_Flur Speak +50 de Achtung Erinnerung, heute hat ... Geburtstag
    geht nicht, es wird kein mp.3 file erzeugt
    und ich habe auch seit Monaten nix mehr am System verändert  :-\

    Fehlermeldung im Log:
    Zitat2015.09.27 12:17:42 1: PERL WARNING: Use of uninitialized value within @params in join or string at ./FHEM/00_SONOS.pm line 2191.
    ???

    mfg. m     
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 September 2015, 12:55:37
    Hi m311331,

    hmmm... spontan hätte ich gedacht, dass vielleicht der Ablageplatz für die Speak-Dateien vollgelaufen ist?
    Wenn man da nicht selber aufräumt, oder die Hash-Variante aktiviert hat, wird das ja immer mehr...

    Kannst du mir mal die Codezeilen um die Zeile 2191 herum, wie sie bei dir sind, posten?
    Wenn ich bei mir schaue, bin ich mir nicht sicher, ob ich das gleiche dort stehen habe :)

    Ansonsten fällt mir spontan auch nichts ein... vielleicht erhellt die Codezeile das ja etwas...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 27 September 2015, 13:17:38
    Hi Reinerlain,

    Auf dem Ablageplatz ist aktuell mit gerade mal 15MB nicht sonderlich viel los   
    und es gibt noch Platz  ;D

    my $hash = SONOS_getDeviceDefHash(undef);

    DevIo_SimpleWrite($hash, 'DoWork:'.$udn.':'.$method.':'.join(',', @params)."\r\n", 0);

    return undef;
    }


    (mit notepad++)


    mfg. m
    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 27 September 2015, 14:04:01
    Fortsetzung: Inzwischen nehmen die Fehler deutlich zu (mehrere 100 in den letzten Tagen, insbesondere seit dem Update vor etwa einer Woche.

    Ausser
    Loading device description failed with error: 500 Can't connect to 192.168.2.29:2869 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1

    auch noch
    Unsubscription request failed with error: 500 Can't connect to 192.168.2.39:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1

    Mit verschiedenen IP-Adressen aber alles keine Sonos-Devices!
    Gibt es das Problem nur bei mir?
    Kann mir jemand helfen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 September 2015, 14:10:49
    Hi m311331,

    das ist aber echt merkwürdig. Ich habe da zwar jetzt ein paar Prüfungen eingebaut, die aber nur die Symptome beheben, und nicht die Ursache, dass die Parameter leer sind...

    Bist du sicher, dass es nicht geht, wenn du das Speak direkt über die Web-Oberfläche aufrufst?
    Es könnte ja sein, dass bei dir im Befehlsaufruf ein Fehler steckt?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 27 September 2015, 14:19:33
    Hi Reinerlain,

    ja hatte ich getestet von der Weboberfläche
    geht nicht  ::)

    hab mal FHEM neu gestartet

    jetzt im Log:
    Zitat2015.09.27 14:25:57 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Achtung%20Erinnerung%2C%20heute%20hat%20Wolfgang%20Geburtstag" to "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_0d4660ec1d4580da2d8cba7e6d28b9772c0973bb.mp31"
    2015.09.27 14:25:58 1: SONOS1: MP3 Download-Error: 503 Service Unavailable


    vermute mal der goole service ist down die haben ja heute ihren 17.  ;D


    mfg. m
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 27 September 2015, 14:25:56
    Hi Reinerlain,

    hab das gerade mal gestestet mit der URL die erzeugt wird
    Zitathttp://translate.google.com/translate_tts?tl=de&q=%20Achtung%20Erinnerung%2C%20heute%20hat%20Mustermann%20Geburtstag

    Die netten Damen und Herren von Google haben da ja einen Capture eingebaut  :o

    >:( >:( >:( >:( >:( >:( >:( >:( >:( >:(


    PS: geht das etwa bei dir mit Ansage ???

    mfg. m
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 September 2015, 14:34:09
    Hi m311331,

    ich hatte da schon mal was eingecheckt, womit die URL erweitert wurde. Das scheint zu funktionieren...
    Versuch mal ein Update...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 27 September 2015, 15:43:25
    Hi Reinerlein, :-[


    Update gemacht hilft leider nicht  :(

    Zitat2015.09.27 15:50:17 3: SONOS0: Connection accepted from localhost:42700
    2015.09.27 15:50:37 1: PERL WARNING: Argument "" isn't numeric in numeric eq (==) at ./FHEM/00_SONOS.pm line 747.
    2015.09.27 15:50:37 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Achtung%20Erinnerung%2C%20heute%20hat%20Mustermann%20Geburtstag" to "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_0d4660ec1d4580da2d8cba7e6d28b9772c0973bb.mp31"
    2015.09.27 15:50:37 1: SONOS1: MP3 Download-Error: 503 Service Unavailable


    mfg. m
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 September 2015, 19:59:20
    Hi m311331,

    das hat nicht ganz geklappt. In der URL muss jetzt ein Parameter "client" und "prev" drin sein...
    Neustart gemacht?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 28 September 2015, 08:19:22
    Hi Reinerlein,


    -edit-
    hab nur Sonos upadte gemacht
    das Update ist ganz normal durch gelaufen

    ZitatNeustart gemacht?
    natürlich  :)

    Zitat2015.09.28 08:33:17 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&q=%20Achtung%20Erinnerung%2C%20Morgen%20wird%20der%20Restm%FCll%20der%20Biom%FCll%20und%20die%20blaue%20Tonne%20abgeholt" to "/mnt/SonosSpeak/RINCON_B8E9378F49E001400_MR_Speak_a3630f9889020ffcb5b555466334036a5536733d.mp31"
    2015.09.28 08:33:17 1: SONOS1: MP3 Download-Error: 503 Service Unavailable
    2015.09.28 08:33:29 3: SONOS0: Connection accepted from localhost:41011

    egal ob ich in der commd. zeile oder direkt auf dem dev. im Webinterface speak nutze es geht nicht  :(

    mfg. m  ???
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 September 2015, 11:11:32
    Hi m311331,

    das ganze ist am 2.8. als Update verteilt worden.
    Kannst du deinen Quelltext mal nach der Variablen "$SONOS_GOOGLETRANSLATOR_URL" durchsuchen?
    Die steht um die Zeile 236 rum (ich habe hier schon eine neue Version, und kann gerade nicht im Repository nachschauen)...

    Das ist die neue URL, die verwendet werden muss, und die wohl funktioniert...
    Ansonsten beim Neustart nochmal sicherstellen, dass auch der abgetrennte Sonos-Prozess neugestartet wird...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 28 September 2015, 17:45:21
    Hi Reinerlein,

    ZitatKannst du deinen Quelltext mal nach der Variablen "$SONOS_GOOGLETRANSLATOR_URL" durchsuchen?
    Die steht um die Zeile 236 rum

    in der Sonos.pm oder ?
    habe ich gemacht kann ich aber leider nicht finden  :o
    hänge mal meine mit an evtl. hilft es ?


    mfg. m
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 September 2015, 18:40:35
    Hallo m311331,

    wie ich vermutet habe: die Datei ist alt (vom 3.4.2015). Das kannst du auch mit dem fhem-Befehl "version" prüfen...

    Du musst erstmal wirklich updaten...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 29 September 2015, 09:18:26
    Hi Reinerlein,

    ZitatDu musst erstmal wirklich updaten...

    ich dachte das hätte ich  :o

    commandline --> Update Sonos  ?

    -edit-
    Zitat# $Id: fhem.pl 9307 2015-09-25 18:44:20Z rudolfkoenig $
    # $Id: 10_CUL_HM.pm 9325 2015-09-27 18:00:00Z martinp876 $
    # $Id: 95_Dashboard.pm 9256 2015-09-15 17:36:53Z talkabout $
    # $Id: 01_FHEMWEB.pm 9321 2015-09-27 12:44:35Z rudolfkoenig $
    # $Id: 95_FLOORPLAN.pm 9295 2015-09-24 16:30:29Z ulimaass $
    # $Id: 92_FileLog.pm 9107 2015-08-22 13:16:05Z rudolfkoenig $
    # $Id: 00_HMLAN.pm 9325 2015-09-27 18:00:00Z martinp876 $
    # $Id: 30_HUEBridge.pm 8979 2015-07-15 19:30:30Z justme1968 $
    # $Id: 31_HUEDevice.pm 8979 2015-07-26 08:00:10Z justme1968 $
    # $Id: 73_PRESENCE.pm 9111 2015-08-22 16:46:24Z markusbloch $
    # $Id: 00_SONOS.pm 9014 2015-08-02 12:53:12Z rleins $
    # $Id: 21_SONOSPLAYER.pm 9014 2015-08-02 12:53:12Z rleins $
    # $Id: 99_SUNRISE_EL.pm 6765 2014-10-14 18:24:29Z rudolfkoenig $
    # $Id: 99_Utils.pm 7914 2015-02-08 11:14:10Z rudolfkoenig $
    # $Id: 59_Weather.pm 8937 2015-07-11 12:56:21Z borisneubert $
    # $Id: 90_at.pm 8326 2015-03-29 13:30:57Z rudolfkoenig $
    # $Id: 98_autocreate.pm 9216 2015-09-09 13:10:01Z rudolfkoenig $
    # $Id: 98_dummy.pm 8809 2015-06-23 18:02:33Z rudolfkoenig $
    # $Id: 91_eventTypes.pm 8725 2015-06-10 09:50:06Z rudolfkoenig $
    # $Id: 37_harmony.pm 9191 2015-09-01 20:29:24Z justme1968 $
    # $Id: 95_holiday.pm 8723 2015-06-10 09:09:01Z rudolfkoenig $
    # $Id: 91_notify.pm 8953 2015-07-13 15:13:06Z rudolfkoenig $
    # $Id: 33_readingsGroup.pm 8980 2015-07-26 08:03:43Z justme1968 $
    # $Id: $
    # $Id: 98_telnet.pm 8952 2015-07-13 12:30:26Z rudolfkoenig $
    # $Id: 98_update.pm 9240 2015-09-13 10:42:30Z rudolfkoenig $
    # $Id: 91_watchdog.pm 9185 2015-08-31 18:46:10Z rudolfkoenig $
    # $Id: 98_weblink.pm 9282 2015-09-20 14:47:15Z rudolfkoenig $

    es geht nicht  :'(  :'(

    mfg. m
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 September 2015, 09:51:38
    Hi m311331,

    keine Ahnung, ich mache immer nur komplette Updates.
    Aber er wird wohl danach sagen, ob (und wenn ja, was) er etwas geupdatet hat, oder?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 29 September 2015, 09:57:32
    Hi Reinerlein,


    hab gerade ein komplettes Updates gemacht
    normalerweise kommt immer zum ende doch immer
    shutdown restart nicht vergessen

    jetzt kam nix ???

    ich bin jetzt etwas verwirrt  :-\


    mfg. m
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 September 2015, 10:29:24
    Hi m311331,

    jetzt scheint doch zumindest die korrekte Version drauf zu sein (zumindest laut deiner Version-Ausgabe).

    Sonst fahre Fhem doch mal ganz herunter und prüfe danach, ob auch der getrennte Sonos-Prozess beendet wurde. Wenn nicht, dann diesen selber beenden, und erst danach Fhem wieder starten.
    Alternativ kannst du natürlich auch die ganze Kiste neustarten, je nachdem, was dir einfacher oder besser erscheint...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: m311331 am 29 September 2015, 10:51:43
    Hi Reinerlein,


    das Update leif nicht ganz durch  :o
    na ja was soll's nach dem 3 Versuch ging es  :)

    jetzt schein es wieder zu gehn


    besten Dank für deine Hilfe  :)
    wie immer ist dein Support o.g

    mfg. m311331
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 29 September 2015, 14:28:47
    Ich hätte einen kleinen Feature Request  :)

    Sonos Speak merkt sich ja den aktuellen Zustand des Players und stellt ihn nach Abspielen der Nachricht wieder her. Ich würde dieses Verhalten gerne optional deaktivieren. Also das generierte mp3 abspielen und danach einfach gar nichts machen.

    Wäre das machbar?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 September 2015, 14:35:34
    Hi Dantist,

    prinzipiell schon, aber du kannst doch auch einfach ein Stop vorneweg senden, dann läuft danach doch auch nichts mehr...

    Ansonsten stellt sich die Frage, was genau danach nicht mehr wiederhergestellt werden soll:
    - Soll nur die Wiedergabe nicht gestartet werden?
    - Soll der vorher bestehende Titel (bzw. Radiosender) nicht wiederhergestellt werden?
    - Usw...

    Es wird am Ende von Speak eine Menge gemacht, und es gäbe sicherlich den einen oder anderen Grund für diverse Wiederherstellungen (oder eben Nicht-Wiederherstellungen)...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 29 September 2015, 18:56:33
    Zitat von: Reinerlein am 29 September 2015, 14:35:34
    prinzipiell schon, aber du kannst doch auch einfach ein Stop vorneweg senden, dann läuft danach doch auch nichts mehr...

    Das mache ich im Moment auch, leider funkt speak trotzdem öfter mal dazwischen. Manchmal wird trotz Aufruf eines anderen Webradios der vor dem speak eingestellte Sender abgespielt, manchmal passiert einfach gar nichts. Ich weiß nicht, wie ich das zuverlässig lösen soll, erkenne auch kein Muster in den Fehlern.

    Zitat von: Reinerlein am 29 September 2015, 14:35:34
    Ansonsten stellt sich die Frage, was genau danach nicht mehr wiederhergestellt werden soll:
    - Soll nur die Wiedergabe nicht gestartet werden?
    - Soll der vorher bestehende Titel (bzw. Radiosender) nicht wiederhergestellt werden?
    - Usw...

    Da hast du natürlich Recht, bei der Komplexität wäre eine Ausnahmeregel ein ziemliches Gefrickel.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 September 2015, 19:51:30
    Hi dev0,

    ich bin endlich mal zum Testen bzgl. der Gruppengeschichte gekommen.

    Ja, das Problem konnte ich nachstellen, du bist also nicht der einzige :)
    Und ja, ich habe das Problem auch gelöst :)

    Ich würde allerdings gerne noch kurz über das Feature mit den URLs als Speak-Provider nachdenken, und dazu was einbauen, und dann mal wieder veröffentlichen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 30 September 2015, 07:05:55
    Zitat von: Reinerlein am 29 September 2015, 19:51:30
    Ja, das Problem konnte ich nachstellen, du bist also nicht der einzige :)
    Und ja, ich habe das Problem auch gelöst :)
    Hat keine Eile, da ich zwischenzeitlich auch einen Workaround in meinen fronthem Converter eingebaut habe: im Fall von "transportState == ERROR" wird der Player von der Gruppe gelöst ;)
    Danke für's ausprobieren und fixen!
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 01 Oktober 2015, 15:54:16
    Hi zusammen.

    Nach längerer Abwesenheit wollte ich das Modul wieder in Betrieb nehmen, da mein FHEM auf einen anderen Server umgezogen ist.
    Auf dauer war mir der RPI doch zu langsam!

    Nun will aber dieses Modul nicht mehr.
    Ich habe das Sonos-Device (wie damals) konfiguriert und der State geht auf "connected", es findet jedoch keine Player, fhem ist aktuell.
    Mir gehen langsam die Ideen aus.

    Welche Netzwerkkarte nimmt das Modul denn? Der Server hat 2 Netzwerkkarten und nur an einer hängt das interne Netz mit den Sonosen. Kann das das Problem sein?
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 01 Oktober 2015, 16:03:07
    Wenn du das andere Netzwerkinterface temporär deaktivierst, dann kannst du die Frage selbst beantworten.
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 01 Oktober 2015, 16:28:30
    Zitat von: dev0 am 01 Oktober 2015, 16:03:07
    Wenn du das andere Netzwerkinterface temporär deaktivierst, dann kannst du die Frage selbst beantworten.

    Nö, weil dann bin ich ausgesperrt... über das Device bin ich verbunden, da ich nicht zuhause bin. FHEM ist praktisch am Router installiert, die Firewall unterbindet jedoch connections nach aussen, nicht aber nach innen.... hab zum Test auch mal die Firewall deaktiviert, selbes ergebnis. Lediglich den Default gateway, der ins Internet zeigt, kann ich nicht entfernen/deaktivieren.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 01 Oktober 2015, 19:05:48
    Das multicast virtual network routest du auf das interne Interface?
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 Oktober 2015, 11:28:55
    Zitat von: dev0 am 01 Oktober 2015, 19:05:48
    Das multicast virtual network routest du auf das interne Interface?
    Über
    ip route add 224.0.0.0/4 dev eth0
    ? ja, das ist eingetragen. Oder ist mehr zu tun?
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 07 Oktober 2015, 11:31:50
    Genau so und ggf. die Firewallregeln noch anpassen.
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 Oktober 2015, 13:49:32
    Zitat von: dev0 am 07 Oktober 2015, 11:31:50
    Genau so und ggf. die Firewallregeln noch anpassen.

    Danke!!

    Mit der allgemeinen Regel
    ACCEPT  loc     fw
    ACCEPT  fw      loc


    klappt es dann auch! somit ist es gelöst! Wenn Du jedoch noch einen Tip hast, wie ich die weiter einschränken kann... immer gerne!
    ACCEPT  loc     fw:224.0.0.0/4
    ACCEPT  fw      loc:224.0.0.0/4

    hat jedenfalls nicht funktioniert!
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 07 Oktober 2015, 14:18:43
    Zitat von: JoeALLb am 07 Oktober 2015, 13:49:32
    Wenn Du jedoch noch einen Tip hast, wie ich die weiter einschränken kann... immer gerne!
    ACCEPT  loc     fw:224.0.0.0/4
    ACCEPT  fw      loc:224.0.0.0/4

    hat jedenfalls nicht funktioniert!

    Ich kenne mich mit der shorewall Syntax nicht aus. Über die generierten iptables Regeln könnte ich mal drüber schauen... Aber spätestens am (Perimeter-) Router sollten die Pakete sowieso verworfen werden und Deinem internen Netz vertraust Du doch, oder?
    Titel: Antw:Sonos steuern
    Beitrag von: SlvrStrko4 am 07 Oktober 2015, 16:48:40
    Hallo zusammen,

    seit einem Update meiner Distribution habe ich heute ganz viele Fehler im Log die vom Sonos Modul zu kommen scheinen:

    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:27 2: SONOS4: Discover Sonosplayer 'Badezimmer' (S1) Software Revision 5.5 with ID 'RINCON_B8E93783ACBE01400_MR'
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:26 3: SONOS4: Event: End of Transport-Event for Zone "Sonos_Badezimmer".
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:26 3: SONOS4: Event: Received Transport-Event for Zone "Sonos_Badezimmer".
    2015.10.07 16:44:26 3: SONOS4: Discover: End of discover-event for "Badezimmer".
    2015.10.07 16:44:26 2: SONOS4: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_B8E93783ACBE01400_sub0000000204
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:26 2: SONOS4: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_B8E93783ACBE01400_sub0000000203
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:26 2: SONOS4: Alarm-Service-subscribing successful with SID=uuid:RINCON_B8E93783ACBE01400_sub0000000202
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:26 2: SONOS4: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_B8E93783ACBE01400_sub0000000201
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:26 2: SONOS4: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_B8E93783ACBE01400_sub0000000200
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:26 2: SONOS4: Rendering-Service-subscribing successful with SID=uuid:RINCON_B8E93783ACBE01400_sub0000000199
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:26 2: SONOS4: Service-subscribing successful with SID=uuid:RINCON_B8E93783ACBE01400_sub0000000198
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:26 2: SONOS4: SonosPlayer 'Badezimmer' is now updated
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:26 2: SONOS4: SonosPlayer 'Badezimmer' (S1) with ID 'RINCON_B8E93783ACBE01400_MR' is already defined (as 'Sonos_Badezimmer') and will only be updated
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:24 2: SONOS4: Discover Sonosplayer 'Badezimmer' (S1) Software Revision 5.5 with ID 'RINCON_B8E93783ACBE01400_MR'
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    2015.10.07 16:44:23 3: SONOS0: Connection accepted from localhost:58760
    2015.10.07 16:44:00 0: SONOS4: Setting LogLevel to new value: 3


    Das Log ist umgekehrt sortiert.

    Woher kommen diese ganzen "Odd number ..." Fehlermeldungen, wieso sind die plötzlich da und was kann ich dagegen tun?

    Danke & Gruß
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 07 Oktober 2015, 22:22:51
    Ich glaube, ich habe einen kleinen Bug im Sonos Groups-Befehl gefunden: Wenn der Lautsprecher, der im Groups-Befehl an erster Stelle steht, gleichzeitig der erste Lautsprecher in einer bestehenden Gruppe ist, wird der Groups-Befehl ignoriert.

    Beispiel

    Bestehende Gruppe:
    Sonos_A
    Sonos_B
    Sonos_C


    Wird ignoriert: set Sonos Groups [Sonos_A, Sonos_B]
    Funktioniert: set Sonos Groups [Sonos_B, Sonos_A]
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 Oktober 2015, 22:44:41
    Hi dantist,

    das ist so gewollt. Dem ganzen liegt das Prinzip der minimalsten Veränderung zugrunde.
    Das bedeutet, dass ich die Groups-Angabe als Minimal-Angabe gesehen habe, die meine Gruppenlandschaft in Zukunft (nach dem Befehl) haben soll.

    Wenn du jetzt eine bestehende Gruppe mit A, B und C hast, und einen Group-Befehl mit A und B übergibst, dann ist ja alles schon passiert. Für C hast du ja nichts genaueres festgelegt, der wird damit auch überhaupt nicht beachtet.
    Wenn du möchtest, dass C aus der Gruppe herausgenommen wird, dann musst du explizit angeben, was mit C passieren soll.

    Eine Angabe von:

    set Sonos Groups [Sonos_A, Sonos_B], [Sonos_C]
    zieht C aus der Gruppe heraus (und macht den Player zu seiner eigenen Gruppe).

    Ein

    set Sonos Groups [Sonos_C, Sonos_A, Sonos_B]
    macht C zum neuen Master der Gruppe.

    Wenn du sicherstellen willst, dass deine Gruppe *nur* aus den angegebenen Playern besteht, dann musst du erst die möglichen Gruppen auflösen:

    set Sonos Groups [Sonos_A], [Sonos_B], [Sonos_C]

    Im Falle der Auflösung aller Gruppen in einem Schritt kannst du

    set Sonos Groups Reset
    angeben.

    Das Vorgehen hat den Vorteil, dass beim mehrmaligen Aufruf derselben Sequenz die Wiedergabe nicht unterbrochen wird. Es bleibt ja alles beim alten...
    Aber ich gebe dir Recht, dass es verwirrend sein kann :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 08 Oktober 2015, 12:13:28
    Hallo Reinerlein,

    vielen Dank für die Erläuterung! Mit diesen Infos finde ich sicher einen Workaround für mein Projekt.

    Noch eine Frage: Wenn ich verschiedene Sonos-Aktionen hintereinander ausführen will, sorgt dein Modul für den korrekten Ablauf, oder sollte man selbst Pausen definieren? z.B. dauert das Gruppieren von Lautsprechern bei mir manchmal bis zu 10 Sekunden. Sollte ich nach dem Groups-Befehl warten, bevor ich z.B. einen Radiosender auf einen Lautsprecher der neuen Gruppe starte, oder ist das nicht nötig?

    Gruß
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 08 Oktober 2015, 12:46:40
    Hallo Reinerlein,

    einen Teil der Fragen hatte ich schon mal (wohl während Deines sicher verdienten Urlaubs :-)) gepostet, sind vmtl. verschütt gegangen. Für einige Dinge habe ich zwischenzeitlich einen Workaround gebastelt.

    Bleibt noch:
    1. Irgendwo hatte ich gelesen, dass man als Radiosender den Namen des Players angeben kann und somit auf den externen Eingang umschalten kann. Funktioniert leider bei mir aber nicht oder was mache ich da falsch?
    elsif($val eq 'extern')
    {
    my $cmd= "set $master StartRadio $master";
    Log3($name,2,(caller(0))[3] . ": $cmd");
    fhem($cmd);
    return undef;
    } # extern input

    $master = 'Sonos_G_stezimmer' also ein gültiger Playername

    2. Anhängen an playlist mit search-Befehl führt dazu, das Liste wieder von vorne gestartet wird.
    Wolltest Du Dir mal ansehen. Ich denke, dass bei laufender Wiedergabe der aktuellen playlist ein anhängen von weiteren Titeln die lfd. Wiedergabe nicht unterbrechen sollte.

    Ich sag schon mal danke, für Deine Super-Arbeit.

    Gruß

    Elektrolurch

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 Oktober 2015, 14:38:45
    Hi Elektrolurch, Hi Daniel,

    jaa.. das war ja einiges, als ich nicht da war :) Wie immer... Kaum ist die Katze aus dem Haus, tanzt das Modul auf dem Tisch... :)

    @Daniel: Mir ist gerade aufgefallen, das das mit dem Reset bei dir noch nicht gehen kann. Das ist noch in meinem Entwicklungsstand :) kommt aber demnächst an die Öffentlichkeit...

    Im Normalfall puffert das Modul die Befehle in einer Queue im SubProzess, und arbeitet sie nach und nach ab. Trotzdem kann es zu Problemen kommen, wenn z.B. der Player eine Aktion bereits als fertig meldet (der Aufruf also schon zurückkommt), obwohl er in Wirklichkeit noch dabei ist, den Befehl auszuführen, liefert das Modul direkt den nächsten Befehl... Probier es einfach... meistens sollte es klappen...

    @Elektrolurch:
    Zu dem externen Eingang: Ich meine, das war schon mal wieder dran... Es ist der Befehl PlayURI, dem man den Device-Namen geben kann...

    Das mit dem Search-Befehl wollte ich mir noch anschauen, und steht auch auf meinem Zettel :)
    Da muss ich irgendeine Prüfung noch reinbauen, bevor der Play-Befehl nochmal abgesetzt wird... kann eigentlich nichts großes sein...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: SVLoneStar am 10 Oktober 2015, 12:44:32
    Hallo - ich habe seit 2-3 Tagen das Problem mit der 503 Meldung bei Google Speech. Version von Sonos.pm ist die vom 2.8., die Erweiterung der URL scheint im Modul drin zu sein. Neues Problem bei Google oder alleiniges Problem bei mir...? Danke!
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 10 Oktober 2015, 19:19:49
    Zitat von: SVLoneStar am 10 Oktober 2015, 12:44:32
    Hallo - ich habe seit 2-3 Tagen das Problem mit der 503 Meldung bei Google Speech. Version von Sonos.pm ist die vom 2.8., die Erweiterung der URL scheint im Modul drin zu sein. Neues Problem bei Google oder alleiniges Problem bei mir...? Danke!

    Habe das Problem auch wieder seit heute.
    Gestern Nacht hat mir Sonos noch eine Gute Nacht gewünscht, heute schweigt es...

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: SVLoneStar am 10 Oktober 2015, 21:36:59
    Hallo - neuer Fehler bei 'Speak' mit Google TTS (404 statt 503):
    SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=20&client=t&prev=input&q=%20sepp" to "/mnt/SonosSpeak/RINCON_5CAAFD22CADC01400_MR_Speak_df85485fe016bd220f6d87485dbab7c3c4bfc243.mp31"
    SONOS1: MP3 Download-Error: 404 Not Found


    Schaut für mich so aus, als hätte Google die Aufforderung zut TTS-Konvertierung akzeptiert, dann aber kein File zum Download erstellt.
    Ich werde mit jetzt wohl mal espeak anschauen...evtl. auch Cepstral, soll laut justme1968 ja auch ganz gut sein.
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 10 Oktober 2015, 22:21:28
    zur zeit verwende ich voicerss. bei bis 350 requests ist der key kostenlos.

    ich hab den google aufruf in 00_SONOS.pm durch den folgenden ersetzt:my $url = 'http://api.voicerss.org/?key=xxxxx&hl=de-de&f=16khz_8bit_mono&src='.uri_escape($text);

    irgendwo gibt es noch ein problem mit den umlauten. per wget geht es per uri_escape noch nicht. ich vermute da gibt es noch ein encoding problem. ansonsten funktioniert es bist jetzt recht gut.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: SVLoneStar am 10 Oktober 2015, 23:33:25
    Hallo Andre,
    habe das gerade mal ausprobiert.....gibt noch Probleme bei der Wiedergabe (klappt manchmal, aber nicht immer), schaut aber erstmal gut aus - besten Dank für den Tip!

    Edit:
    Hmmm...seltsam.
    Im Log erhalte ich

    2015.10.11 00:00:55 3: SONOS4: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=geht&client=t&prev=input&q=%20das%20nicht" to "/mnt/SonosSpeak/RINCON_5CAAFD22CADC01400_MR_Speak_183c9ea3bbc2f95b1a31acf61fbe61a1c22666d6.mp31"
    2015.10.11 00:00:56 1: SONOS4: MP3 Download-Error: 503 Service Unavailable


    Im 00_SONOS.pm steht in den Teilen 3936 bis 3938:

    #my $url = 'http://translate.google.com/translate_tts?tl='.SONOS_URI_Escape(lc($language)).'&client=t&prev=input&q='.SONOS_URI_Escape($text);
    #my $url = sprintf($SONOS_GOOGLETRANSLATOR_URL, SONOS_URI_Escape(lc($language)), SONOS_URI_Escape($text));
    my $url = 'http://api.voicerss.org/?key=<key>&hl=de-de&f=16khz_8bit_mono&src='.uri_escape($text);

    Wie gibt's das? Hast Du evtl. noch an anderer Stelle was geändert?
    Reload, Reboot habe ich gemacht.
    Der zu sprechende Text war 'Warum geht das nicht'...daher wohl die seltsamen Parameter beim Aufruf von Google Translate...interpretiert als <Lautstaerke> <Sprache> <Text>
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Oktober 2015, 11:18:57
    Hi SVLoneStar,

    du musst die Parameter-Übergabe anders machen. Ich verwende sprintf für das Ersetzen der Parameter, was bedeutet, dass du ein "%1$s" für die Sprachangabe und ein "%2$s" für den URL-Encodierten Text angeben musst.

    In deinem Fall also

    my $url = 'http://api.voicerss.org/?key=$$$$$$$$$&hl=%1$s&f=16khz_8bit_mono&src=%2$s';
    Natürlich musst du "$$$$$$$$$" noch durch deinen Schlüssel für VoiceRSS ersetzen...

    Damit musst du dann deinen Speak-Aufruf so schreiben:

    set Sonos_Wohnzimmer Speak 15 de-de Dies ist ein Test


    Ich bin auch gerade dabei, dass man zusätzlich zu einem lokalen Programm andere URLs definieren kann. Das wird aber im Ergebnis auf das gleiche hinauslaufen:
    Man definiert die URL wie oben (mit den beiden Platzhaltern), und dann wird der Aufruf entsprechend durchgeführt...

    Grüße
    Reiner

    P.S.: In deinem ersten Log hast du einen Speak-Aufruf ohne Sprach und/oder Lautstärke-Angabe durchgeführt. Da verschieben sich dann die Parameter, und es gibt eine Fehlermeldung, dass ein bestimmtes Wort nicht als Lautstärke gesetzt werden konnte :)
    Titel: Sonos steuern
    Beitrag von: SVLoneStar am 11 Oktober 2015, 11:43:20
    Hallo Reiner - vielen Dank, kann ich leider erst heute Abend ausprobieren.
    Was mich eben wundert, ist, dass trotz des Auskommentieren des Google-Codes und meines falschen VoiceRSS-Codes in der 00_SONOS.pm Ansagen mit 'Speak' kommen und Fehlermeldungen von Google Translate im Log zu sehen sind. Cache?!


    Sent from my iPhone using Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Oktober 2015, 17:25:36
    Hi SVLoneStar,

    du musst in der aktuellen Version natürlich die Variable "$SONOS_GOOGLETRANSLATOR_URL" (irgendwo bei Zeile 240) anpassen. Diese Variable wird zum Aufruf verwendet...

    Das hatte ich geändert, als es die ersten Probleme mit Google gab...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 11 Oktober 2015, 17:36:12
    Wäre es möglich auf den Speak-Setter mit einem entsprechenden Errorlevel zu antworten, falls es einen Fehler bei der Ausführung des Befehls gab?
    Hintergrund: Ich möchte über meine msg-Befehlserweiterung gerne entsprechend auf eine alternative Benachrichtigungsmethode zurückfallen.
    Titel: Antw:Sonos steuern
    Beitrag von: SVLoneStar am 11 Oktober 2015, 18:01:36
    Hallo Reiner,
    ich hab's hingekriegt...Danke für Deine Hilfe und das Modul!  :D

    Gruß,
    Stefan
    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 11 Oktober 2015, 19:25:04
    Zitat von: Reinerlein am 25 September 2015, 21:42:26
    @viegener: Du kannst das Attribut "ignoredIPs" setzen, und dort die IP-Adresse des fragwürdigen Geräts eintragen. Damit wird dieses Device dann ignoriert...

    Grüße
    Reiner

    Hallo Reiner,
    ich komme erst jetzt dazu mich zurückzumelden. Danke für den Hinweis. Der Eintrag von ignoredIPs hat die Meldungen gelöst.
    Vielleicht wäre es gut noch einen Kommentar in der Doku aufzunehmen, da ich meine Meldungen nicht mit dem UPnP-Modul in Verbindung gebracht habe, dass in der Attributbeschreibung beschrieben wird:

    Irgendwas wie:

    Zitat
    Use this attribute with specific IP addresses to avoid log entries showing UPnP or other errors with specific IP addresses that are not SONOS devices.
    Example:
    Loading device description failed with error: 500 Can't connect to 192.168.2.29:2869 (timeout) at ./FHEM/00_SONOS.pm ...


    Und natürlich Danke für die vorzügliche Arbeit in Deinem Modul!!!

    Johannes
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Oktober 2015, 19:32:40
    Hallo zusammen,

    @SVLoneStar: Schön, dass es geht :)

    @Loredo: Eine direkte Rückgabe geht nicht, da das alles asnychron abläuft, damit Fhem nicht belästigt wird.
    Was du aber machen kannst, ist auf das Reading "LastActionResult" zu triggern. Da sollte eigentlich eine entsprechende Rückmeldung kommen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 11 Oktober 2015, 19:35:37
    Zitat von: Reinerlein am 11 Oktober 2015, 19:32:40
    @Loredo: Eine direkte Rückgabe geht nicht, da das alles asnychron abläuft, damit Fhem nicht belästigt wird.
    Was du aber machen kannst, ist auf das Reading "LastActionResult" zu triggern. Da sollte eigentlich eine entsprechende Rückmeldung kommen...


    Nee das funktioniert nicht, die Routing Entscheidung ist in Realtime. :-/






    Edit: in LastActionResult steht auch nicht drin, dass Google einen 503er Fehler zurückgegeben hat. Das findet sich nur im Logfile.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Oktober 2015, 20:49:28
    Hi Loredo,

    eigentlich sollte dort eine dem Log entsprechende Meldung drinstehen; sowas wie "Speak0: MP3-Creation ERROR during downloading: 503 Service Unavailable"...

    Es kann nur sein, dass bereits kurz danach eine neue Meldung in das Reading reingeschrieben wird. Das kannst du dann nur feststellen, indem du mal ein Logfile mit LastActionResult vollschreiben lässt...
    Wenn das nicht dort landen sollte, dann muss ich mir diesen Meldeweg nochmal anschauen.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 12 Oktober 2015, 14:57:49
    Bei meinen Sonsos habe ich das Problem wenn er vom Strom getrennt wird (was über Nacht passiert) er über fhem nicht mehr ansprechbar ist
    Erst wenn ich händisch disable 1 0 funktioniert es wieder.
    Gibt es dafür eine andere lösung?
    Andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Oktober 2015, 15:18:39
    Hallo Andre,

    wenn er aus ist, kannst du ihn auch nicht steuern :)
    Sorry... das konnte ich mir nicht verkneifen  ;D

    Aber zum Thema: Das Modul erkennt einen abwesenden Player mithilfe eines Ping-Checks. Dieser kann auf verschiedene Arten ausgeführt werden (konfigurierbar über das Attribut pingType).
    Wenn bei dieser Prüfung/Erkennung etwas schiefgeht, steht das im Log (dazu verbose am Sonos-Device ruhig auf 5 stellen). Danach kann man handeln und mit dem Attribut spielen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: inesa394 am 12 Oktober 2015, 19:33:48
    Welchen nimmt man dea am besten?
     
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 12 Oktober 2015, 19:52:32
    Eingeschaltet ist er jetzt   ???
    pingtype stand auf none hab den jetzt mal
    auf tcp gestellt und getestet und es funktioniert   ;)
    Andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Oktober 2015, 21:27:48
    Hallo zusammen,

    @Andre: Schön, das es geht :)

    @inesa394: Falls du mit deiner Frage auf den Typ des pingType abzielst: Im Wiki stehen zwei Sätze dazu. Zusammenfassung: Probieren, da sie unterschiedlich gut in unterschiedlichen Systemen laufen... Es gibt leider keinen allgemeingültigen Tip...
    http://www.fhemwiki.de/wiki/SONOS#Attribute_von_SONOS (http://www.fhemwiki.de/wiki/SONOS#Attribute_von_SONOS)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Aerobat am 13 Oktober 2015, 10:48:13
    Hallo,

    zunächst einmal vielen Dank, Reiner, für das erstklassige Modul. Einfach beeindruckend, was für Möglichkeiten in der Kombination von fhem und Sonos liegen :-).

    Leider habe ich ein kleines Problem: Die Abwesenheit meiner beiden Sonos Komponenten, ausgeschaltet durch FS20 Steckdosen, wird nicht erkannt.
    Ich habe alle Pingtypen durchprobiert. FHEM läuft als root - ob das Sonos Modul als Root läuft sehe ich nicht.

    Hier ein Auszug, Log Level5:

    2015.10.13 10:32:01 4: SONOS2: IsAlive-Event UDN=RINCON_B8E9377CD1F001400_MR
    2015.10.13 10:32:01 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_B8E9377CD1F001400_MR, reading, location, ) -> http://192.168.178.22:1400/xml/device_description.xml
    2015.10.13 10:32:01 5: SONOS2: Location: http://192.168.178.22:1400/xml/device_description.xml
    2015.10.13 10:32:01 5: SONOS2: PingType: syn
    2015.10.13 10:32:01 4: SONOS2: 192.168.178.22 is alive
    2015.10.13 10:32:01 4: SONOS2: IsAlive-Event UDN=RINCON_B8E937B54DC201400_MR
    2015.10.13 10:32:01 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_B8E937B54DC201400_MR, reading, location, ) -> http://192.168.178.25:1400/xml/device_description.xml
    2015.10.13 10:32:01 5: SONOS2: Location: http://192.168.178.25:1400/xml/device_description.xml
    2015.10.13 10:32:01 5: SONOS2: PingType: syn
    2015.10.13 10:32:01 4: SONOS2: 192.168.178.25 is alive
    2015.10.13 10:32:06 3: SONOS0: Connection accepted from localhost:55303
    2015.10.13 10:32:06 5: SONOS0: Received: 'hello'
    2015.10.13 10:32:06 4: SONOS0: Got correct Answer from Subprocess...
    2015.10.13 10:32:06 5: SONOS0: Received: 'goaway'
    2015.10.13 10:32:31 4: SONOS2: IsAlive-Event UDN=RINCON_B8E9377CD1F001400_MR
    2015.10.13 10:32:31 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_B8E9377CD1F001400_MR, reading, location, ) -> http://192.168.178.22:1400/xml/device_description.xml
    2015.10.13 10:32:31 5: SONOS2: Location: http://192.168.178.22:1400/xml/device_description.xml
    2015.10.13 10:32:31 5: SONOS2: PingType: syn
    2015.10.13 10:32:31 4: SONOS2: 192.168.178.22 is alive
    2015.10.13 10:32:31 4: SONOS2: IsAlive-Event UDN=RINCON_B8E937B54DC201400_MR
    2015.10.13 10:32:31 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_B8E937B54DC201400_MR, reading, location, ) -> http://192.168.178.25:1400/xml/device_description.xml
    2015.10.13 10:32:31 5: SONOS2: Location: http://192.168.178.25:1400/xml/device_description.xml
    2015.10.13 10:32:31 5: SONOS2: PingType: syn
    2015.10.13 10:32:31 4: SONOS2: 192.168.178.25 is alive

    Die IP's .25 und .22 sind von den beiden Sonos Playern.
    Interessant ist, dass der Pingtype dabei immer als syn angezeigt wird - egal was als attr eingetragen wird.

    Reload des Sonos Moduls brachte keine Ändernung, nach Neustart von fhem taucht im log mehrfach auf:

    Unsubscription request failed with error: 500 Can't connect to 192.168.178.22:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1018 thread 1

    Dafür werden die Sonos Player jetzt nicht mehr als appeared sondern als initialized gelistet. (Das große Reading in fhem zeigt immer noch den alten Radiosender, bzw. Gruppenwiedergabe, aber das ist vielleicht eine andere Sache...?)


    In der Liste der Netzwerkgeräte der Fritzbox tauchen die beiden Sonoskomponenten erwartungsgemäß nicht auf.

    Übersehe ich etwas wesentliches?

    Grüße
    Theo
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 13 Oktober 2015, 13:24:42
    Als was sollte er denn stehen bei mir steht er bei pingtype tcp immer auf "appeared"
    Titel: Antw:Sonos steuern
    Beitrag von: Aerobat am 13 Oktober 2015, 13:55:37
    Naja, meiner Erfahrung nach steht dort, wenn alles richtig erkannt wird:

    Player state "initialized" und im Text des großen Readings wo sonst der spielende Titel steht, steht dann "Player disappeared".
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 13 Oktober 2015, 22:16:21
    Aber sicher bist du dir da nicht und mein Player funktioniert ja soweit
    jedenfalls mit dem was ich ihm gebe :-\
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 13 Oktober 2015, 23:59:52
    @SVLoneStar: mein voicerrs aufruf war noch für eine ältere sonos version.

    @Reinerlein: ich habe das problem mit den umlauten bei voicerss gefunden... die erwarten utf8 und im modul wird ein SONOS_Utf8ToLatin1 auf den speak text gemacht. wenn man das auskommentiert passt es. wenn du die tts url konfigurierbar machst wäre es schön wenn du auch das umkodieren optional  machst.

    gruss
      andre
    Titel: Sonos steuern
    Beitrag von: SVLoneStar am 14 Oktober 2015, 00:45:52
    @justme1968: Kein Thema, hast mir schon so oft weitergeholfen...Danke! :)
    Das mit den Umlauten baue ich gleich ein (bzw. aus).

    Edit: Klappt 1A!


    Sent from my iPhone using Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 14 Oktober 2015, 16:47:13
    Hallo,

    das Google Problem hat sich bei mir von selbst gelöst. Im Moment geht alles.

    Ich habe aber einen "Feature Request" :-)

    Mit der aktuellen Sonos Version ist es ja nun möglich bei Spotify "Radio starten" zu wählen.
    Dann wird basierend auf den aktuellen Titel eine Playlist erstellt die ähnliche Musik abspielt.
    Ich nutze diese Funktion sehr häufig, und es wäre toll wenn ich dies über fhem anstoßen kann.

    Wäre es möglich dieses Feature zu implementieren?

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Oktober 2015, 17:32:42
    Hi Detlef,

    ich werde mal untersuchen, wie das gelöst ist.
    Normalerweise sind die ganzen Spotify-Heraussuchthemen aber direkt im Controller und nicht im Player implementiert.

    Aber erstmal muss ich noch diese URL-Definitionssache vom Tisch bekommen :)
    Dann wird erstmal veröffentlicht...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 14 Oktober 2015, 21:31:52
    hallo reiner,

    noch eine idee für die textausgabe...

    ich glaube es wäre gut zuerst am satzende (punkt gefolgt von space) zu splitten und dann erst zu schauen ob die stücke grösser als die chunk size sind. der voicerss service lässt am ende jedes chunk relativ viel stille. wenn das mit einem satzende zusammenfällt ist es weniger auffällig. vielleicht is ein komma gefolgt von space auch ein kandidat.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: naimo am 18 Oktober 2015, 22:53:40
    Hallo zusammen,

    obwohl ich das Attribute ignoreIPs gesetzt habe, bekomme ich immer noch folgende Meldung im Sekundentakt:

    Loading device description failed with error: 500 Can't connect to 192.168.1.250:49152 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1.

    Ich habe schon gelesen, woher diese Meldung kommt. Das würde mich nicht weiter stören. Aktuell sprengt diese Meldung aber mein Log ;)
    Kann ich diese Meldung anderweitig los werden?
    Ich habe schon alle meine Sonos aus FHEM gelöscht, auch das SONOS device ansich. Leider keine Änderung...

    Weiß einer von euch Rat.

    Wäre sehr dankbar :)

    Viele Grüße
    Benjamin
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 Oktober 2015, 23:19:32
    Hallo Benjamin,

    hast du nach dem Setzen von ignoredIPs einen Neustart des SubProzesses gemacht?
    Also Fhem neugestartet, oder das Attribut disable am Sonos-Device kurz gesetzt und wieder gelöscht?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: naimo am 19 Oktober 2015, 06:55:54
    Guten Morgen Reiner,

    Ja, ich habe Fhem neu gestartet. Bzw habe sogar den ganzen Fhem Server neu gestartet. Leider bekomme ich die Meldung immer noch .

    EDIT: Ich weiß nicht, ob die Info nützlich ist, aber: Ich habe testweise meine drei Sonos-Player (Sonos_Wohnzimmer, Sonos_Bad, ...) disabled. Nur das SONOS-Device ist noch aktiv. Die Meldung bleibt bestehen.

    EDIT2: Noch etwas ist mir eingefallen. Die Sonos_WohnzimmerEG ist "neu" hinzugekommen. Diese gehört meinem Bruder. Wir sind am Wochenende in eine gemeinsame Wohnung gezogen. Seitdem besteht das Problem ;)

    Vielen Dank für deine Hilfe schon mal

    Gruß
    Benjamin

    Als Anhang noch ein verbose 5-Log Auszug nach dem setzen von disabled=0 auf dem SONOS-Device:

    2015.10.19 08:04:12 5: SONOS0: FhemWebCallback: /sonos/cover/empty.jpg
    2015.10.19 08:04:12 5: SONOS0: Cover: /empty.jpg
    2015.10.19 08:04:29 5: SONOS0: Neu-Enabled
    2015.10.19 08:04:29 5: SONOS0: Call AttributeFn: Start SubProcess...
    2015.10.19 08:04:30 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 1 Sekunde(n) darauf...
    Smartmatch is experimental at ./FHEM/00_SONOS.pm line 5383.
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2015.10.19 08:04:31 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2015.10.19 08:04:31 5: SW: 446f576f726b3a534f4e4f533a53617665426f6f6b6d61726b733a0d0a
    2015.10.19 08:04:31 3: Opening Sonos device localhost:4711
    2015.10.19 08:04:31 3: Sonos device opened
    2015.10.19 08:04:31 3: SONOS0: Connection accepted from localhost:38129
    2015.10.19 08:04:35 5: SONOS0: SetData:Sonos:5:syn:192.168.1.250:Sonos_Bad,Sonos_Wohnzimmer,Sonos_WohnzimmerEG:RINCON_B8E937BB790201400_MR,RINCON_B8E9375D694601400_MR,RINCON_B8E937D9732201400_MR
    2015.10.19 08:04:35 5: SW: 536574446174613a536f6e6f733a353a73796e3a3139322e3136382e312e3235303a536f6e6f735f4261642c536f6e6f735f576f686e7a696d6d65722c536f6e6f735f576f686e7a696d6d657245473a52494e434f4e5f42384539333742423739303230313430305f4d522c52494e434f4e5f42384539333735443639343630313430305f4d522c52494e434f4e5f42384539333744393733323230313430305f4d520a
    2015.10.19 08:04:35 5: SONOS0: Received: 'SetData:Sonos:5:syn:192.168.1.250:Sonos_Bad,Sonos_Wohnzimmer,Sonos_WohnzimmerEG:RINCON_B8E937BB790201400_MR,RINCON_B8E9375D694601400_MR,RINCON_B8E937D9732201400_MR'
    2015.10.19 08:04:35 5: SONOS0: SetValues:SONOS:INTERVAL=30|NAME=Sonos|disable=0
    2015.10.19 08:04:35 5: SW: 53657456616c7565733a534f4e4f533a494e54455256414c3d33307c4e414d453d536f6e6f737c64697361626c653d300a
    2015.10.19 08:04:35 5: SONOS0: Received: 'SetValues:SONOS:INTERVAL=30|NAME=Sonos|disable=0'
    2015.10.19 08:04:35 5: SONOS0: SetValues:RINCON_B8E937BB790201400_MR:PlaylistsVersion=RINCON_B8E9375D694601400%2C1|getAlarms=1|fieldType=|roomName=Bad|OutputFixed=0|Volume=2|Bass=4|RadiosVersion=RINCON_B8E9375D694601400%2C21|currentAlbum=0|AlarmListIDs=~~NotLoadedMarker~~|roomNameAlias=Bad|roomIcon=bathroom|ZonePlayerUUIDsInGroup=RINCON_B8E937BB790201400|AlarmList=~~NotLoadedMarker~~|currentTitle=0|presence=disappeared|SleepTimerVersion=0|Loudness=1|QueueVersion=0|GroupVolume=2|Treble=1|GroupMute=0|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|ZoneGroupID=RINCON_B8E937BB790201400%3A__|HeadphoneConnected=0|Mute=0|AlarmListVersion=~~NotLoadedMarker~~|ZoneGroupName=Bad|minVolume=0|location=http%3A%2F%2F192.168.11.80%3A1400%2Fxml%2Fdevice_description.xml|currentArtist=0|NAME=Sonos_Bad|Balance=0|FavouritesVersion=RINCON_B8E9375D694601400%2C21
    2015.10.19 08:04:35 5: SW: 53657456616c7565733a52494e434f4e5f42384539333742423739303230313430305f4d523a506c61796c6973747356657273696f6e3d52494e434f4e5f4238453933373544363934363031343030253243317c676574416c61726d733d317c6669656c64547970653d7c726f6f6d4e616d653d4261647c4f757470757446697865643d307c566f6c756d653d327c426173733d347c526164696f7356657273696f6e3d52494e434f4e5f423845393337354436393436303134303025324332317c63757272656e74416c62756d3d307c416c61726d4c6973744944733d7e7e4e6f744c6f616465644d61726b65727e7e7c726f6f6d4e616d65416c6961733d4261647c726f6f6d49636f6e3d62617468726f6f6d7c5a6f6e65506c617965725555494473496e47726f75703d52494e434f4e5f42384539333742423739303230313430307c416c61726d4c6973743d7e7e4e6f744c6f616465644d61726b65727e7e7c63757272656e745469746c653d307c70726573656e63653d64697361707065617265647c536c65657054696d657256657273696f6e3d307c4c6f75646e6573733d317c517565756556657273696f6e3d307c47726f7570566f6c756d653d327c547265626c653d317c47726f75704d7574653d307c5175657565486173683d39613163376565326337636533386434626262616632396162396632616331657c5a6f6e6547726f757049443d52494e434f4e5f42384539333742423739303230313430302533415f5f7c4865616470686f6e65436f6e6e65637465643d307c4d7574653d307c416c61726d4c69737456657273696f6e3d7e7e4e6f744c6f616465644d61726b65727e7e7c5a6f6e6547726f75704e616d653d4261647c6d696e566f6c756d653d307c6c6f636174696f6e3d687474702533412532462532463139322e3136382e31312e383025334131343030253246786d6c2532466465766963655f6465736372697074696f6e2e786d6c7c63757272656e744172746973743d307c4e414d453d536f6e6f735f4261647c42616c616e63653d307c4661766f75726974657356657273696f6e3d52494e434f4e5f423845393337354436393436303134303025324332310a
    2015.10.19 08:04:35 5: SONOS0: Received: 'SetValues:RINCON_B8E937BB790201400_MR:PlaylistsVersion=RINCON_B8E9375D694601400%2C1|getAlarms=1|fieldType=|roomName=Bad|OutputFixed=0|Volume=2|Bass=4|RadiosVersion=RINCON_B8E9375D694601400%2C21|currentAlbum=0|AlarmListIDs=~~NotLoadedMarker~~|roomNameAlias=Bad|roomIcon=bathroom|ZonePlayerUUIDsInGroup=RINCON_B8E937BB790201400|AlarmList=~~NotLoadedMarker~~|currentTitle=0|presence=disappeared|SleepTimerVersion=0|Loudness=1|QueueVersion=0|GroupVolume=2|Treble=1|GroupMute=0|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|ZoneGroupID=RINCON_B8E937BB790201400%3A__|HeadphoneConnected=0|Mute=0|AlarmListVersion=~~NotLoadedMarker~~|ZoneGroupName=Bad|minVolume=0|location=http%3A%2F%2F192.168.11.80%3A1400%2Fxml%2Fdevice_description.xml|currentArtist=0|NAME=Sonos_Bad|Balance=0|FavouritesVersion=RINCON_B8E9375D694601400%2C21'
    2015.10.19 08:04:35 5: SONOS0: SetValues:RINCON_B8E9375D694601400_MR:presence=disappeared|SleepTimerVersion=0|AlarmList=~~NotLoadedMarker~~|ZonePlayerUUIDsInGroup=RINCON_B8E9375D694601400|roomIcon=living|currentTitle=0|roomNameAlias=WohnzimmerOG|AlarmListIDs=~~NotLoadedMarker~~|currentAlbum=0|RadiosVersion=RINCON_B8E9375D694601400%2C21|Bass=6|Volume=5|fieldType=|getAlarms=1|PlaylistsVersion=RINCON_B8E9375D694601400%2C1|OutputFixed=0|roomName=WohnzimmerOG|currentArtist=0|location=http%3A%2F%2F192.168.11.81%3A1400%2Fxml%2Fdevice_description.xml|ZoneGroupName=WohnzimmerOG|AlarmListVersion=~~NotLoadedMarker~~|minVolume=0|FavouritesVersion=RINCON_B8E9375D694601400%2C21|Balance=0|NAME=Sonos_Wohnzimmer|GroupMute=0|Treble=2|GroupVolume=5|Mute=0|HeadphoneConnected=0|ZoneGroupID=RINCON_B8E9375D694601400%3A__|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|QueueVersion=0|Loudness=1
    2015.10.19 08:04:35 5: SW: 53657456616c7565733a52494e434f4e5f42384539333735443639343630313430305f4d523a70726573656e63653d64697361707065617265647c536c65657054696d657256657273696f6e3d307c416c61726d4c6973743d7e7e4e6f744c6f616465644d61726b65727e7e7c5a6f6e65506c617965725555494473496e47726f75703d52494e434f4e5f42384539333735443639343630313430307c726f6f6d49636f6e3d6c6976696e677c63757272656e745469746c653d307c726f6f6d4e616d65416c6961733d576f686e7a696d6d65724f477c416c61726d4c6973744944733d7e7e4e6f744c6f616465644d61726b65727e7e7c63757272656e74416c62756d3d307c526164696f7356657273696f6e3d52494e434f4e5f423845393337354436393436303134303025324332317c426173733d367c566f6c756d653d357c6669656c64547970653d7c676574416c61726d733d317c506c61796c6973747356657273696f6e3d52494e434f4e5f4238453933373544363934363031343030253243317c4f757470757446697865643d307c726f6f6d4e616d653d576f686e7a696d6d65724f477c63757272656e744172746973743d307c6c6f636174696f6e3d687474702533412532462532463139322e3136382e31312e383125334131343030253246786d6c2532466465766963655f6465736372697074696f6e2e786d6c7c5a6f6e6547726f75704e616d653d576f686e7a696d6d65724f477c416c61726d4c69737456657273696f6e3d7e7e4e6f744c6f616465644d61726b65727e7e7c6d696e566f6c756d653d307c4661766f75726974657356657273696f6e3d52494e434f4e5f423845393337354436393436303134303025324332317c42616c616e63653d307c4e414d453d536f6e6f735f576f686e7a696d6d65727c47726f75704d7574653d307c547265626c653d327c47726f7570566f6c756d653d357c4d7574653d307c4865616470686f6e65436f6e6e65637465643d307c5a6f6e6547726f757049443d52494e434f4e5f42384539333735443639343630313430302533415f5f7c5175657565486173683d39613163376565326337636533386434626262616632396162396632616331657c517565756556657273696f6e3d307c4c6f75646e6573733d310a
    2015.10.19 08:04:35 5: SONOS0: Received: 'SetValues:RINCON_B8E9375D694601400_MR:presence=disappeared|SleepTimerVersion=0|AlarmList=~~NotLoadedMarker~~|ZonePlayerUUIDsInGroup=RINCON_B8E9375D694601400|roomIcon=living|currentTitle=0|roomNameAlias=WohnzimmerOG|AlarmListIDs=~~NotLoadedMarker~~|currentAlbum=0|RadiosVersion=RINCON_B8E9375D694601400%2C21|Bass=6|Volume=5|fieldType=|getAlarms=1|PlaylistsVersion=RINCON_B8E9375D694601400%2C1|OutputFixed=0|roomName=WohnzimmerOG|currentArtist=0|location=http%3A%2F%2F192.168.11.81%3A1400%2Fxml%2Fdevice_description.xml|ZoneGroupName=WohnzimmerOG|AlarmListVersion=~~NotLoadedMarker~~|minVolume=0|FavouritesVersion=RINCON_B8E9375D694601400%2C21|Balance=0|NAME=Sonos_Wohnzimmer|GroupMute=0|Treble=2|GroupVolume=5|Mute=0|HeadphoneConnected=0|ZoneGroupID=RINCON_B8E9375D694601400%3A__|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|QueueVersion=0|Loudness=1'
    2015.10.19 08:04:35 5: SONOS0: SetValues:RINCON_B8E937D9732201400_MR:ZoneGroupID=RINCON_B8E937D9732201400%3A__|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|HeadphoneConnected=0|Mute=0|GroupVolume=15|GroupMute=0|Treble=3|Balance=0|NAME=Sonos_WohnzimmerEG|FavouritesVersion=RINCON_B8E9375D694601400%2C21|AlarmListVersion=~~NotLoadedMarker~~|ZoneGroupName=WohnzimmerEG|minVolume=0|currentArtist=0|location=http%3A%2F%2F192.168.11.79%3A1400%2Fxml%2Fdevice_description.xml|Loudness=1|QueueVersion=0|currentTitle=0|roomIcon=living|ZonePlayerUUIDsInGroup=RINCON_B8E937D9732201400|AlarmList=~~NotLoadedMarker~~|SleepTimerVersion=0|presence=disappeared|roomName=WohnzimmerEG|OutputFixed=0|getAlarms=1|PlaylistsVersion=RINCON_B8E9375D694601400%2C1|fieldType=|disable=1|RadiosVersion=RINCON_B8E9375D694601400%2C21|Bass=6|Volume=15|AlarmListIDs=~~NotLoadedMarker~~|roomNameAlias=WohnzimmerEG|currentAlbum=0
    2015.10.19 08:04:35 5: SW: 53657456616c7565733a52494e434f4e5f42384539333744393733323230313430305f4d523a5a6f6e6547726f757049443d52494e434f4e5f42384539333744393733323230313430302533415f5f7c5175657565486173683d39613163376565326337636533386434626262616632396162396632616331657c4865616470686f6e65436f6e6e65637465643d307c4d7574653d307c47726f7570566f6c756d653d31357c47726f75704d7574653d307c547265626c653d337c42616c616e63653d307c4e414d453d536f6e6f735f576f686e7a696d6d657245477c4661766f75726974657356657273696f6e3d52494e434f4e5f423845393337354436393436303134303025324332317c416c61726d4c69737456657273696f6e3d7e7e4e6f744c6f616465644d61726b65727e7e7c5a6f6e6547726f75704e616d653d576f686e7a696d6d657245477c6d696e566f6c756d653d307c63757272656e744172746973743d307c6c6f636174696f6e3d687474702533412532462532463139322e3136382e31312e373925334131343030253246786d6c2532466465766963655f6465736372697074696f6e2e786d6c7c4c6f75646e6573733d317c517565756556657273696f6e3d307c63757272656e745469746c653d307c726f6f6d49636f6e3d6c6976696e677c5a6f6e65506c617965725555494473496e47726f75703d52494e434f4e5f42384539333744393733323230313430307c416c61726d4c6973743d7e7e4e6f744c6f616465644d61726b65727e7e7c536c65657054696d657256657273696f6e3d307c70726573656e63653d64697361707065617265647c726f6f6d4e616d653d576f686e7a696d6d657245477c4f757470757446697865643d307c676574416c61726d733d317c506c61796c6973747356657273696f6e3d52494e434f4e5f4238453933373544363934363031343030253243317c6669656c64547970653d7c64697361626c653d317c526164696f7356657273696f6e3d52494e434f4e5f423845393337354436393436303134303025324332317c426173733d367c566f6c756d653d31357c416c61726d4c6973744944733d7e7e4e6f744c6f616465644d61726b65727e7e7c726f6f6d4e616d65416c6961733d576f686e7a696d6d657245477c63757272656e74416c62756d3d300a
    2015.10.19 08:04:35 5: SONOS0: Received: 'SetValues:RINCON_B8E937D9732201400_MR:ZoneGroupID=RINCON_B8E937D9732201400%3A__|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|HeadphoneConnected=0|Mute=0|GroupVolume=15|GroupMute=0|Treble=3|Balance=0|NAME=Sonos_WohnzimmerEG|FavouritesVersion=RINCON_B8E9375D694601400%2C21|AlarmListVersion=~~NotLoadedMarker~~|ZoneGroupName=WohnzimmerEG|minVolume=0|currentArtist=0|location=http%3A%2F%2F192.168.11.79%3A1400%2Fxml%2Fdevice_description.xml|Loudness=1|QueueVersion=0|currentTitle=0|roomIcon=living|ZonePlayerUUIDsInGroup=RINCON_B8E937D9732201400|AlarmList=~~NotLoadedMarker~~|SleepTimerVersion=0|presence=disappeared|roomName=WohnzimmerEG|OutputFixed=0|getAlarms=1|PlaylistsVersion=RINCON_B8E9375D694601400%2C1|fieldType=|disable=1|RadiosVersion=RINCON_B8E9375D694601400%2C21|Bass=6|Volume=15|AlarmListIDs=~~NotLoadedMarker~~|roomNameAlias=WohnzimmerEG|currentAlbum=0'
    2015.10.19 08:04:35 5: SW: 53746172745468726561640a
    2015.10.19 08:04:35 5: SONOS0: Received: 'StartThread'



    Und hier der verbose 5 vor und nach dem Auftreten der Meldung:

    2015.10.19 08:07:35 4: SONOS2: 192.168.11.81 is alive
    2015.10.19 08:07:37 3: SONOS0: Connection accepted from localhost:38299
    2015.10.19 08:07:37 5: SONOS0: Received: 'hello'
    2015.10.19 08:07:37 5: SONOS0: Received: 'goaway'
    2015.10.19 08:07:37 4: SONOS0: Got correct Answer from Subprocess...
    Loading device description failed with error: 500 Can't connect to 192.168.1.250:49152 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.250:49152 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1.
    2015.10.19 08:08:05 4: SONOS2: IsAlive-Event UDN=RINCON_B8E937D9732201400_MR
    2015.10.19 08:08:05 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_B8E937D9732201400_MR, reading, location, ) -> http://192.168.11.79:1400/xml/device_description.xml
    2015.10.19 08:08:05 5: SONOS2: Location: http://192.168.11.79:1400/xml/device_description.xml
    2015.10.19 08:08:05 5: SONOS2: PingType: syn
    2015.10.19 08:08:05 4: SONOS2: 192.168.11.79 is alive
    2015.10.19 08:08:05 4: SONOS2: IsAlive-Event UDN=RINCON_B8E937BB790201400_MR
    2015.10.19 08:08:05 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_B8E937BB790201400_MR, reading, location, ) -> http://192.168.11.80:1400/xml/device_description.xml
    2015.10.19 08:08:05 5: SONOS2: Location: http://192.168.11.80:1400/xml/device_description.xml
    2015.10.19 08:08:05 5: SONOS2: PingType: syn
    2015.10.19 08:08:05 4: SONOS2: 192.168.11.80 is alive
    2015.10.19 08:08:05 4: SONOS2: IsAlive-Event UDN=RINCON_B8E9375D694601400_MR
    2015.10.19 08:08:05 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_B8E9375D694601400_MR, reading, location, ) -> http://192.168.11.81:1400/xml/device_description.xml
    2015.10.19 08:08:05 5: SONOS2: Location: http://192.168.11.81:1400/xml/device_description.xml
    2015.10.19 08:08:05 5: SONOS2: PingType: syn
    2015.10.19 08:08:05 4: SONOS2: 192.168.11.81 is alive
    2015.10.19 08:08:07 3: SONOS0: Connection accepted from localhost:38315
    2015.10.19 08:08:07 5: SONOS0: Received: 'hello'
    2015.10.19 08:08:07 5: SONOS0: Received: 'goaway'
    2015.10.19 08:08:07 4: SONOS0: Got correct Answer from Subprocess...
    Loading device description failed with error: 500 Can't connect to 192.168.1.250:49152 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1.
    2015.10.19 08:08:36 4: SONOS2: IsAlive-Event UDN=RINCON_B8E937D9732201400_MR
    2015.10.19 08:08:36 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_B8E937D9732201400_MR, reading, location, ) -> http://192.168.11.79:1400/xml/device_description.xml
    2015.10.19 08:08:36 5: SONOS2: Location: http://192.168.11.79:1400/xml/device_description.xml
    2015.10.19 08:08:36 5: SONOS2: PingType: syn
    2015.10.19 08:08:36 4: SONOS2: 192.168.11.79 is alive
    2015.10.19 08:08:36 4: SONOS2: IsAlive-Event UDN=RINCON_B8E937BB790201400_MR
    2015.10.19 08:08:36 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_B8E937BB790201400_MR, reading, location, ) -> http://192.168.11.80:1400/xml/device_description.xml
    2015.10.19 08:08:36 5: SONOS2: Location: http://192.168.11.80:1400/xml/device_description.xml
    2015.10.19 08:08:36 5: SONOS2: PingType: syn
    2015.10.19 08:08:36 4: SONOS2: 192.168.11.80 is alive
    2015.10.19 08:08:36 4: SONOS2: IsAlive-Event UDN=RINCON_B8E9375D694601400_MR
    2015.10.19 08:08:36 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_B8E9375D694601400_MR, reading, location, ) -> http://192.168.11.81:1400/xml/device_description.xml
    2015.10.19 08:08:36 5: SONOS2: Location: http://192.168.11.81:1400/xml/device_description.xml
    2015.10.19 08:08:36 5: SONOS2: PingType: syn
    2015.10.19 08:08:36 4: SONOS2: 192.168.11.81 is alive
    2015.10.19 08:08:37 3: SONOS0: Connection accepted from localhost:38327
    2015.10.19 08:08:37 5: SONOS0: Received: 'hello'
    2015.10.19 08:08:37 5: SONOS0: Received: 'goaway'
    2015.10.19 08:08:37 4: SONOS0: Got correct Answer from Subprocess...
    Loading device description failed with error: 500 Can't connect to 192.168.1.250:49152 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Oktober 2015, 09:45:10
    Hallo Benjamin,

    das ist komisch. Der Wert für den zu ignorierenden Rechner wird korrekt an den Client-Prozess übertragen, und sollte dementsprechend auch ignoriert werden...
    Das kann ich mir jetzt irgendwie auch nicht erklären.

    Sind die beiden UPnP-Dateien (Controlpoint.pm und Common.pm) im lib-Ordner auch aktuell? In der Datei ControlPoint.pm in der Prozedur handleOnce (um die Zeile 140 rum) gibt es ein entsprechendes Return-Statement bei Existenz in IGNOREIPS()...

    Kannst du das kurz sicherstellen?
    Danke schon mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 19 Oktober 2015, 10:06:13
    Wenn "normale" Class C Netze verwendet werden, dann sind nicht alle Sonos Systems in einem Netz. Das würde ich erst einmal gerade ziehen.

    2015.10.19 08:04:35 5: SONOS0: SetData:Sonos:5:syn:192.168.1.250
    2015.10.19 08:08:05 5: SONOS2: Location: http://192.168.11.80
    Titel: Antw:Sonos steuern
    Beitrag von: naimo am 19 Oktober 2015, 10:17:56
    Hallo Reiner,

    bin gerade in der Arbeit. Ich werde mir die von dir genannte Stelle heut Abend mal anschauen und melde mich dann wieder.
    Ich hab zu danken :)

    Hallo dev0,

    ich habe alle drei Sonos bzw. alle meine Clients im 192.168.11.1/24
    Das 192.168.1.1/24 Netz habe ich noch nie verwendet.

    Oder was meinst du mit gerade ziehen?

    EDIT: Eine Sonos Play:1 hängt per Kabel am Router, eine Play:1 und eine Play:3 sind kabellos. Allerdings nicht für WLAN konfiguriert, sondern die nutzen das SonosNet?! Da bin ich noch nicht so richtig durchgestiegen, warum ich denen dann trotzdem per DHCP eine IP zuweisen kann :) Kann das das Problem sein? Muss ich die kabellosen über WLAN einbinden? Bis mein Bruder mit seiner Play:3 dazu kam war das auch so konfiguriert (eine am Kabel, eine kabellos über das SonosNet)

    Beste Grüße
    Benjamin
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 19 Oktober 2015, 11:56:44
    Ich würde (mit der Glaskugel an meiner Seite ;) ) vermuten, dass das Netz Deines Brudes das 192.168.1.0/?? ist und Ihr das "einfach so" verbunden habt. Kann das sein?
    Titel: Antw:Sonos steuern
    Beitrag von: naimo am 19 Oktober 2015, 12:21:15
    Ne, dann wär's mir klar, woher's kommt ;)
    Die Play:3 is auch schon immer in einem 192.168.11.1/24 Netz gelaufen :) Hab alles ich einrichten dürfen.
    Einfach so haben wir es nicht verbunden. Gab schon einen "Plan" ;)

    Wir nutzen nun beide auch nur ein Netz und einen DHCP.

    Keine der Sonos dürfte, von unserer Seite her, je in Berührung mit einem 192.168.1.0/?? Netz gekommen sein :)
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 19 Oktober 2015, 12:50:38
    Hat dein Bruder sonst noch etwas mitgebracht ? Evt. einen Router (der jetzt nur noch als Switch verwendet wird) ? 192.168.1.250 ist eine bekannte Default-Adresse von Linksys
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 19 Oktober 2015, 12:50:52
    Zitat von: naimo am 19 Oktober 2015, 12:21:15
    Keine der Sonos dürfte, von unserer Seite her, je in Berührung mit einem 192.168.1.0/?? Netz gekommen sein :)

    Aber ein Gerät im Netz medet sich (über upnp?) mit der IP 1.250 in Eurem Netz und das ist nicht ok, nach meinem Verständniss zumidest. Ob diese IP ggf. über die Sonos Bridge kommt weiss ich nicht, kenne die Bridge nicht. Eine übliche Bridge verbindet gleiche IP Bereiche.


    2015.10.19 08:04:35 5: SONOS0: SetData:Sonos:5:syn:192.168.1.250:Sonos_Bad,Sonos_Wohnzimmer,Sonos_WohnzimmerEG:RINCON_B8E937BB790201400_MR,RINCON_B8E9375D694601400_MR,RINCON_B8E937D9732201400_MR


    Schau doch mal in die arp table auf deinem Server, vielleicht kannst Du das Gerät anhand der MAC Adresse identifizieren.
    Titel: Antw:Sonos steuern
    Beitrag von: naimo am 19 Oktober 2015, 13:03:12
    Die arp Tabelle ist eine super Idee, danke :) Werd ich heut Abend gleich mal anschauen.

    Mein Bruder hat nix an Netzwerktechnik mitgebracht, alles meins :)

    Vielen vielen Dank euch schon mal für die tollen Ideen ;)
    Titel: Antw:Sonos steuern
    Beitrag von: naimo am 19 Oktober 2015, 19:22:11
    Hallo Leute,

    also leider hat weder die Suche nach komischen UPnP Geräten etwas ergeben, noch ein arp -a  :'(

    Aber an der Codestelle von Dir Reiner sollte IgnoreIP doch funktionieren, oder? :)

    sub handleOnce {
            my $self = shift;
            my $socket = shift;

            if ($socket == $self->{_searchSocket}) {
                    $self->_receiveSearchResponse($socket);
            }
            elsif ($socket == $self->{_ssdpMulticastSocket}) {
                    $self->_receiveSSDPEvent($socket);
            }
            elsif ($socket == $self->{_subscriptionSocket}) {
                    if (my $connect = $socket->accept()) {
                            return if ($IGNOREIP{$connect->peerhost()});
                            $self->_receiveSubscriptionNotification($connect);
                    }
            }
    }


    EDIT:

    Hab über die Ubuntu UPnP Tools doch noch etwas gefunden:

    resource available
      USN:      uuid:28802880-2880-1880-a880-6cb0ce207076::urn:schemas-wifialliance-org:device:WFADevice:1
      Location: http://192.168.1.250:49152/description.xml
    resource available
      USN:      uuid:28802880-2880-1880-a880-6cb0ce207076::urn:schemas-wifialliance-org:service:WFAWLANConfig:1
      Location: http://192.168.1.250:49152/description.xml


    Hab die Mac Addresse zu meinem Netgear EX2700 Repeater zurückverfolgt, dieser hat aber eine .11 IP-Addresse... Ich versteh es nicht mehr...
    Titel: Antw:Sonos steuern
    Beitrag von: naimo am 19 Oktober 2015, 21:47:00
    Hab's gefunden :D

    Die WPS Funktionalität meines Netgear EX2700 war der Auslöser. Keine Ahnung, wieso das jetzt erst auftritt...

    WPS deaktiviert und die Meldung ist weg. Vielen Dank euch nochmal für die super Hinweise ;)

    Hoffe, auch ich kann bald jemand hier ausm Forum weiter helfen
    Titel: Antw:Sonos steuern
    Beitrag von: coolice am 24 Oktober 2015, 15:15:18
    Zitat von: andre07 am 23 September 2015, 12:09:26
    Auch wenn ich ein chmod 777 mache funktioniert es nicht.
    Was sagt mir diesese Fehlermeldung die ich bekomme wenn ich die sprachausgabe nutze
    PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    bekomme ich leider auch. Suche noch nach der Lösung. Berechtigung ist auf 777 und der Pfad sollte auch stimmen. Probiere noch rum.
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 29 Oktober 2015, 16:24:34
    Hallo,

    (ich glaube) im Zusammenhang mit dem Sonos-Modul habe ich seit einigen Tagen die folgende Meldung im Log:


    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 8.


    Aus der Forensuche bin ich nicht wirklich schlau geworden, woran ich drehen könnte. Hat jemand eine zündende Idee?

    00_SONOS.pm          9014 2015-08-02 12:53:12Z rleins
    21_SONOSPLAYER.pm    9014 2015-08-02 12:53:12Z rleins
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 30 Oktober 2015, 15:09:21
    In dieser Datei:
    /usr/share/perl/5.20/IO/Socket/IP.pm

    muss etwas auskommentiert werden , was mit der Verwendung von SSL zu tun hat. Weiter oben gibt es dazu einen Beitrag von Jusme1968.
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 30 Oktober 2015, 17:00:13
    Danke für Deine Antwort.

    Meinst Du http://forum.fhem.de/index.php/topic,10033.msg259741.html#msg259741 ?

    Da ist in Zeile 352 eher nichts, was mit SSL zu tun hat. Das hat eher was mit einer neuen Instanz oder so zu tun.
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 30 Oktober 2015, 17:03:23
    ja. genau dieser. da steht doch auch warum der workaround hilft.
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 30 Oktober 2015, 18:18:48
    Danke. Ich hätte auch den Kontext lesen sollen  8).

    Hab's nun entsprechend Deinem Tipp auskommentiert. Nun ist Ruhe.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 31 Oktober 2015, 15:39:14
    Wenn bei einer Sonos Gruppe, der Masterplayer in den transportState STOPPED oder PAUSED_PLAYBACK wechselt, dann belibt der transportState des Slaves weiterhin auf PLAYING stehen. Für das smartVISU Sonos Widget habe ich zwar einen Workaround in den fronthem Converter eingebaut, der das abfängt, aber ich bin gerade bei einem Workflow wieder darüber gestolpert...

    @Reiner: Kannst Du das bitte fixen oder ist das bewußt so?

    /Uli
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Oktober 2015, 19:35:56
    Hallo Uli,

    das mit dem Transportstate wird so vom Player geliefert. Im Prinzip ist das ja auch korrekt so.

    Ich wollte das jetzt ungern umschrauben, da das immer bedeutet, dass ich den Status beim Master abfrage, bzw. bei einer Statusänderung am Master alle Slaves mit aktualisieren müsste... das dauert CPU-Zeit, und nicht jeder braucht das.
    Außerdem repräsentiert das Fhem-Device dann nicht mehr den Original-Zustand des Playerdevices. Das ist ja auch nicht wirklich gut.
    Sowas muss immer in der Darstellungsschicht aufgearbeitet werden, da verschiedene Darstellungen ja auch verschiedene Anforderungen haben (könnten).

    Fhem hat jetzt leider keine direkte Controller-Schicht, die diese internen Informationen dann an eine View-Schicht weiterreichen könnte... vielleicht könnte man da was mit dem Modul ReadingsProxy in Zusammenhang mit userReadings machen... das ist aber sehr individuell...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 01 November 2015, 06:45:42
    Hey Reiner,

    Zitat von: Reinerlein am 31 Oktober 2015, 19:35:56
    das mit dem Transportstate wird so vom Player geliefert. Im Prinzip ist das ja auch korrekt so.
    Dann habe ich das Prinzip oder die Logik wirklich nicht verstanden, aber wenn der Player das so liefert, dann finde ich es völlig ok das nicht zu ändern.
    Ich habe die Player eh schon um (Start,Stop,Pause,...) Readings erweitert, die den Zustand mit 0 und 1 darstellen, wird über ein Notify getriggert. Hatte gestern nur nicht mehr daran gedacht wieso ich das eingebaut hatte ;)

    Eine ganz andere Frage habe ich aber noch: Es kommt regelmäßig vor, dass FHEM für 1-3s, seltener auch bis zu 10s, einfriert. Diese Freezes treten bei Statusänderunden der Player auf (Abspielen start, gruppieren, etc.). Hast Du noch vor, das auf non-blocking umzustellen (wenn es überhaupt möglich ist) oder macht es Sinn Sonos in eine eigene FHEM Instanz zu verbannen?

    /Uli
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 November 2015, 10:50:01
    Hi Uli,

    zu dem Transportstate: Naja, der zweite Player spielt die ganze Zeit das ab, was der erste Player liefert. Wenn der nichts liefert, kommt halt nichts raus, es wird aber trotzdem aktiv auf dem Stream gelauscht, und, wenn was kommt, das abgespielt.
    Das ist vielleicht vergleichbar mit einem Webserver. Der läuft ja auch aktiv und wartet auf Browserverbindungen, die er bedienen kann. Nur weil es gerade keine Clients gibt, ist der Neue-Clients-Lausch-Prozess ja trotzdem aktiv....

    Aber zum Freeze: eigentlich sollte kein solcher Freeze auftreten. Die gesamte Kommunikation mit den Playern läuft ja in dem eigenständigen Prozess ab.
    Aber natürlich werden mal mehr oder weniger Daten vom SubProzess an Fhem übertragen. Irgendwann will man schließlich die Informationen mal sehen... Alles was Non-Blocking geht, ist damit also umgesetzt. Das Übertragen an Fhem selbst geht ja nunmal nicht Non-Blocking.

    Diese Informationen werden sind bei einem Titelwechsel ja eine ganze Menge, oder bei einem Gruppierungswechsel oder Alarmaktualisierungen. Aber es sind auch nicht so viele, dass Fhem dabei nennenswert behindert werden sollte.
    Aber prinzipiell hast du natürlich Recht: Ab einer bestimmten Menge an Aktualisierungen (sprich ab einer bestimmten Menge an Playern, die gerade aktiv genutzt werden) wird es z.B. mit einem Raspberry eng an der CPU-Front.
    Ich habe z.B. das Problem, dass meine beiden Kinder je einen Player haben. Die hören auf eine andere Art und Weise Musik :) Bei mir läuft so eine Liste oder das Radio einfach durch, habe also alle paar Minuten mal einen Titelwechsel. Bei den Kindern wird ständig vor- und zurückgesprungen und kurz mal pausiert und wieder angestartet und so weiter... das ist dann die Hölle bei Fhem :)

    Also auslagern nur dann, wenn es eine Leistungsfähigere Maschine ist. Aber auch dann müssen die Infos durchs Netz (z.B. über Fhem2Fhem) kommen. Oder das ganze Fhem zieht auf eine solche Maschine um...
    Oder mal die ganzen Notifies, die man so für die Player hat, überprüfen. Vielleicht hat sich da auch eine ungünstige Verkettung ergeben...

    Das ganze ist nicht so einfach zu entscheiden :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 02 November 2015, 07:32:44
    Hi Reiner,
    die Freezes scheinen tatsächlich von einer hohen CPU Auslastung auf einem Kern herzurühren. Die Hardware (4x 1.7GHz Cortex-A9, 2Gbyte LPDDR2, eMMC4 NAND, Ubuntu 14.04 Server) finde ich persönlich für den Einsatztweck aber gar nicht so unterdimensioniert. Ethernet ist allerdings bei dem Board nur über USB2.0 angebunden. Interessanterweise lassen sich die Freezes nicht immer reproduzieren, auch wenn ich alle zusätzlichen Notifies deaktiviere. Teilweise kann ich 3 Strereopärchen gruppieren ohne eine nennenswerte Verzögerung, dann mal wieder 1-3s Stillstand... Ohne Aktionen von Sonos liegt die CPU Auslastung max. um 8-9% und der Systemload ist mit unter 0.1 auch ok.
    Ich denke, dass eine 2. Instanz auf der selben Maschine etwas bringen könnte um die Hauptinstanz zu entlasten. Mal sehen, wenn ich etwas Luft habe werde ich es mal testen. Ich hätte zwar noch einen unausgelasteten und potenten XEON Server hier, aber das wäre mit Kanon auf Spatzen für ein FHEM, finde ich.
    Lese ich das zwischen den Zeilen richtig, dass bei Dir diese Verzögerungen auch auftreten, wenn Deine Kinder zappen?

    /Uli
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 November 2015, 10:47:16
    Hi Uli,

    wenn meine Kinder zappen, habe ich bislang keine Freezes, sondern die Informationen brauchen ein wenig, um in Fhem anzukommen, und die CPU-Last schlägt oben an. Ich habe das aber auch nur auf einem Pi laufen.
    Deine Hardware erscheint mir aber mehr als ausreichend für diese Aufgabe :)

    Was du vielleicht auch versuchen kannst, ist den SubProzess einer anderen CPU zuordnen (sofern das so einfach geht).
    Des Weiteren kannst du den SubProzess selber auf einer anderen Maschine starten, und in Fhem dann die entsprechenden Verbindungsdaten (Host und Port) am Sonos-Device bei der Definition mitteilen. Dann startet Fhem keinen eigenen SubProzess, sondern verwendet den von dir gestarteten (der überlebt dann auch einen Fhem-Neustart, da nur die Verbindung dorthin neu gemacht wird, das bedeutet, dass du nach einem Sonos-Modul Update diesen SubProzess selber neustarten musst).

    Mir sieht das eher nach einer Zusammenwirkung von mehreren Themen aus. Das ist immer schwierig zu finden, und meistens überhaupt nicht zu lösen.
    Eine solche Fehlersuche fängt ja, wie von dir ja schon gemacht, immer mit dem Nachstellen und Reproduzieren an. Wenn man da schon nicht so richtig vorankommt, ist es auch schwierig eine Verbesserung festzustellen.

    Tut mir leid, wenn ich dir da keine besseren Tips geben kann...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 03 November 2015, 07:07:54
    Zitat von: Reinerlein am 02 November 2015, 10:47:16
    Was du vielleicht auch versuchen kannst, ist den SubProzess einer anderen CPU zuordnen (sofern das so einfach geht).
    Das geht, aber der Scheduler unter Linux kann die CPU Affinity Mask in der Regel besser verwalten, wenn man nicht eingreift. Aber die Idee den Subprozess auszulagern finde ich interessant. Wie starte ich den Subprozess auf dem anderen Rechner? Erschließt sich mir gerade leider nicht.

    Vielen Dank schon mal für Deine freundliche Unterstützung!

    /Uli
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 November 2015, 09:31:24
    Hallo Uli,

    das hänge ich auch nicht an die große Glocke, da der Supportaufwand da u.U. groß sein kann :)
    Es steht ein kleiner Hinweis in der Commandref.

    Mit

    perl 00_SONOS.pm <ServerPort> <Verboselevel>
    kannst du den eigenständigen Prozess starten. Dieser lauscht auf dem angegebenen Port, und hat den angegebenen Verboselevel für die Logausgabe (auf der Konsole).

    In Fhem musst du beim Define des Sonos-Devices dann den Namen oder die IP des Rechners, auf dem der Prozess läuft, angeben, und die beim Start vergebene Portnummer.
    Der SubProzess muss bereits laufen, wenn Fhem versucht darauf zuzugreifen!

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 03 November 2015, 11:15:15
    Zitat von: dev0 am 31 Oktober 2015, 15:39:14
    Wenn bei einer Sonos Gruppe, der Masterplayer in den transportState STOPPED oder PAUSED_PLAYBACK wechselt, dann belibt der transportState des Slaves weiterhin auf PLAYING stehen. Für das smartVISU Sonos Widget habe ich zwar einen Workaround in den fronthem Converter eingebaut, der das abfängt, aber ich bin gerade bei einem Workflow wieder darüber gestolpert...

    @Reiner: Kannst Du das bitte fixen oder ist das bewußt so?

    /Uli


    Mir hat da geholfen ein eigenes Reading für state zu definieren (habe es state2 genannt) und über stateFormat auch als STATE zu verwenden.
    Habe ich hier (http://forum.fhem.de/index.php/topic,42116.0.html) mal gepostet gehabt.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 03 November 2015, 11:40:44
    Danke Reiner,

    funktioniert auf Anhieb. Allerdings bleibt das Problem bestehen. Die CPU Last geht weiterhin kurzfristig auf 100%, wenn ich Player gruppiere.
    Wenn ich das über die command line ausführe, dann sind die Freezes auch reproduzier bar:

    group
    2015.11.03 11:20:49.394 1: Perfmon: possible freeze starting at 11:20:45, delay is 4.394
    2015.11.03 11:20:51.728 1: Perfmon: possible freeze starting at 11:20:50, delay is 1.728
    2015.11.03 11:20:53.150 1: Perfmon: possible freeze starting at 11:20:52, delay is 1.15

    ungroup
    2015.11.03 11:21:21.705 1: Perfmon: possible freeze starting at 11:21:19, delay is 2.705
    2015.11.03 11:21:23.033 1: Perfmon: possible freeze starting at 11:21:22, delay is 1.033

    track wechsel
    2015.11.03 11:24:50.801 1: Perfmon: possible freeze starting at 11:24:50, delay is 1.05

    Auffällig finde ich, dass beim Gruppieren 3 und beim Aufheben der Gruppen 2 Freezes nacheinander auftreten...

    Aber wenn ich wirklich der Einzige bin, bei dem das auftritt oder dem das schon mal störend aufgefallen ist, dann mach Dir keine weiteren Gedanken darum, Reiner. Dann muss ich das halt wirklich mit FHEM2FHEM und RFHEM auslagern. Schade, dass es noch kein Tool/Modul gibt, mit dem das bidirektional out of the box "mal eben" funktioniert.

    @Loredo: Danke für den Tipp, ich hatte das ähnlich gelöst ;)

    /Uli
    Titel: Antw:Sonos steuern
    Beitrag von: SVLoneStar am 05 November 2015, 01:06:30
    Hallo Reiner,
    folgendes Problem: Nach einem Neustart meines CubieTruck erhalte ich (gefühlt) 5000 Einträge folgender Meldung im Log :

    Loading device description failed with error: 200 OK at ./FHEM/00_SONOS.pm line 3591 thread 1.

    Es sind zwei Sonos:Play1 im Einsatz, bei beiden und auch beim Sonos-Device steht der LogLevel auf 1.

    Was ist zu tun? Benötigst Du weitere Informationen?

    Besten Dank,
    Stefan

    Edit: Post gekürzt, sorry.
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 05 November 2015, 10:40:12
    Sorry, aber das bring nun rein gar nichts:
    Loading device description failed with error: 200 OK at ./FHEM/00_SONOS.pm line 3591 thread 1.

    davon 5000 Zeilen hier zu veröffentlichen. Dadurch wird der eh schon lange tret (Beitrag) nur noch länger und es dauert entsprechend lange, bis die Antwort auf den Server  hochgeladen wurde und
    ich benutze einen  Screenreader und die vielen völlig  aussagelosen, unnützen Zeilenwiederholungen sind für mich eine Barriere.
    Also bitte mit Verstand Infos einstellen. Danke.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: SVLoneStar am 05 November 2015, 10:50:48
    Zitat von: Elektrolurch am 05 November 2015, 10:40:12
    Sorry, aber das bring nun rein gar nichts:
    Loading device description failed with error: 200 OK at ./FHEM/00_SONOS.pm line 3591 thread 1.

    davon 5000 Zeilen hier zu veröffentlichen. Dadurch wird der eh schon lange tret (Beitrag) nur noch länger und es dauert entsprechend lange, bis die Antwort auf den Server  hochgeladen wurde und
    ich benutze einen  Screenreader und die vielen völlig  aussagelosen, unnützen Zeilenwiederholungen sind für mich eine Barriere.
    Also bitte mit Verstand Infos einstellen. Danke.

    Elektrolurch

    Hallo Elektrolurch,
    entschuldigung - verstanden und geändert.

    Gruß,
    Stefan
    Titel: Antw:Sonos steuern
    Beitrag von: Spuckiii am 05 November 2015, 16:50:17
    Hab da mal eine kurze Frage. Die SuFu hat mir leider nichts ausgespuckt. Ist es möglich z.b. im Schlafzimmer und im Kinderzimmer je 1 Sonos Box aufzustellen und so einzustellen dass z.b. das Tablett im Kinderzimmer nur auf seine SonosBox drauf zu greifen kann und nicht auch auf die im Schlafzimmer? ggfs. auch nur auf 1 dem Player zugewiesene Abspielliste?
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 05 November 2015, 16:51:21
    Zitat von: Spuckiii am 05 November 2015, 16:50:17
    Hab da mal eine kurze Frage. Die SuFu hat mir leider nichts ausgespuckt. Ist es möglich z.b. im Schlafzimmer und im Kinderzimmer je 1 Sonos Box aufzustellen und so einzustellen dass z.b. das Tablett im Kinderzimmer nur auf seine SonosBox drauf zu greifen kann und nicht auch auf die im Schlafzimmer? ggfs. auch nur auf 1 dem Player zugewiesene Abspielliste?


    Das geht nur mit unterschiedlichen Broadcast Domains und eigenem WLAN.
    Titel: Antw:Sonos steuern
    Beitrag von: stenny73 am 07 November 2015, 09:05:07
    Hallo.

    Seit langem spiele ich mal wieder mit meinen Sonos System herrum.
    Dabei viel mir auf das beim Streaming (Amazon) keine Cover angezeigt werden,
    ich bin der Meinung das dieses aber anfangs ging.....
    Wo kann ich dieses ggf aktivieren.....




    Danke
    stenny
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 07 November 2015, 09:38:26
    Hat jemand von euch das gleiche Problem "running out of memory"?

    Ein Auszug aus meinem Logfile:
    2015.11.07 07:15:25 1: Including ./log/fhem.save
    2015.11.07 07:15:35 1: usb create starting
    2015.11.07 07:15:37 1: usb create end
    2015.11.07 07:15:42 0: Featurelevel: 5.6
    2015.11.07 07:15:42 0: Server started with 301 defined entities (version $Id: fhem.pl 9755 2015-11-02 19:34:14Z rudolfkoenig $, os linux, user fhem, pid 2045)
    2015.11.07 07:15:46 1: HMLAN_Parse: hmusb new condition ok
    2015.11.07 07:15:53 2: or_harmony: disconnect
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2015.11.07 07:17:05 1: PERL WARNING: Use of uninitialized value $htmlTxt in string eq at ./FHEM/95_FLOORPLAN.pm line 677.
    2015.11.07 07:17:05 1: PERL WARNING: Use of uninitialized value $text in concatenation (.) or string at ./FHEM/95_FLOORPLAN.pm line 586.
    2015.11.07 07:25:25 2: or_harmony: disconnect
    2015.11.07 07:25:43 0: SONOS1: Setting LogLevel to new value: 3
    ...
    2015.11.07 07:27:55 3: SONOS0: Connection accepted from localhost:34424
    2015.11.07 07:28:24 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:28:24 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:28:25 3: SONOS0: Connection accepted from localhost:34427
    ...
    2015.11.07 07:43:56 3: SONOS0: Connection accepted from localhost:34525
    2015.11.07 07:44:21 2: SONOS1: Device 'RINCON_000E582AB0EE01400_MR' removed. Do nothing special here, cause all is done in another way...
    2015.11.07 07:44:26 3: SONOS0: Connection accepted from localhost:34530
    2015.11.07 07:44:27 2: SONOS1: Discover Sonosplayer 'Wohnzimmer' (ZP90) Software Revision 5.4 with ID 'RINCON_000E582AB0EE01400_MR'
    2015.11.07 07:44:37 2: SONOS1: SonosPlayer 'Wohnzimmer' (ZP90) with ID 'RINCON_000E582AB0EE01400_MR' is already defined (as 'mm_sonos_Wohnzimmer') and will only be updated
    2015.11.07 07:44:39 2: SONOS1: SonosPlayer 'Wohnzimmer' is now updated
    2015.11.07 07:44:39 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000007
    2015.11.07 07:44:39 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000008
    2015.11.07 07:44:39 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000009
    2015.11.07 07:44:39 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000010
    2015.11.07 07:44:39 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000011
    2015.11.07 07:44:40 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000012
    2015.11.07 07:44:40 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000013
    2015.11.07 07:44:40 2: SONOS1: AudioIn-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000014
    2015.11.07 07:44:40 3: SONOS1: Discover: End of discover-event for "Wohnzimmer".
    2015.11.07 07:44:40 3: SONOS1: Event: Received Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:44:42 3: SONOS1: Event: End of Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:44:43 3: SONOS1: Event: Received GroupRendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:44:43 3: SONOS1: Event: End of GroupRendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:44:44 2: SONOS1: Discover Sonosplayer 'Wohnzimmer' (ZP90) Software Revision 5.4 with ID 'RINCON_000E582AB0EE01400_MR'
    2015.11.07 07:44:56 2: SONOS1: Error during UPnP-Handling, restarting handling: multiple roots, wrong element 'name'

    2015.11.07 07:44:56 3: SONOS0: Connection accepted from localhost:34572
    2015.11.07 07:44:57 2: SONOS1: Discover Sonosplayer 'BRIDGE' (ZB100) Software Revision 5.4 with ID 'RINCON_000E5865D6B001400_MR'
    Out of memory!
    Perl exited with active threads:
    2 running and unjoined
    1 finished and unjoined
    0 running and detached
    2015.11.07 07:44:58 1: SONOS0: Nothing could be read from TCP-Channel (the first level) even though the Read-Function was called.
    2015.11.07 07:44:58 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 12 Sekunde(n) darauf...
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2015.11.07 07:45:08 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2015.11.07 07:45:10 3: Opening mm_sonos device localhost:4711
    2015.11.07 07:45:10 3: SONOS0: Connection accepted from localhost:34588
    2015.11.07 07:45:10 3: mm_sonos device opened
    2015.11.07 07:45:12 3: SONOS1: UPnP-Thread gestartet.
    2015.11.07 07:45:14 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2015.11.07 07:45:14 2: SONOS1: Discover Sonosplayer 'BRIDGE' (ZB100) Software Revision 5.4 with ID 'RINCON_000E5865D6B001400_MR'
    2015.11.07 07:45:15 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2015.11.07 07:45:18 2: SONOS1: SonosPlayer 'BRIDGE' (ZB100) with ID 'RINCON_000E5865D6B001400_MR' is already defined (as 'mm_sonos_BRIDGE') and will only be updated
    2015.11.07 07:45:18 2: SONOS1: SonosPlayer 'BRIDGE' is now updated
    2015.11.07 07:45:18 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_000E5865D6B001400_sub0000000002
    2015.11.07 07:45:18 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_000E5865D6B001400_sub0000000003
    2015.11.07 07:45:18 3: SONOS1: Discover: End of discover-event for "BRIDGE".
    2015.11.07 07:45:19 2: SONOS1: Discover Sonosplayer 'Wohnzimmer' (ZP90) Software Revision 5.4 with ID 'RINCON_000E582AB0EE01400_MR'
    2015.11.07 07:45:33 2: SONOS1: SonosPlayer 'Wohnzimmer' (ZP90) with ID 'RINCON_000E582AB0EE01400_MR' is already defined (as 'mm_sonos_Wohnzimmer') and will only be updated
    2015.11.07 07:45:35 2: SONOS1: SonosPlayer 'Wohnzimmer' is now updated
    2015.11.07 07:45:36 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000024
    2015.11.07 07:45:36 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000025
    2015.11.07 07:45:36 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000026
    2015.11.07 07:45:36 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000027
    2015.11.07 07:45:36 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000028
    2015.11.07 07:45:36 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000029
    2015.11.07 07:45:36 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000030
    2015.11.07 07:45:36 2: SONOS1: AudioIn-Service-subscribing successful with SID=uuid:RINCON_000E582AB0EE01400_sub0000000031
    2015.11.07 07:45:36 3: SONOS1: Discover: End of discover-event for "Wohnzimmer".
    2015.11.07 07:45:37 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:45:37 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:45:37 3: SONOS1: Event: Received DeviceProperties-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:45:37 3: SONOS1: Event: End of DeviceProperties-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:45:37 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:45:37 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:45:37 3: SONOS1: Event: Received DeviceProperties-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:45:37 3: SONOS1: Event: End of DeviceProperties-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:45:37 3: SONOS1: Event: Received Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:40 3: SONOS1: Event: End of Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:40 3: SONOS1: Event: Received GroupRendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:40 3: SONOS1: Event: End of GroupRendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: Received Alarm-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: End of Alarm-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: Received AudioIn-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: End of AudioIn-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: Received DeviceProperties-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: End of DeviceProperties-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: Received ContentDirectory-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: End of ContentDirectory-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: Received Rendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: End of Rendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: Received GroupRendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:41 3: SONOS1: Event: End of GroupRendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:43 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:45:43 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "mm_sonos_BRIDGE".
    2015.11.07 07:45:48 3: SONOS1: Event: Received Rendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:48 3: SONOS1: Event: End of Rendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:48 3: SONOS1: Event: Received GroupRendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:45:48 3: SONOS1: Event: End of GroupRendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:46:11 3: SONOS0: Connection accepted from localhost:34632
    2015.11.07 07:46:21 3: SONOS1: Event: Received Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:46:24 3: SONOS1: Event: End of Transport-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:46:24 3: SONOS1: Event: Received Rendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:46:24 3: SONOS1: Event: End of Rendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:46:24 3: SONOS1: Event: Received GroupRendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:46:24 3: SONOS1: Event: End of GroupRendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.11.07 07:46:41 3: SONOS0: Connection accepted from localhost:34639
    2015.11.07 07:47:11 3: SONOS0: Connection accepted from localhost:34640
    2015.11.07 07:47:40 0: SONOS1: Setting LogLevel to new value: 0
    Out of memory!
    Perl exited with active threads:
    2 running and unjoined
    1 finished and unjoined
    0 running and detached
    2015.11.07 08:20:49 0: SONOS0: No Answer from Subprocess. Restart Sonos-Subprocess...
    Current: "./FHEM/00_SONOS.pm", gPath: ""


    Wo "..." steht habe ich nur Wiederholungen von "Connection accepted from localhost:" gelöscht. Ansonsten habe ich mal alles andere drin gelassen.

    Im Normalbetrieb mit verbose = 0 bekomme ich immer wieder folgende Einträge im Logfile:
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    Loading device description failed with error: 401 Unauthorised at ./FHEM/00_SONOS.pm line 3590 thread 1
    Loading device description failed with error: 401 Unauthorised at ./FHEM/00_SONOS.pm line 3590 thread 1
    Loading device description failed with error: 401 Unauthorised at ./FHEM/00_SONOS.pm line 3590 thread 1


    Früher gab es diese Einträge nicht, da hat auch alles funktioniert. Heute funktioniert die Lautstärkeeinstellung beim Ein- und Ausschalten nicht mehr, das ist aber das aus meiner Anwendersicht einzige Problem. Ich konnte da dem ersten langen Log aber nichts Hilfreiches entnehmen.

    Ansonsten wie immer: für Hinweise bin ich dankbar.
    Titel: Antw:Sonos steuern
    Beitrag von: 2P4u am 07 November 2015, 12:29:40
    Hi Zusammen.
    Kann mir hier jemand weiterhelfen?
    Wenn ich eine Sprachausgabe starten möchte steht folgendes im Logfile:
    2015.11.07 12:24:13 1: PERL WARNING: Use of uninitialized value within @params in join or string at ./FHEM/00_SONOS.pm line 2008.
    Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 7.
    Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3499, <$client> line 7.
    Argument "asdgfsdghbsdhgfsdgf" isn't numeric in numeric ne (!=) at ./FHEM/00_SONOS.pm line 4299, <$client> line 7.
    2015.11.07 12:24:18 3: n_sv_sonosGroups return value: Undefined subroutine &main::sv_setSonosGroupsReadings called at (eval 437) line 1.

    2015.11.07 12:24:18 3: n_sv_sonosTransportState return value: Undefined subroutine &main::sv_SonosTransportStateChanged called at (eval 438) line 1.

    2015.11.07 12:24:23 3: n_sv_sonosGroups return value: Undefined subroutine &main::sv_setSonosGroupsReadings called at (eval 440) line 1.


    Danke und lieben Gruss
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 08 November 2015, 11:32:38
    Seit dem Update heute morgen von FHEM und meinen Sonos-Geräten (mache ich beides eher selten) muss ich nun das Sonosmodul "disablen", weil sonst FHEM komplett abstürzt. Immerhin funktioniert das restliche Haus nun wieder, ich wurde schon ganz nervös.

    Sonos ist Version 5.5 (Build 29693090)
    FHEM ist Version 5.6
    Titel: Antw:Sonos steuern
    Beitrag von: Benni am 08 November 2015, 20:48:07
    Hallo,

    ich habe seit neuestem (kann leider nicht genau rekonstruieren, seit wann) ebenfalls solche Fehler im Log:

    Zitat
    Loading device description failed with error: 500 Can't connect to 192.168.178.31:49152 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1
    Loading device description failed with error: 500 Can't connect to 192.168.178.74:49152 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1

    Es sind immer diese beiden IP-Adressen. Bei beiden IP-Adressen handelt es sich allerdings nicht um SONOS-Geräte, sondern um 2 devolo dLAN-Wireless 500 Adapter.

    Weiterhin reagiert die Steuerung der Sonos-Geräte aus FHEM heraus (über die entsprechenden SONOSPLAYER-Devices) sehr verzögert (>3 Sekunden, teilweise auch deutlich mehr). FHEM an sich reagiert dabei aber trotzdem ohne Verzögerungen.

    Sowohl mein System, als auch mein FHEM sind auf aktuellem Stand.
    Auch liegen derzeit keine Firmware-Updates für meine dLAN-Adapter oder die SONOS vor.
    Sowohl FHEM, als auch den Rechner auf dem es läuft habe ich bereits neu gestartet. Ebenso wie mein SONOS-System (bestehend aus 4 PLAY:1)

    Ach ja, mein Netzwerk ansonsten wird über die allseits beliebte Fritz!Box (7490) betrieben.

    Titel: Antw:Sonos steuern
    Beitrag von: SVLoneStar am 08 November 2015, 21:28:43
    Zitat von: SVLoneStar am 05 November 2015, 01:06:30
    Hallo Reiner,
    folgendes Problem: Nach einem Neustart meines CubieTruck erhalte ich (gefühlt) 5000 Einträge folgender Meldung im Log :

    Loading device description failed with error: 200 OK at ./FHEM/00_SONOS.pm line 3591 thread 1.

    Es sind zwei Sonos:Play1 im Einsatz, bei beiden und auch beim Sonos-Device steht der LogLevel auf 1.

    Was ist zu tun? Benötigst Du weitere Informationen?

    Besten Dank,
    Stefan

    Edit: Post gekürzt, sorry.

    Hallo,
    ich habe, um die tausende von Log-Einträgen zu vermeiden, in der ControlPoint.pm folgende Änderung im Sub _createDevice (Zeile 265ff) vorgenommen:

    Original:

    if ($response->is_success && $response->content ne '') {
    ($device, $base) = $self->parseDeviceDescription($response->content,
         {Location => $location},
         {ControlPoint => $self});
    }
    else {
    carp("Loading device description failed with error: " .
          $response->code . " " . $response->message);
    }
    pop(@LWP::Protocol::http::EXTRA_SOCK_OPTS);


    Geändert:

    if ($response->is_success && $response->content ne '') {
    ($device, $base) = $self->parseDeviceDescription($response->content,
         {Location => $location},
         {ControlPoint => $self});
    }
    else {
    carp($response->is_success);
    carp($response->content);
    if ($response->code ne '200') {
    carp("Loading device description failed with error: " .
    $response->code . " " . $response->message);
    }
    }
    pop(@LWP::Protocol::http::EXTRA_SOCK_OPTS);


    Die beiden carp-Ausgaben habe ich (temporär) eingebaut, um die Inhalte der Variablen $response->is_success und $response->content zu prüfen.
    Im Log steht dann

    1 at ./FHEM/00_SONOS.pm line 3591 thread 1.
    at ./FHEM/00_SONOS.pm line 3591 thread 1.


    Wenn ich den Fehler richtig interpretiere heisst das, dass der Befehl my $response = $ua->get($location); erfolgreich war (1), dabei allerdings keine response geliefert wurde.
    Da der Befehl allerdings erfolgreich ausgeführt werden konnte, lautet der HTTP Response Code eben '200 OK'.
    Durch die Anpassung oben ist also der Log-Eintrag verschwunden - die Frage, warum $response->content leer ist (und was das für AUswirkungen hat), bleibt aber offen.
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 09 November 2015, 19:01:13
    Hallo Liste und Sonos-Freunde,

    bislang habe ich die drei Players nur Mal so zur Probe gruppiert. Jetzt habe ich aber vor, dass ganze wirklich zu einem Multiroom-System auszubauen und habe mit der "Gruppierungsfunktion" herumgespielt.
    Dabei ist mir aufgefallen, dass nach der Stromabschaltung die Player offensichtlich den Gruppenstatus vergessen haben.
    Konkret habe ich einen slave ausgeschaltet und danach wieder eingeschaltet. Der Audiostream wurde nicht mehr an den slave gesendet, d.h. man muss die Gruppierung nach Stromzuschaltung wieder von Neuem vornehmen.

    Kann das jemand bestätigen?

    Und wie sieht es mit zwei Playern aus, die zu einem Stereo-Paar verbunden wurden?

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 09 November 2015, 21:52:08
    Zitat von: Elektrolurch am 09 November 2015, 19:01:13
    Hallo Liste und Sonos-Freunde,

    bislang habe ich die drei Players nur Mal so zur Probe gruppiert. Jetzt habe ich aber vor, dass ganze wirklich zu einem Multiroom-System auszubauen und habe mit der "Gruppierungsfunktion" herumgespielt.
    Dabei ist mir aufgefallen, dass nach der Stromabschaltung die Player offensichtlich den Gruppenstatus vergessen haben.
    Konkret habe ich einen slave ausgeschaltet und danach wieder eingeschaltet. Der Audiostream wurde nicht mehr an den slave gesendet, d.h. man muss die Gruppierung nach Stromzuschaltung wieder von Neuem vornehmen.

    Kann das jemand bestätigen?

    Und wie sieht es mit zwei Playern aus, die zu einem Stereo-Paar verbunden wurden?

    Elektrolurch

    Ja das die Gruppierung beim Ausschalten eines oder der Player (ZP80/90/play5) verlorengeht ist bei mir auch so. Für ein Stereopaar kann ich das nicht sagen. 
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 09 November 2015, 22:37:29
    Hallo zusammen,

    ich hatte meinen RasPi neu aufgesetzt und vorher meine Dateien gesichert. Um Sonos wieder über FHEM zu nutzen, habe ich mich an die Anleitung aus dem SONOS - FHEWiki gehalten. Dabei geht es mit vor allem nur darum, Tür- und Fensterkontakte zu prüfen und beim Öffnen der Haustür, eine Meldung auszugeben, sofern ein Fenster offen steht. Bis eben ging zumindest die Musik aus, auch wenn keine Sprachausgabe erfolgte. Das probierte ich mit: set Sonos_Kueche Speak 45 de Hallo, hörst Du was?
    Jetzt geht inzwischen nicht einmal mehr die Musik aus. Im FHEM WI sehe ich unter Sonos die einzelnen Lautsprecher und auch die Cover der einzelnen Räume. Allerdings lässt sich nichts stoppen oder leiser bzw. lauter stellen.
    Ich brauche keine Audio-Dateien, sondern nur die Ausgabe wie oben beschrieben.
    Welche targetSpeakUrl muss ich in der Sonos.cfg eintragen? Die des RasPis?

    Wahrscheinlich lässt sich meine Frage ohne weitere Infos so leicht nicht beantworten. Was braucht Ihr noch an Infos, um mir zu helfen?

    Danke und viele Grüße
    MandelHL
    Titel: Antw:Sonos steuern
    Beitrag von: WumpE am 12 November 2015, 08:22:46
    Hi Leute gibt's denn eine Möglichkeit den LogEintrag "Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 4." zu Fixen oder zumindest zu unterbinden das dieser nicht in der FHEM log erscheint?

    Den Workaround von Justme mit dem auskommentieren einer Zeile in der http.pm habe ich probiert und hat nicht geholfen.

    Ich habe in einer halben Stunde gut 200 Logzeilen, dass kann ich so nicht lassen
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 12 November 2015, 10:03:46
    Zitat:
    Den Workaround von Justme mit dem auskommentieren einer Zeile in der http.pm habe ich probiert und hat nicht geholfen.



    Das funktioniert normalerweise schon. Hast Du das entsprechende Modul auch nach dem Abändern neu geladen? Bzw. fhem einfach mal neu gestartet?

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: WumpE am 12 November 2015, 11:40:17
    Jup so schauts aus und Raspi ist neu gestartet

    auszug aus dem File /usr/share/perl5/LWP/Protocol/http.pm

    sub _new_socket
    {
        my($self, $host, $port, $timeout) = @_;
        my $conn_cache = $self->{ua}{conn_cache};
        if ($conn_cache) {
    if (my $sock = $conn_cache->withdraw($self->socket_type, "$host:$port")) {
        return $sock if $sock && !$sock->can_read(0);
        # if the socket is readable, then either the peer has closed the
        # connection or there are some garbage bytes on it.  In either
        # case we abandon it.
        $sock->close;
    }
        }

        local($^W) = 0;  # IO::Socket::INET can be noisy
        my $sock = $self->socket_class->new(PeerAddr => $host,
    PeerPort => $port,
    LocalAddr => $self->{ua}{local_address},
    Proto    => 'tcp',
    Timeout  => $timeout,
    KeepAlive => !!$conn_cache,
    SendTE    => 1,
    #$self->_extra_sock_opts($host, $port),
           );

        unless ($sock) {
    # IO::Socket::INET leaves additional error messages in $@
    my $status = "Can't connect to $host:$port";
    if ($@ =~ /\bconnect: (.*)/ ||
        $@ =~ /\b(Bad hostname)\b/ ||
        $@ =~ /\b(certificate verify failed)\b/ ||
        $@ =~ /\b(Crypt-SSLeay can't verify hostnames)\b/
    ) {
        $status .= " ($1)";
    }
    die "$status\n\n$@";
        }

        # perl 5.005's IO::Socket does not have the blocking method.
        eval { $sock->blocking(0); };

        $sock;
    }


    UPDATE

    Problem gelöst, die richtige Datei liegt hier: /usr/local/share/perl/5.14.2/LWP/Protocol/http.pm
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 12 November 2015, 19:37:42
    Sauber, freut mich.

    Kann sich dann vielleicht noch mal jemand mein Problem ansehen. Ich bekomme bei Sonos einfach keinen Ton raus.
    Auf meine Eingabe in die Kommandozeile 'set Sonos_Kueche Speak 45 de Hallo, hörst Du was?' finde ich folgenden Log-Eintrag:
    2015.11.12 19:33:57 3: SONOS10: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&client=t&prev=input&q=%20Hallo%2C%20h%F6rst%20Du%20was%3F" to "/mnt/SonosSpeak/RINCON_B8E937829E6A01400_MR_Speak_0ab9101b7b4d15744dbb7fc95265aadf762c5462.mp31"
    2015.11.12 19:33:57 3: SONOS10: Combine loaded chunks into "/mnt/SonosSpeak/RINCON_B8E937829E6A01400_MR_Speak_0ab9101b7b4d15744dbb7fc95265aadf762c5462.mp3"
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 3993, <$client> line 9.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4000, <$client> line 9.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4001, <$client> line 9.
    2015.11.12 19:33:57 2: SONOS10: Beim Setzen der MP3-Informationen (ID3TagV2) ist ein Fehler aufgetreten: Can't call method "config" on an undefined value at ./FHEM/00_SONOS.pm line 3548, <$client> line 9.

    2015.11.12 19:33:57 3: SONOS10: Start temporary playing of "\\192.168.178.100\SonosSpeak/RINCON_B8E937829E6A01400_MR_Speak_0ab9101b7b4d15744dbb7fc95265aadf762c5462.mp3"
    2015.11.12 19:33:57 3: SONOS10: ProxyObject does not exists
    2015.11.12 19:33:58 2: SONOS7: Error during UPnP-Handling:
    2015.11.12 19:33:58 3: SONOS7: UPnP-Thread wurde beendet.


    Habe jetzte leider auch noch ein Problem mit dem Update:
    2015-11-12 20:15:04 Global global open ./FHEM/00_SONOS.pm failed: Permission denied, trying to restore the previous version and aborting the update

    :-(

    Danke und Gruß
    MandelHL
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 November 2015, 22:23:13
    Hallo MandelHL,

    das scheint ein Rechteproblem zu sein. Sowohl die Sonos.pm konnte nicht überschrieben werden, als auch in den Ordner "/mnt/SonosSpeak" geschrieben werden...

    Prüfe das nochmal genau... Auch, unter welchem Namen dein Fhem läuft, und ob dieser Benutzer (bzw. die Gruppen des Prozesses) dort wirklich Schreibrechte hat...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: mandeloh am 12 November 2015, 23:00:42
    Danke Reinerlein,

    Gruppe bei 00_SONOS.pm ist "root", Eigentümer auch. Rechte sind 0644.

    Im Ordner SonosSpeak sind keine Dateien. Die Gruppe ist ebenfalls "root", Eigentümer auch. Rechte sind hier 0755.

    Was müsste ich hier ändern?

    Danke für Deine Unterstützung.

    MandelHL
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 November 2015, 23:30:30
    Hi MandelHL,

    du musst halt schauen, als was dein Fhem läuft. Das muss dann zu den Dateierechten passen.

    Wenn du ein

    ps aux | grep perl
    ausführst, siehst du, unter welchem Namen Fhem läuft...

    Das der Ordner "SonosSpeak" leer ist, unterstützt meine Theorie...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 13 November 2015, 00:09:50
    Danke für Deine Unterstützung. Ich habe die Gruppe von 00_SONOS.pm auf dialout [20] und Eigentümer auf fhem [999] geändert.
    Das entspricht den Eingaben der anderen Dateien.
    Dein Befehl ergibt folgendes Ergebnis:
    root@raspberrypi:~# ps aux | grep perl
    fhem      3545  6.1  5.6  81804 54020 ?        Sl   23:46   0:44 /usr/bin/perl .                  /FHEM/00_SONOS.pm 4711 3 0
    fhem      3549  2.4  4.0  40292 38216 ?        S    23:46   0:16 /usr/bin/perl f                  hem.pl fhem.cfg
    root      3591  0.0  0.1   3552  1824 pts/0    S+   23:58   0:00 grep perl


    Eine Sprachausgabe erhalte ich noch immer nicht.

    Ich muss aber auch feststellen, dass ich bei Eingabe von 'set Sonos_Kueche Speak 45 de Hallo, hörst Du was?' keine Infos geloggt bekomme.

    Allerdings wird auch weiterhin keine Datei angelegt. Ich kann aber auch die Rechte des Ordners \mnt nicht ändern.

    Gibt es weitere Dateien, deren Rechte ich ändern muss? Oder was kann ich noch machen?

    Dankeschön
    MandelHL
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 13 November 2015, 05:46:17
    Hallo Reinerlein,

    bei mir besteht immer noch das Problem, dass nach dem PlayURITemp bspw. von einem Alarm-Ton oder auch von einer Sprachdurchsage der vorher abgespielte Radio-Stream nicht weiter fortgesetzt wird. Stattdessen spielt der Player danach die Liste ab, die für ihn eingestellt ist (bzw. nichts, wenn die Liste leer ist).

    Wenn mich meine Beobachtungen nicht täuschen, macht es einen Unterschied, ob der Radio-Stream per StartFavourite oder per StartRadio bzw. LoadRadio / Play gestartet wurde!

    Wenn per StartFavourite (oder aus dem Sonos-Controller aus den Favouriten) gestartet, klappt es mit dem Wieder-Abspielen des Streams, wenn per StartRadio gestartet, klappt es nach dem PlayURITemp nicht mehr!
    Titel: Sonos Boxen in FHEM bearbeiten und/oder löschen und NEU einlesen
    Beitrag von: MacDad am 13 November 2015, 07:12:21
    Moin,

    habe die Woche zwei meiner Boxen (Küche und Schlafzimmer) ins Wohnzimmer gepackt und diese als Stereo-Pärchen zusammen geführt.
    Unser FHEM sehe ich aber weiterhin die "alten" Einstellungen, Küche und Schlafzimmer  :'(

    Was muss ich hier ändern, um die NEUE Zuordnung der Boxen zu sehen?
    Kann ich die Boxen "einfach" löschen?

    Danke für Deine Zeit, Gruß Dirk
    Titel: Antw:Sonos steuern
    Beitrag von: WumpE am 13 November 2015, 08:08:43
    Ich habe auch ein ähnliches Problem wie Mandel

    LOG:
    Zitat2015.11.13 07:24:00 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:05 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:05 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:09 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:09 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:13 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:13 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:15 3: SONOS1: Load Google generated MP3 (1. Element) from "http://api.voicerss.org/?key=XXXXXXXXXXXXXXXX&hl=de-de&f=16khz_8bit_mono&src=%20Das%20ist%20ein%20Text%20zum%20testen" to "/opt/fhem/SonosSpeak/RINCON_B8E937E5C09C01400_MR_Speak.mp31"
    2015.11.13 07:24:16 3: SONOS1: Combine loaded chunks into "/opt/fhem/SonosSpeak/RINCON_B8E937E5C09C01400_MR_Speak.mp3"
    2015.11.13 07:24:16 3: SONOS1: Start temporary playing of "\\10.10.10.11\SonosSpeak\RINCON_B8E937E5C09C01400_MR_Speak.mp3"
    2015.11.13 07:24:17 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:17 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:17 3: SONOS1: Event: Received GroupRendering-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:17 3: SONOS1: Event: End of GroupRendering-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:17 3: SONOS1: Event: Received Rendering-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:17 3: SONOS1: Event: End of Rendering-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:17 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:17 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:18 3: SONOS3: Restorethread has found a job. Waiting for stop playing...
    2015.11.13 07:24:18 3: SONOS0: Connection accepted from localhost:43021
    2015.11.13 07:24:19 3: SONOS3: Restoring playerstate...
    2015.11.13 07:24:22 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:22 3: SONOS3: Playerstate restored!
    2015.11.13 07:24:22 3: SONOS1: Event: End of Transport-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:22 3: SONOS1: Event: Received GroupRendering-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:22 3: SONOS1: Event: End of GroupRendering-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:22 3: SONOS1: Event: Received Rendering-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:22 3: SONOS1: Event: End of Rendering-Event for Zone "SS_SONOS_Kueche".
    2015.11.13 07:24:22 3: SONOS1: Event: Received Transport-Event for Zone "SS_SONOS_Kueche".

    ZitattargetSpeakDir /opt/fhem/SonosSpeak
    targetSpeakFileTimestamp 1
    targetSpeakMP3FileDir /opt/fhem/SonosSpeak
    targetSpeakURL \\10.10.10.11\SonosSpeak

    folgende set abgesetzt mit gleichem Ergebnis:

    set SS_SONOS_Kueche Speak 40 de-de test text zum probieren
    AUSGABE: lastActionResult = PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"

    set SS_SONOS_Kueche PlayURITemp waschmaschine.mp3 40
    AUSGABE: lastActionResult = PlayURITemp Success -> hören tut man nichts

    set SS_SONOS_Kueche Speak 40 de-de |waschmaschine| test text
    AUSGABE: lastActionResult = PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"

    Ich lasse die mp3 mit voicerss erzeugen, das funktioniert auch und die mp3 ist mit zeitstempel vorhanden. Die waschmaschine.mp3 ist eine umbenannte vorher erzeugte mp3 von voicerss. Wenn ich sie mit VLC abspiele wird der text auch vorgelesen.

    Auf die smb freigabe hat jedes gerät zugriff habe ich mit 2. lappi und Handy getestet.

    vielleicht hat ja noch einer eine Idee

    Gruß Stefan

    UPDATE Fehler gefunden
    wenn man beim Samba noch eine 2te Freigabe hat scheint das weglassen des Globalen Parameters security = share nicht zu gehen.
    Ich habe es jetzt explizit angegeben und es geht
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 13 November 2015, 13:18:07
    Zitat von: mandeloh am 12 November 2015, 23:00:42
    Im Ordner SonosSpeak sind keine Dateien. Die Gruppe ist ebenfalls "root", Eigentümer auch. Rechte sind hier 0755.
    Zitat von: MandelHL am 13 November 2015, 00:09:50
    fhem      3549  2.4  4.0  40292 38216 ?        S    23:46   0:16 /usr/bin/perl f                  hem.pl fhem.cfg
    Allerdings wird auch weiterhin keine Datei angelegt. Ich kann aber auch die Rechte des Ordners \mnt nicht ändern.
    Der user fhem benötigt Schreibrechte in /mnt/SonosSpeak, da führt kein Weg dran vorbei. Und die Sonos Player benötigen mit ihrem Account mindestens lesenden Zugriff auf das Share.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 November 2015, 14:11:52
    Hi MacDad,

    am einfachsten ist es wohl, wenn du die beiden Player aus Fhem herauslöschst.
    Dazu Config speichern, Fhem beenden, in der Config-Datei die beiden Player komplett mit den Attributen entfernen, und Fhem wieder starten...

    Dann sollte die beiden fehlenden Player neuangelegt werden, und dann auch die passenden Namen zur neuen Konstellation erhalten.

    Der andere Weg ist, die Fhem-Devices einfach umzubenennen. Dabei musst du aber u.U. die userReadings und andere Dinge mit anpassen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: MacDad am 13 November 2015, 17:15:38
    Moin Reiner,

    OK, Danke für die Info.
    Werde es am WE ausprobieren und dann wieder berichten.
    Spiele gerade mit mehreren Playern in einem Raum rum um div. Einstellungen zu testen.

    Gruß Dirk


    EDIT sagt Danke Reiner, hat alles wunderbar geklappt  :)

    Gruß Dirk
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 13 November 2015, 18:37:07
    Hallo Reinerlein,

    noch Mal das Thema "Umschaltung auf externe Quelle":

    Irgend etwas mache ich da falsch. So sieht das dann im log aus:

    2015.11.13 18:15:59 2: main::SonosCC_Set: set Sonos_Marinas_Zimmer PlayURI Sonos_Marinas_Zimmer
    2015.11.13 18:15:59 0: SONOS1: URI: x-rincon-stream:RINCON_000E5851F77201400
    2015.11.13 18:15:59 0: SONOS1: Meta: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="" parentID="" restricted="true"><dc:title></dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">RINCON_AssociatedZPUDN</desc></item></DIDL-Lite>
    2015.11.13 18:16:00 2: main::SonosCC_Player_notSonos_Marinas_Zimmer: LastActionResult: cmd PlayURI res PlayURI: Success!


    Der Ton des angeschlossenen SAT-Receivers kommt nicht. Offensichtlich scheint das mit dem Raumnamen so nicht zu funktionieren, da wird irgendwie wohl eine URL erwartet.

    Dann zur Info:
    Habe mir jetzt zwei Play1 gekauft. Schön kompakt und sind vom Sound ok. Habe die über die SonosApp zu einem Stereo-Paar vereint.
    Das sieht dann im fehm so aus:
    Sonos_Arbeitszimmer
    Sonos_Arbeitszimmer_RF

    Ich hatte die zuerst im SonosController als Arbeitszimmer-links und Arbeitszimmer-rechts angelegt.
    Nach der Vereinigung habe ich dann den Arbeitszimmer-link nach Arbeitszimmer umbenannt und dann fhem gestartet.
    Sonos nennt den slave automatisch um nach Sonos_Arbeitszimmer_RF .
    Den muss man in notifys in fhem dann ignorieren und immer nur mit dem Master sprechen, also mit "Arbeitszimmer".
    Beim ersten Neustart des Pärchens kam dann allerdings nur der Master. Erst als ich den Controller aufgerufen habe, wurde der Slave des Pärchens dann auch atom. zugeschaltet.
    Jetzt scheint aber die Info dauerhaft gespeichert zu sein, denn das Pärchen startet jetzt immer automatisch gruppiert.

    Gruß

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 November 2015, 19:02:53
    Hallo Elektrolurch,

    eigentlich sieht das im Log erstmal gut aus. In der URI-Angabe steht eine RINCON-Adresse. Ist das denn die von dem Player selbst?
    Funktioniert die Wiedergabe denn, wenn du das über den Controller machst?
    Was für ein Player ist es denn?

    Zu den Pärchen: Ich habe hier keins laufen, und kann dementsprechend nicht sagen, wie die sich beim anschalten zwischendurch melden. Ich denke mal, einer von beiden ist ja nunmal der erste, und müsste dann auf den anderen warten... ich gehe mal davon aus, dass er sich dann schon mal meldet, da er ja nicht weiß, ob der andere noch kommen wird.
    Wenn der andere dann da ist, bauen die sich entsprechend um und melden dass dann auch...

    Allerdings sollte das Modul keine Fhem-Devices umbenennen. Das kann es eigentlich auch nicht, sondern nur neuanlegen oder updaten. Es gibt allerdings Readings, die den aktuellen Zustand im Pärchen oder im Satellitenverbund widerspiegeln. Die werden natürlich korrekt gesetzt...

    Mit den Notifies hast du recht. Allerdings ist es bei der Steuerung egal, welchen du ansprichst. Das Modul sendet die Befehle automatisch korrekt an den Master (das gilt ja auch für andere Gruppen oder Satelliten wie bei der Playbar).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 14 November 2015, 20:01:35
    Danke zusammen. Ich bin schon einen Tick weiter gewesen. Mit dem Befehl "set Sonos_Kueche Speak 45 de Hallo, hörst Du was?" kommt der Satz aus dem Lautsprecher ... Aber auch nicht immer, sondern nur manchmal. Wenn ich die Sprachausgabe über den Wohnzimmerlautsprecher ausgeben möchte, passiert nichts. Eben ging's, jetzt nicht mehr. Deshalb habe ich jetzt meine alten Dateien genommen, die auf dem alten RasPi funktioniert hatten.

    Kann noch mal bitte jemand helfen? Danke.

    Gestartet bekomme ich die jeweilige Musik über das WI von FHEM.

    2015.11.14 20:19:30 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 1 Sekunde(n) darauf...
    2015.11.14 20:19:30 1: HMLAN_Parse: HMLAN1 new condition ok
    2015.11.14 20:19:31 3: CUL_HM set Markise statusRequest
    2015.11.14 20:19:31 3: Opening Sonos device localhost:4711
    2015.11.14 20:19:31 3: Can't connect to localhost:4711: Connection refused
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2015.11.14 20:19:32 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 7856.

    2015.11.14 20:19:32 0: SONOS0: Retries left (wait 30s): 9
    2015.11.14 20:19:32 3: CUL_HM set SchalterBeleuchtungVorgarten statusRequest
    2015.11.14 20:19:33 3: CUL_HM set Schuppen_Garten statusRequest
    2015.11.14 20:20:02 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 7856.

    2015.11.14 20:20:02 0: SONOS0: Retries left (wait 30s): 8
    2015.11.14 20:20:32 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    Titel: Antw:Sonos steuern
    Beitrag von: mandeloh am 15 November 2015, 00:05:33
    UPDATE: Sprachausgabe funzt jetzt wieder. Danke.
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 15 November 2015, 14:48:05
    Ich weiss nicht ob ich hier richtig bin. Ein Threat mit 150 Seiten, da sieht man den Wald vor lauter Bäumen nicht mehr.

    Ich habe Sonos definiert und mit den Attributen aus dem Wiki versehen:

    define Sonos SONOS localhost:4711 30
    attr Sonos ignoredIPs 192.168.178.1, 192.168.10.1, 192.168.178.2, 192.200.100.165
    attr Sonos room Sonos
    attr Sonos targetSpeakDir /media/SonosSpeak
    attr Sonos targetSpeakFileTimestamp 1
    attr Sonos targetSpeakMP3FileDir /media/SonosMP3
    attr Sonos targetSpeakURL \\192.200.100.95\SonosSpeak
    attr Sonos verbose 1


    Die beiden Verzeichnisse SonosSpeak und SonosMP3 sind angelegt und haben jeweils die Berechtigung 777

    Samba ist auch eingerichtet:

    [SonosSpeak]
      comment = Audio-Files for SonosPlayer to Speak
      read only = false
      path = /media/SonosSpeak
      guest ok = yes


    Ein

    set Sonos_Buero Speak  45 de Hier dann die Textnachricht, wie sie auf dem Player ausgegeben werden soll.

    bringt auch die gewünschte Sprachausgabe, wenn auch mit starker Verzögerung, und speichert sie im SonosSpeak Verzeichnis ab.

    Im SonosMP3 Verzeichnis liegen folgende Dateien:

    RemovalBlack.mp3
    RemovalBlackYellow.mp3
    RemovalBlue.mp3
    RemovalBlueYellow.mp3
    RemovalBrown.mp3
    RemovalBrownYellow.mp3
    RemovalYellow.mp3
    Trockner.mp3
    Waschmaschine.mp3


    Wenn ich nun ein:

    set Sonos_Buero PlayURITemp \\192.200.100.95\media\SonosMP3\RemovalYellow.mp3 50

    absetze dann passiert nichts.

    Auch ein:

    set Sonos_Buero PlayURITemp RemovalYellow.mp3 50

    bringt keinen Erfolg

    Das Log sagt folgendes:

    2015.11.15 14:46:48 3: SONOS1: Start temporary playing of "\\192.200.100.95\media\SonosMP3\RemovalYellow.mp3"
    2015.11.15 14:46:49 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:49 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:49 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:49 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:49 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:49 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:49 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:49 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:50 3: SONOS3: Restorethread has found a job. Waiting for stop playing...
    2015.11.15 14:46:51 3: SONOS3: Restoring playerstate...
    2015.11.15 14:46:51 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:51 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:51 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:51 3: SONOS3: Playerstate restored!
    2015.11.15 14:46:51 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:51 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:51 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Buero".
    2015.11.15 14:46:51 3: SONOS0: Connection accepted from localhost:44519
    2015.11.15 14:47:21 3: SONOS0: Connection accepted from localhost:44523
    2015.11.15 14:47:54 3: SONOS0: Connection accepted from localhost:44535
    2015.11.15 14:48:24 3: SONOS0: Connection accepted from localhost:44539
    2015.11.15 14:48:57 3: SONOS0: Connection accepted from localhost:44548
    2015.11.15 14:49:27 3: SONOS0: Connection accepted from localhost:44553
    2015.11.15 14:50:00 3: SONOS0: Connection accepted from localhost:44563
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 November 2015, 16:57:49
    Hi raspklaus,

    das mit dem selber-abspielen der Dateien im MP3-Ordner geht auch nur, wenn du dafür eine eigene Samba-Freigabe einrichtest., wie du es ja für SonosSpeak auch gemacht hast...

    Du kannst mal versuchen, diese Dateien in die Sprachausgabe einzubetten (wofür sie ja vielleicht auch gedacht sind):

    set Sonos_Buero Speak 45 de Hier die Textnachricht mit |Trockner| Einbettung.


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 15 November 2015, 19:13:07
    Hallo Reinerlein,

    vielleicht kannst Du ja was damit anfangen:2015.11.15 18:16:24 1: PERL WARNING: Use of uninitialized value $device in concatenation (.) or string at ./FHEM/00_SONOS.pm line 447.
    2015.11.15 18:16:24 1: PERL WARNING: Use of uninitialized value $device in concatenation (.) or string at ./FHEM/00_SONOS.pm line 447.
    2015.11.15 18:16:24 1: PERL WARNING: Use of uninitialized value $device in concatenation (.) or string at ./FHEM/00_SONOS.pm line 447.
    2015.11.15 18:16:24 1: PERL WARNING: Use of uninitialized value $d in hash element at fhem.pl line 3620.
    2015.11.15 18:16:24 1: PERL WARNING: Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 447.
    2015.11.15 18:16:24 1: PERL WARNING: Use of uninitialized value $device in concatenation (.) or string at ./FHEM/00_SONOS.pm line 447.

    Das geht dann noch so eine Zeit weiter...

    Ich habe ja jetzt auch noch ein Sonos-Stereo - Pärchen und wenn ich dass ausschalte, kommen jetzt eine Zeitlang die obigen Meldungen.
    Sonos_Arbeitszimmer
    Sonos_Arbeitszimmer_RF

    das RF wurde nach dem Paaren automatisch erzeugt.
    Vielleicht kannst Du ja Dir einen Reim drauf machen und die perl-Warnungen  abfangen.

    Bei mir klappt das immer noch nicht:

    set Sonos_Wohnzimmer PlayURI Sonos_Wohnzimmer
    sollte ja den externen Eingang dann abspielen. Die laufende Musik wird auch unterbrochen, der Player bleibt aber stumm, obwohl der angeschlossene Sat-Receiver ein Tonsignal liefert.
    Wird der Player zusammen mit dem Sat-Receiver eingeschaltet, so schaltet der Player automatisch auf die externe Quelle um.
    Nur mit dem Befehl klappt das nicht.
    Muss da nicht ev. doch eine echte URL angegeben werden? Wie kann ich das debuggen?

    Gruß

    Elektrolurch
    :-[
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 15 November 2015, 19:34:47
    Hallo,

    ich habe doch

    attr Sonos targetSpeakMP3FileDir /media/SonosMP3

    laut Wiki eingerichtet. Ich möchte ja nicht viel mit Sonos machen, nur etwa 15 Nachrichten im mp3 Format abspielen

    Wenn ich :

    set Sonos_Buero PlayURITemp \\192.200.100.95\RemovalBlack.mp3 50

    eingebe passiert auch nichts. Im Log steht dann:

    2015.11.15 19:24:49 0: SONOS1: URI: RemovalBlack.mp3
    2015.11.15 19:24:49 0: SONOS1: Meta: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="" parentID="" restricted="true"><dc:title></dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">RINCON_AssociatedZPUDN</desc></item></DIDL-Lite>
    2015.11.15 19:26:52 1: PERL WARNING: Use of uninitialized value within @params in join or string at ./FHEM/00_SONOS.pm line 2008.


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 November 2015, 20:22:21
    Hallo,

    @ElektroLurch: Das sollte schon stimmen... ich versuche das mal bei mir nachzustellen...

    @raspklaus: Nochmal: Die Wiedergabe von PlayURITemp sagt dem Player, was er abspielen soll. Das bedeutet, dass der Player auf die Datei zugreifen können muss. Eine Datei, die irgendwo im Filesystem deiners Fhem-Rechners liegt, kann nicht vom Player aus erreicht werden. Du musst diese als Windows-Freigabe veröffentlichen. Das hast du mittels Samba ja für den Ordner /media/SonosSpeak auch gemacht. Nur eben nicht für den Ordner /media/SonosMP3.

    Die Angabe von targetSpeakMP3FileDir ist für das Modul die Stelle, an der die einzubettenden MP3-Dateien zu finden sind. Das ist noch nichtmal notwendig, da man beim Einbetten auch den kompletten Pfad angeben kann.
    Was das Modul dann daraus macht, ist eine einzige Sprachdatei zusammenkopieren aus den einzelnen Google-Bestandteilen und den angegebenen MP3-Dateien. Die Zieldatei liegt dann unter targetSpeakDir, und muss dann über die Samba-Freigabe ansprechbar sein.

    Hast du mein Beispiel mal versucht?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 15 November 2015, 21:26:51
    Dein Beispiel funktioniert. Nur enthält z.B. RemovalBlack.mp3 schon die gesamte Sprachausgabe:

    "Morgen wird die Restmülltonne geleert"

    und nur diese Ausgabe möchte ich haben. ok, das ganze geht mit:

    set Sonos_Buero Speak 45 de |RemovalBlack.mp3|.

    Ich habe aber folgendes Notify

    Removal4Sonos {
    my $message = "Removal";
    if (ReadingsVal("RemovalBlack", "state", "") eq "on") {$message .= "Black"};
    if (ReadingsVal("RemovalBrown", "state", "") eq "on") {$message .= "Brown"};
    if (ReadingsVal("RemovalBlue", "state", "") eq "on") {$message .= "Blue"};
    if (ReadingsVal("RemovalYellow", "state", "") eq "on") {$message .= "Yellow"};
    if ($message ne "Removal")
      {fhem("define SonosRemoval at 19:30:00 set Sonos_Buero PlayURITemp ".$message.".mp3 35")}
    }


    und message enthält den Namen des Removals und die soll dann ausgegeben werden.



    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 November 2015, 21:52:23
    Hallo ElektroLurch,

    ich habe das mal gerade näher untersucht. Bei mir klappt das mit dem Umschalten auf den Line-In auf meinem Sonos:Connect. Prinzipiell also OK... jetzt müssen wir mal herausfinden, was genau bei dir los ist :)

    Ich habe auch mal die Fehlermeldung untersucht. Du sagtest, es gibt nun ein neues Device mit "_RF". Gibt es vielleicht noch Reste vom alten Device?
    Der Fehler tritt im HTML-Code-Generator für die Readingsgroup auf der Oberfläche auf. Es scheint kein gültiges Devices mehr zu geben. Das kling nach einer Readingsgroup, die noch da ist, dessen Fhem-Device aber verschwunden oder umbenannt wurde...

    Aber ich habe keine Ahnung, warum er überhaupt ein neues Device angelegt hat, obwohl es bereits eines mit dieser RINCON-Kennung gab. Der Name (des Fhem-Devices) sollte eigentlich wurscht sein... ich untersuche die entsprechende Stelle aber nochmal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 16 November 2015, 05:58:00
    Hallo,

    unabhängig von dem Problem mit nicht fortgesetzten Radiostreams nach einem PlayURITemp hatte ich nun zwei mal folgendes Phänomen nach Ausführung des folgende DOIF:


    ([04:00])
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER Stop)
    ((set Sonos Groups [Sonos_Bad], [Sonos_Esszimmer], [Sonos_Kind1], [Sonos_Schlafzimmer], [Sonos_Kind2]))
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER Volume 10)
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER LoadRadio SWR3)
    (set Sonos_Kind1 LoadRadio KiRaKa%20-%20KiRaKa%20-%20Der%20KinderRadioKanal%20des%20WDR.)
    (set Sonos_Kind2 LoadRadio KiRaKa%20-%20KiRaKa%20-%20Der%20KinderRadioKanal%20des%20WDR.)



    Out of memory!
    Perl exited with active threads:
    2 running and unjoined
    1 finished and unjoined
    0 running and detached
    2015.11.16 04:00:37 1: SONOS0: Nothing could be read from TCP-Channel (the first level) even though the Read-Function was called.


    Ich verwende die Versionen

    00_SONOS.pm          9014 2015-08-02 12:53:12Z rleins
    21_SONOSPLAYER.pm    9014 2015-08-02 12:53:12Z rleins
    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 16 November 2015, 11:07:55
    Falls sich jemand günstig  ;D einen Sonos Sub zulegen will, bei Schäfer Shop gibts den Sub für 605,71 € im Angebot.
    Mit Newsletteranmeldung sind noch mal 10 Euro drin...
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 16 November 2015, 13:25:47
    Aus für mich aktuellem Anlass:


    Hier ein kleines Shellscript, um das /mnt/SonosSpeak Cache Verzeichnis von Dateien zu befreien, die FHEM längere Zeit nicht abgespielt hat (in diesem Fall länger als 75 Tage):


    https://gist.github.com/jpawlowski/689d1cf74334488cd127
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 November 2015, 17:13:53
    Hi Loredo,

    danke für das Skript. Darf ich das in das Wiki übernehmen?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 16 November 2015, 21:53:25
    Zitat von: Loredo am 16 November 2015, 13:25:47
    Hier ein kleines Shellscript, um das /mnt/SonosSpeak Cache Verzeichnis von Dateien zu befreien, die FHEM längere Zeit nicht abgespielt hat (in diesem Fall länger als 75 Tage):

    Aber warum nicht folgenden Einzeiler in die Crontab?

    <m> <h>  <dom> <mon> <dow> find /mnt/SonosSpeak -name "RINCON*" ! -atime -75 -delete


    Gut, ich sehe nicht, was gelöscht wird. Aber ist das von Interesse?
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 16 November 2015, 22:10:28
    An Find hatte ich gar nicht gedacht, es gibt wie immer viele Lösungen.

    Da kann ich aber auch zurück klugsch***  ;D
    Natürlich geht das auch mit find  ;)


    find /mnt/SonosSpeak -name "RINCON*" ! -atime -75d -exec rm -v {} \;





    Edit: Klar Reinerlein. Das Script oder den Einzeiler, was beliebt.  :)
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 21 November 2015, 13:36:53
    Hallo Reiner,

    ich habe zurzeit Empfangsprobleme bei einem SONOS-Player über das SONOSNET
    In einem solchen Fall scheint das SONOS Modul leider komplett zu sterben und auch die Kommunikation mit den restlichen Playern einzustellen.
    Der Subprozess läuft allerdings noch...  :-\

    Error loading SCPD document: Connection timed out at ./FHEM/00_SONOS.pm line 4902 thread 1.
    Error loading SCPD document:  at ./FHEM/00_SONOS.pm line 4931 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.150:1400 at ./FHEM/00_SONOS.pm line 3590 thread 1.
    2015.11.21 12:59:52.787 1: SONOS1: GroupRendering-Service-subscribing NOT successful
    Subscription request failed with error: 500 Server closed connection without sending any data back at ./FHEM/00_SONOS.pm line 5135 thread 1.
    Error loading SCPD document: Connection timed out at ./FHEM/00_SONOS.pm line 4943 thread 1.
    2015.11.21 12:57:05.135 3: .....
    2015.11.21 12:56:52.399 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2015.11.21 12:56:52.375 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2015.11.21 12:56:49.580 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    Smartmatch is experimental at ./FHEM/00_SONOS.pm line 5383.
    2015.11.21 12:56:49.310 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 2 Sekunde(n) darauf...


    Gruß
      Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 22 November 2015, 10:10:06
    Also ich habe auch Sonos in FHEM disabled, weil ich Fehler bekomme, bis hin zum FHEM-Absturz (siehe meine Beiträge auf Seite 147). Es war so schön, dass die Stereoanlage leise wurde, während man telefoniert hat, und dass man alles bequem aus FHEM heraus steuern konnte, ohne die Sonos-App zu bedienen. Aber es geht auch ohne. Da ich einige wichtige Funktionen mittlerweile über FHEM steuere, muss es auch stabil laufen, dann lieber ohne Sonos. Dennoch: wenn ich beitragen kann, das Problem zu finden (auch andere haben ja ähnliche Probleme), dann tue ich das gerne.

    Interessant in diesem Zusammenhang: Der Harmony-Hub selbst ist zwar sch...lecht, aber wenn er läuft, dann steuert er ohne Probleme das Sonos. Für mich ist das aber keine Alternative, weil meine Steuerung auf Basis des Sonos-Moduls hier schon fertig ist und nur mittlerweile nicht mehr stabil läuft. Das muss wohl an den (für mich meist uninteressanten) Updates von Sonos liegen. Oder ich habe ganz woanders selbst einen Bockmist eingebaut, dessen Nebenwirkung nun das Sonos betreffen.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 22 November 2015, 10:36:12
    Zitat von: ujaudio am 07 November 2015, 09:38:26
    "running out of memory"
    Auf welcher Hardware? Fritte?
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 22 November 2015, 10:47:02
    Hallo Reiner,

    Ich habe schon seit einiger zeit folgende Meldung die mein Log füllen:
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client>

    Hast Du einen Vorschlag was ich da machen kann?

    Weiter kommt immer die Meldung:
    Smartmatch is experimental at ./FHEM/00_SONOS.pm line 5383.
    beim laden des Moduls.

    BN hatte dies im Modul vorgeschlagen:
    no if $] >= 5.017011, warnings => 'experimental::smartwatch';

    Wie sieht dies beim Songs aus? Kannst Du das nachfüllen, hilft es?

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 22 November 2015, 10:52:43
    Zitat von: dev0 am 22 November 2015, 10:36:12
    Auf welcher Hardware? Fritte?

    Raspberry B+
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 22 November 2015, 11:08:44
    Wie sieht die Speicherauslastung aus (zb. mit: top -b -n1 | grep total) ?
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 22 November 2015, 11:12:20
    Zitat von: Avatar am 22 November 2015, 10:47:02
    Ich habe schon seit einiger zeit folgende Meldung die mein Log füllen:
    Odd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client>

    http://forum.fhem.de/index.php/topic,10033.msg259741.html#msg259741
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 22 November 2015, 11:20:44
    Zitat von: dev0 am 22 November 2015, 11:08:44
    Wie sieht die Speicherauslastung aus (zb. mit: top -b -n1 | grep total) ?

    top -b -n1 | grep total
    Tasks:  72 total,   1 running,  71 sleeping,   0 stopped,   0 zombie
    KiB Mem:    447864 total,   414104 used,    33760 free,    85804 buffers
    KiB Swap:   102396 total,        0 used,   102396 free,   237852 cached
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 22 November 2015, 11:40:37
    Hallo Ralli
    Super danke, bezüglich der Meldung Odd.....
    hat geklappt.

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 November 2015, 14:30:13
    Hi,

    @Avatar: das mit Smartmatch habe ich eingebaut, aber nicht getestet, ob es etwas bringt, da es bei mir auch vorher nicht aufgetaucht war...

    @Jürgen: Wieviel Speicher braucht denn dein Perl mit dem Sonos-Modul? Bei mir auf meinem Pi sieht die Ausgabe von "ps aux | grep perl" so aus:

    root 12764 4.5 29.4 62824 55572 ? S Nov17 316:00 /usr/bin/perl /etc/fhem/fhem/fhem.pl /etc/fhem/config/fhem.cfg
    root 12847 1.1 25.3 78360 47848 ? Sl Nov17 76:54 /usr/bin/perl /etc/fhem/fhem/FHEM/00_SONOS.pm 4711 1 0
    Zusammen also ca. 140MB. Ob es da vielleicht eine Grenze für den Perl-Prozess gibt, kann ich dir leider auch nicht sagen...

    Ich hänge Ideenmäßig immer noch an der Speak-URL-Geschichte. Ich habe momentan etwas wenig Zeit, und dementsprechend noch keine schöne Idee entwickeln können...
    Da aber mittlerweile so einiges anderes fertig ist, werde ich wohl den Stand erstmal veröffentlichen, und das mit den Speak-URL nachreichen.
    Ich sehe also mal zu, dass ich das heute noch aufgeräumt bekomme, und die Doku nachgezogen bekomme, damit das heute/morgen eingecheckt werden kann.

    Ich vermute bei einigen Fehlern, dass diese damit behoben sein könnten, und natürlich ist auch das eine oder andere Feature hinzugekommen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 22 November 2015, 16:19:28
    Hallo Reinerlein,

    danke für Deine tolle Arbeit!

    Konntest Du Dich nochmal mit meinem Problem mit nicht fortgesetzten Radiostreams nach einem PlayURITemp beschäftigen? (siehe auch meine PN).

    Bezüglich der vielen Warning mit dem "odd-Problem" ergibt sich dann, wenn man den Workaround vornimmt, möglicherweise eine Wechselwirkung mit dem Fritzbox-Modul (http://forum.fhem.de/index.php/topic,29725.msg363234.html#msg363234).

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 November 2015, 16:30:42
    Hallo Ralli,

    das geht bei mir... ich muss herausfinden, was bei dir anders läuft :)
    Kannst du dafür mal einen 5er Log machen, indem der komplette Vorgang des PlayURITemp enthalten ist?
    Irgendwas muss doch geloggt werden, was er nicht machen konnte...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 22 November 2015, 16:53:55
    Hallo Reinerlein,

    das ist Murphys Gesetz :).

    Irgendwie passiert bei mir beim 5er Log nicht viel - was soll ich auf verbose 5 setzen, nur den Player oder auch das "Hauptmodul"? Aber ich kann reproduzieren, dass das Fortsetzen des vorherigen Radio-Streams nur dann nach einem PlayURITemp funktioniert, wenn der Radio-Stream mit StartFavourite gestartet wurde (bzw. im Controller aus den Favouriten). Immer dann, wenn der Stream zuvor mit StartRadio gestartet wurde, wird der Stream nach PlayURITemp nicht wieder aufgenommen.

    Vielleicht hilft das ja?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 November 2015, 17:40:31
    Hi Ralli,

    auch das macht bei meinen Tests keinen Unterschied :)
    Das Verbose-Attribut wird nur am Sonos-Device ausgewertet, an den Playerdevices gibt es das gar nicht :)

    Ich hoffe einfach mal, dass irgendwas im Log auftaucht...

    Grüße Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 22 November 2015, 18:10:47
    Hallo. Habe das Modul auch erstmal deaktiviert und teste gerade ein knx zu Sonos Gateway, was ich geliehen bekommen habe. Soll ja auch nur lächerliche 690€ kosten. ;-)

    meine 100% CPU bekomme ich übrigens auf einen Atom mit 2Gb Hauptspeicher uns ssd.
    Titel: Antw:Sonos steuern
    Beitrag von: gki am 22 November 2015, 19:56:18
    @JoeALLb
    wir haben auch das Gateway von ISE getestet. Waren damit nicht zufrieden und haben das zurückgeschickt. Mit einem 2. Pi im Hutschienengehäuse, der sich nur mit dem Sonosmodul von Reiner beschäftig, sind wir flexibler. (aktuell kostet das Gateway 560,- € )

    Gruß
    Ines

    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 22 November 2015, 23:10:43
    Warum nicht? Ich hab den von Jung, Funktioniert aber im Moment nicht....

    auch egal,  wenn zweiter Pi wirds wohl werden.
    Titel: Antw:Sonos steuern
    Beitrag von: micomat am 25 November 2015, 10:04:29
    Hallo zusammen,

    ich hab mir zwei neue Play:1 geholt :D
    Nachdem ich bereits einen in Betrieb hatte wurden die neuen auch in FHEM erkannt und eingebunden.
    Allerdings alle mit "Unnamed Room"? Die Attribute Room Name sind aber korrekt in FHEM angekommen.
    Wie kann ich die jetzt am einfachsten umbenennen?

    Gruß
    Markus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 November 2015, 10:19:13
    Hi Markus,

    du kannst dieses Device einfach mit "rename" in Fhem umbenennen. Da hat sich der Player gemeldet, bevor er fertig eingerichtet war.
    Aus diesem Grund empfehle ich immer, das Fhem-Modul für den Sonos-Einrichtungszeitraum zu deaktivieren.

    Die Alternative ist das Löschen des Devices: Sonos-Modul disablen, fehlerhaftes Playerdevice löschen, Sonos-Modul wieder aktivieren.
    Dann wird es neu angelegt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 25 November 2015, 10:20:03
    Lass mich raten: Du hast das Sonos-Modul nicht deaktiviert, als Du die neuen Player mit dem Controller eingebunden hast?

    Mache folgendes:

    1) Sonos-Modul auf disable setzen
    2) Alles, was mit den neuen Playern zu tun hat, in fhem löschen (die Player, die dazugehörigen RGs usw.)
    3) Sonos-Modul wieder auf enable setzen

    Nun wird das Modul die Player neu entdecken und einbinden mit dem Namen, den die Player im Sonos-Controller haben.
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 25 November 2015, 10:36:56
    Hallo Reinerlein,

    kurze Rückmeldung und zwei Fragen:

    1. Die Umschaltung auf externen Eingang funktioniert nun. Warum ist nicht ganz klar. Möglicherweise war die Lautstärke an dem Enigma-Receiver zu gering eingestellt.....

    2. Ich habe:
    buttonEvents 1:MU 1:MD
    als Attribute definiert und mit disable 1 und anschliessendem disable 0 Sonos neu gestartet und die Attribute einlesen lassen. Trotzdem bekomme ich kein Event vom Player, wenn ich kurz hintereinander die Mute und die Up - Taste drücke.
    elsif($rd eq 'buttonEvents')
    {
    Log3($ccname,3,(caller(0))[3] . ": buttonEvents $val");

    return undef;
    Idee war, mit den Tastenkombinationen am Player zum nächsten /vorherigen Internetsender zu wechseln.

    2. my $cmd = "set $master startSearchlist $kategorie $kategoriename $titel" . '/'. $album . '/' . $interpret . ' ' . $option;
    $option kann '-' sein, wenn ich die gefundene Liste direkt abspielen will, ansonsten leer, damit das gefundene Ergebnis zur Playliste hinzugefügt wird.
    Und nun meine Frage:
    a) (hatten wir schon) Das Hinzufügen zur Playliste stoppt die laufende Wiedergabe und startet sie wieder beim ersten Song. Da wolltest Du noch was ändern...
    aber
    b) Mir ist aufgefallen, dass das gefundene Ergebnis der Suche immer an der aktuellen Abspielposition eingefügt wird.
    Kann man das ev. so ändern (oder über ein Atttribut) steuerbar machen, dass das gefundene Ergebnis  der Suche immer hinten an die aktuelle Playliste angeängt wird? Eigentlich fände ich das vom Handling logischer.....

    Ansonsten läuft alles super und sogar ziemlich schnell. Wenn ich am Player per Knopf die Lautstärke ändere, sehe ich das auch sofort auf dem Bildschirm.
    Mir ist noch aufgefallen, das VolumeUp und VolumeDown das Event "relativeVolume" generieren. Das habe ich dann wie folgt umgesetzt, um meinen Lautstärkeregler  auf dem Bildschirm zu aktualisieren:
    elsif(($cmd  eq 'SetRelativeVolume') && defined($master))
    {
    $res =~s/SetRelativeVolume: //;
    Log3($ccname,3,(caller(0))[3] . ": relativeVolume -> Volume $res");
    XCall('readingsSingleUpdate',$cchash,'Volume',$res,1);
    } # if SetRelativeVolume
    Der Wert entspricht doch dem Volume?

    Gruß Elektrolurch


    Titel: Antw:Sonos steuern
    Beitrag von: micomat am 25 November 2015, 10:39:24
    Danke euch :) Daran wird es liegen.


    Gruß
    Markus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 November 2015, 14:07:19
    Hallo Elektrolurch,

    das Mute-Event wird nicht mehr generiert, da der Button am Player von Sonos irgendwann in einen Play/Pause-Button umgestellt wurde.
    Damit gehen nur noch die Up-/Down-Buttons. Mach doch einfach ein UD-Event für einen zurück, und ein DU-Event für einen vor in deiner Radioliste...

    Das mit dem Stoppen der Wiedergabe ist hier schon behoben... ich bin auch gerade dabei, die Doku nachzuziehen, um das zu Veröffentlichen... bin aber beruflich spontan in Deutschland unterwegs, sodass ich vermutlich erst zum Wochenende hin zum Veröffentlichen komme...
    Das mit dem Hintenanhängen kann ich sicherlich noch einbauen. Ich schaue mir das mal an...

    Bei RelativeVolume kann eine positive oder negative Zahl übergeben werden. Positiv macht lauter, negativ macht leiser... Wenn du eine Lautstärke direkt setzen willst, ist das ungeeignet...
    Das Ergebnis, was in LastActionResult abgelegt wird, enthält dann die wirklich gesetzte neue Lautstärke...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 25 November 2015, 15:52:38
    Hallo Reinerlein,

    Zitat:
    Damit gehen nur noch die Up-/Down-Buttons. Mach doch einfach ein UD-Event für einen zurück, und ein DU-Event für einen vor in deiner Radioliste...

    Ich müsste aber vermutlich 1:UU definieren, da ich ja ansonsten nicht mehr die Lautstärke über die Buttons am Player verstellen kann, oder sehe ich das falsch?


    relativeVolume: Ich habe auf der GUI zwei Knöpfe, die VolumeUp und VolumeDown an den Player senden. Die Schrittweite kann man ja mit dem attr VolumeStep (z.B.) auf 5 einstellen.
    Wenn vom Player eine Volumenänderung gemeldet wird, so bekomme ich ja das event "Volume" und kann damit den Lautsärkeregler (knob) aktualisieren.
    Ich hatte mich nur zunächst darüber gewundert, das bei VolueUp / Down kein "Volume" - Event generiert wird und zufällig hatte ich dann in der LastAction das RelativeVolume entdeckt. Dabei ist die Änderung ja doch nicht relativ, sondern der absolute Lautstärkewert. Eigentlich sollte da auch ein "Volume" - Event generiert werden...
    ...na ja habe ja eine Lösung gefunden. War mir nur so aufgefallen.

    Ich hatte hier das Thema "Bookmark - Helper" von Andre gefunden. Da ich auch Hörbücher höre, die aber derzeit wegen der fehlenden Möglichkeit (automatischen) an die letzte gehörte Stelle zu springen, nutze ich einen MP3-Player.

    Hat sich zu dem Thema noch was ergeben oder wird das noch weiter verfolgt?

    Klappt übrigens prima mit dem Einlesen der Sonos-Bibliothek. Generire mir aus dem Hash  da ein dreistufiges Menü, mit dem man CDs, Interpreten usw. auswählen kann. Über zusätzliche Textfelder kann ich dann auch noch die Filter-Funktionen Deines Search-Befehls befüllen.
    Schade ist eigentlich nur, dass man das effiktive Suchergebnis des search-Befehls nicht visualisieren kann.

    Viel Spaß und Erfolg auf Deiner G-Reise.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 November 2015, 17:26:41
    Hi Elektrolurch,

    das mit den Button-Events ist immer zusätzlich zur normalen Funktionalität. Du hast aber recht, wenn du z.B. "1:UD" definierst, dann wird das Event auch ausgeführt, wenn du mit einem Fhem-Skript (oder über die Oberfläche) einmal Up und einmal Down innerhalb von 1 Sekunde ausführst. Oder mit dem normalen Sonos-Controller... Das dürfte aber doch recht selten sein...

    Zu dem RelativeVolume: Das ist eine Funktion der Sonos-Player. Ich frage für die Rückmeldung nur das am Player nun wirklich eingestellte ab. Es sind also schon zwei verschiedene Befehle, die mir einen weiteren Aufruf an den Player sparen.
    Bsp.: Wenn ich mit SetVolume eine relative Änderung durchführen will, brauche ich erst die aktuelle Lautstärke, rechne meine Änderung drauf (oder runter), setze diesen neuen Wert, und frage als Ergebnis die aktuelle Lautstärke wieder ab.
    Mit SetRelativeVolume teile ich nur die gewünschte Änderung mit, und frage das Ergebnis ab.
    Und ja, als Folge sollte bei beiden Varianten trotzdem ein Volume-Änderungs-Event in Fhem generiert werden. Wie auch bei jeder Änderung z.B. über den Controller. Es gibt nur einen Unterschied im Reading "LastActionResult" nach der Ausführung...

    Bei den Bookmarks geht es sicherlich noch weiter... nur komme ich da momentan nicht zu :(
    Aber einige Funktionalitäten sind ja schon drin... vielleicht reicht dir das ja. Im Wiki unter http://www.fhemwiki.de/wiki/SONOS#Zusammenfassung_der_Bookmarkeinrichtung (http://www.fhemwiki.de/wiki/SONOS#Zusammenfassung_der_Bookmarkeinrichtung) gibt es eine Beschreibung dazu... Der für dich interessante Bereich ist: Bookmarks für Titel...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: MandelHL am 25 November 2015, 20:34:43
    Hallo,

    ich habe jetzt mein Sonos wieder in mein FHEM eingebunden und möchte mir wieder bei geöffneter Tür die offenen Fenster durchgeben lassen.

    Meine Log-Datei wirft mir dabei die folgende Fehlermeldung aus:
    PERL WARNING: Bareword found where operator expected at (eval 773) line 2, near "@@fenster"
    2015.11.25 20:16:20 3: eval: my $EVTPART0='open';my $TYPE='CUL_HM';my $SELF='Haustuerkontakt';my $EVENT='open';my $NAME='Sensor_Haustuer';{
        my @@fenster = ();
        push(@@fenster, 'Badezimmerfenster im Erdgeschoss') if (Value("Sensor_Badezimmerfenster_EG") eq "open");
        push(@@fenster, 'Schlafzimmerfenster') if (Value("Sensor_Schlafzimmerfenster") eq "open");
    if (scalar(@@fenster) && (Value("Sensor_Haustuer") eq "open")) {
    my $durchsage = 'Achtung! Die Haustür wurde geöffnet. Folgende Fenster sind noch offen: '.join(', ', @@fenster);
    fhem('set Sonos_Kueche Speak 45 de '.$durchsage);
    fhem('set Sonos_Bad_EG Speak 35 de '.$durchsage);
    DebianMail('yyyyyyyyyyyy@@gmail.com','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');
    DebianMail('xxxxxxxxx@@gmail.com','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');
    }
    }


    Die Haustuer.cfg sieht so aus:
    define Haustuerkontakt notify Sensor_Haustuer:open {\
        my @@fenster = ();;\
        push(@@fenster, 'Badezimmerfenster im Erdgeschoss') if (Value("Sensor_Badezimmerfenster_EG") eq "open");;\
        push(@@fenster, 'Schlafzimmerfenster') if (Value("Sensor_Schlafzimmerfenster") eq "open");;\
    if (scalar(@@fenster) && (Value("Sensor_Haustuer") eq "open")) {\
    my $durchsage = 'Achtung! Die Haustür wurde geöffnet. Folgende Fenster sind noch offen: '.join(', ', @@fenster);;\
    fhem('set Sonos_Kueche Speak 45 de '.$durchsage);;\
    fhem('set Sonos_Bad_EG Speak 35 de '.$durchsage);;\
    DebianMail('yyyyyyyyyyy@@gmail.com','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');;\
    DebianMail('xxxxxxxxxxxx@@gmail.com','Bitte Fenster schliessen!','Die Haustür wurde geöffnet. Der aktuelle Zustand der Fenster ist: Badezimmer ist '.Value("Sensor_Badezimmerfenster_EG") .', Schlafzimmer ist '.Value("Sensor_Schlafzimmerfenster").'       ');;\
    }\
    }


    Könnt Ihr mir helfen und mitteilen, warum die Durchsage nicht mehr funktioniert? Es hatte ja schon mal funktioniert.

    Danke und viele Grüße
    Mandel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 November 2015, 22:18:16
    Hi Mandel,

    hast du vielleicht den Fhem-Featurelevel hochgesetzt?
    Dann würden die doppelten @-Zeichen zuviel sein...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: mandeloh am 26 November 2015, 18:12:59
    Danke, Reiner. Das war's.
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 30 November 2015, 20:41:41
    Ich bekomme immer wieder diese Fheler im Log:

    Loading device description failed with error: 401 Unauthorised at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 401 Unauthorised at ./FHEM/00_SONOS.pm line 3590 thread 1.
    Loading device description failed with error: 401 Unauthorised at ./FHEM/00_SONOS.pm line 3590 thread 1.


    Was hat es denn damit auf sich?
    Rechteprobleme?
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 30 November 2015, 22:55:25
    Hallo Reiner,

    ich habe gerade mal etwas gespielt und Wireshark genutzt.
    Wenn ich mich nicht verlesen habe, könnte mit dem unten gezeigten Parameter die
    neue Funktion ,,Trueplay" ein und aus geschaltet werden.

    Trueplay funktioniert beim Play1, Play3 und Play5. Die Soundbar wird bisher nicht unterstützt.

    Vielleicht findet die Funktion ja den Weg in das Modul.

    Danke

    Gruß aherby
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 November 2015, 23:53:25
    Hi aherby,

    ich dachte, dass wäre etwas, was man kalibrieren muss, und demnach mit dem Sonos-Controller (auf iOs) durchführen muss?
    Oder ist das dann, wenn es einmal eingestellt ist, dass man die Verwendung der Soundverbesserung ein- bzw. ausschalten kann?

    @Mitch: das sieht nach einer Nicht-Sonos-Komponente aus, die sich wieder einschummelt... Du könntest höchstens mal den Log hochdrehen, und versuchen die IP-Adresse dazu herauszufinden. Diese kannst du dann ignorieren lassen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 01 Dezember 2015, 06:45:02
    Guten Morgen Reiner,

    Treuplay muss wie du sagt einmal kalibriert werden. Dazu schaltet man Trueplay beim ersten Mal ein und wird dann direkt zur Information von Trueplay (Text und Video) geleitet. (kleiner Hinweis: Man sollte den Sonos-Geräte in der Firewall oder Fritzbox nicht zu viel verbieten, sonst kann Sonos den Testton nicht laden und man bekommt eine Fehlermeldung)
    Nach erfolgreicher Kalibrierung wird dann die Einstellung gespeichert und kann ein- und aus geschaltet werden.

    Im iPhone findet man auch direkt die Möglichkeit ,,Trueplay Neu einstellen" dann kommt man wieder zur Anleitung und könnte Trueplay neu kalibrieren.
    Dies ist aber, solang der Player nicht verstellt wird, nicht nötig.
    Außerdem ist die Kalibrierung schon recht laut (genauso wie die Kalibrierung vom Sub).

    Wenn weitere Infos benötigt werden oder ich was testen soll einfach melden.

    Gruß aherby
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 01 Dezember 2015, 08:13:29
    Zitat von: Reinerlein am 30 November 2015, 23:53:25Du könntest höchstens mal den Log hochdrehen, und versuchen die IP-Adresse dazu herauszufinden. Diese kannst du dann ignorieren lassen...

    Hi Reiner,

    das habe ich mich schonmal bei meiner Installation gefragt,

    wie währe es mit einem Attribut "includedIPs"?

    Da sich gefühlt die Hardware um SONOS herum häufiger ändert als die Sonosplayer selber.

    Gruß
    Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 01 Dezember 2015, 08:58:02
    Zitat von: Reinerlein am 30 November 2015, 23:53:25@Mitch: das sieht nach einer Nicht-Sonos-Komponente aus, die sich wieder einschummelt... Du könntest höchstens mal den Log hochdrehen, und versuchen die IP-Adresse dazu herauszufinden. Diese kannst du dann ignorieren lassen...

    Danke!
    Gerade den Loglevel hoch gesetzt und nun warte ich auf einer neue Meldung  8)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Dezember 2015, 09:33:19
    Hi Claudiu,

    das klingt nach einer guten Idee. Aber ob das jeder, der es verwendet, auf dem Schirm hat, wenn er einen neuen Player integriert?
    Oder einen Player nach langer Zeit wieder einschaltet, und dieser u.U. eine neue IP bekommt?

    Aber ich glaube, ich werde es trotzdem einbauen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 01 Dezember 2015, 09:41:51
    Hi Reiner,

    das wär super, danke schomal  ;)


    Gruß
      Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 01 Dezember 2015, 22:45:14
    Hi Reiner,

    hast du schon die Entfernungseinstellungen von den Surround-Lautsprechern ?

    ,,Surround-Audioeinstellung
    weniger als 0,6 m  entspricht einer "2"
    0,6 m bis 3 m        entspricht einer "1"
    Mehr als 3 m         entspricht einer "0"

    wird in der Variable ,,AudioDelayLeftRear" und AudioDelayRightRear"

    Der Sub kann je nach Aufstellung entsprechend kalibriert werden:
    "kein Unterschied", "A ist lauter" und ,,B ist lauter"
    dieses spiegelt sich in der Variable ,,SubPolarity" wieder.
    Leider habe ich noch nicht herausgefunden wie vermerkt wird, dass A oder B der lautere ist.


    Gibt es schon die Möglichkeit die Surroundboxen zur Playbar hinzuzufügen ?
    Würde gern oft beim Zocken zusätzlich Musik hören. Dazu müsste ich aber jedes Mal die Boxen in der Sonos-Controll-App entfernen.

    Gruß aherby
    Titel: Antw:Sonos steuern
    Beitrag von: Depechem am 03 Dezember 2015, 17:01:40
    Hallo @all,

    dieses Thema gehört war nich hier rein aber dies ist ein änlicher Lautsprecher wie die Sonos.
    Hat jemand eine Idee eine HK OMNI über fhem zu steuern?
    Oder gibt es Lößungsansätze dies zu verwirklichen?
    Für Sonos gibt es ja bereits ein Modul.
    Ich selbst bin noch relativ unerfahren mit fhem

    Gruß Thomas
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 03 Dezember 2015, 22:47:48
    -
    Titel: Antw:Sonos steuern
    Beitrag von: TecCheck am 04 Dezember 2015, 20:12:09
    Hallo Reiner,

    ich habe nach jedem Update der 00_SONOS.pm das Problem, das Tante Google ihren Dienst einstellt.   :(
    Speak funktioniert dann nicht mehr.  LastActionResult zeigt
    Speak0: MP3-Creation ERROR during downloading: 503 Service Unavailable"

    Da ich mir so einiges ansagen lasse, möchte ich diese Funktion nicht missen.

    Wenn ich nach dem Update folgende Zeile 
    my $SONOS_GOOGLETRANSLATOR_URL = 'http://translate.google.com/translate_tts?tl=%1$s&client=t&prev=input&q=%2$s'; # 1->Sprache, 2->Text
    in

    my $SONOS_GOOGLETRANSLATOR_URL = 'http://translate.google.com/translate_tts?tl=%1$s&client=tw-ob&q=%2$s'; # 1->Sprache, 2->Text
    verändere, funktioniert es wieder dauerhaft (jedenfalls bis zum nächsten Update).  :D

    Dazu muss ich aber auch ein reboot meines Servers machen, ein einfaches shutdown reboot  oder Disable 1, Disable 0
    hilft da nicht.

    Kannst du die Zeile nicht abändern, damit man (ich) das nicht immer händisch nach jedem Update machen muss?


    Wenn es da noch einen anderen Trick gibt damit Tante Google den Dienst nicht versagt, lasst mich nicht dumm sterben.


    Liebe Grüße

    Wolfgang
    Titel: Antw:Sonos steuern
    Beitrag von: Benni am 05 Dezember 2015, 08:02:12
    Hallo Reiner,

    nachdem es an dieser Stelle ja anscheinend öfter mal Änderungen seitens Google gibt wäre es vielleicht eine Überlegung Wert, die Goggle-Translator-URL über ein Attribut änderbar (überschreibbar) zu machen.

    Gruß Benni.
    Titel: Antw:Sonos steuern
    Beitrag von: Benni am 05 Dezember 2015, 08:13:15
    Zitat von: TecCheck am 04 Dezember 2015, 20:12:09
    Dazu muss ich aber auch ein reboot meines Servers machen

    Bei mir hat ein einfaches reload 00_SONOS für die Aktivierung der Änderung ausgereicht.
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 05 Dezember 2015, 08:46:02
    Zitat von: Benni am 05 Dezember 2015, 08:02:12
    Hallo Reiner,

    nachdem es an dieser Stelle ja anscheinend öfter mal Änderungen seitens Google gibt wäre es vielleicht eine Überlegung Wert, die Goggle-Translator-URL über ein Attribut änderbar (überschreibbar) zu machen.

    Gruß Benni.

    Dafür!
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Dezember 2015, 14:37:24
    Hallo,

    auch dafür :)
    Das ist tatsächlich die einfachste Lösung, um das erstmal schnell vom Tisch zu bekommen...

    Ich bin gerade dabei, die Doku nachzuziehen, dann wird der Stand erstmal veröffentlicht. Das Attribut ist dann auch schon dabei...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Benni am 05 Dezember 2015, 14:43:02
    Cool!  8)
    Danke für die Schnelle Umsetzung!
    Titel: Antw:Sonos steuern
    Beitrag von: TecCheck am 05 Dezember 2015, 18:07:31
    Hi,

    Einverstanden und
    ebenfalls vielen Dank! 

    Wolfgang
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 06 Dezember 2015, 06:28:19
    Heute nacht ist mir (zum ersten mal) fhem hängen geblieben. Der letzte Eintrag im Log:


    2015.12.06 01:32:22 1: 10.0.0.4:55000 disconnected, waiting to reappear (WZ_TV)
    Can't use string ("6") as an ARRAY ref while "strict refs" in use at ./FHEM/00_SONOS.pm line 1803.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Dezember 2015, 10:17:24
    Hallo Ralli,

    das ist echt komisch. An der Stelle wird eine Gruppenkonstellation in die String-Darstellung umgewandelt.
    Das passiert aber ja nur als Reaktion auf ein "get Sonos Groups". Und dann sollte eigentlich auch keine einzelne 6 dort ankommen.

    Hast du irgendwas am Code verändert? Was wurde von dir gerade ausgeführt?
    Des Weiteren muss nicht immer die letzte Zeile im Log das sein, was auch als letztes ausgeführt wurde... die Ausgabe wird ja meistens gecached, und wenn der Prozess stirbt, wird nicht immer alles rausgeschrieben...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 06 Dezember 2015, 10:52:37
    Hallo Reiner,

    nein, ich habe nichts im Code verändert außer der einen Zeile für Google-Translate.

    Was nicht mehr ausgeführt wurde, war ein DOIF, welches mir jede Nacht Standard-Einstellungen wiederherstellt:


    ([04:00])
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER Stop)
    ((set Sonos Groups [Sonos_Bad], [Sonos_Esszimmer], [Sonos_Kind1], [Sonos_Schlafzimmer], [Sonos_Kind2], [Sonos_HWR]))
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER Volume 10)
    (set Sonos_.*:FILTER=TYPE=SONOSPLAYER LoadRadio SWR3)
    (set Sonos_Kind1 LoadRadio KiRaKa%20-%20KiRaKa%20-%20Der%20KinderRadioKanal%20des%20WDR.)
    (set Sonos_Kind2 LoadRadio KiRaKa%20-%20KiRaKa%20-%20Der%20KinderRadioKanal%20des%20WDR.)


    Das läuft aber eigentlich seit Tagen bereits einwandfrei. Was anderes wird und wurde um die Zeit nicht ausgeführt.

    Edit: ist eigentlich http://fhem.lmsoft.de/sonos/sonos_dev/controls_sonos.txt (steht im Wiki) nicht mehr aktuell? Bekomme ein 403.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Dezember 2015, 19:26:49
    Hi Ralli,

    hmm... er hat aus irgendeinem Grund den Scalar des Arrays übergeben (die Anzahl der Elemente ist hier ja 6)...
    Da hab ich grad keine Idee...

    Der Development-Server ist deaktiviert, da er von mir nicht mehr verwendet/gefüllt wird. Ich werde das entsprechende Kapitel im Wiki entfernen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 06 Dezember 2015, 22:00:44
    Hi Reiner,


    verfolgst du die Diskussion Text2Speech für andere Module zu erweitern, um dort zentral die TTS Funktionen abzuhandeln?
    http://forum.fhem.de/index.php/topic,17667.msg352267.html#msg352267 (http://forum.fhem.de/index.php/topic,17667.msg352267.html#msg352267)


    Finde ich generell interessant. Ggf. kann man so dann auch unterschiedliche Module einfach mischen, die auf den selben Cache zurückgreifen können.


    Man müsste dann auch nur an einer einzigen Stelle Anpassungen wie zB bei der Google TTS URL vornehmen.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Dezember 2015, 22:39:07
    Hi Loredo,

    da ist ja noch nicht viel passiert :)
    Da auch bei mir intern für die Durchsage ein PlayURITemp nach dem Erzeugen der Durchsagedatei verwendet wird, sollte ein Umstellen auf ein zentrales TTS-Modul kein Problem darstellen.

    Ich persönlich würde ein Modul mit der Konfiguration aller vom Anwender bevorzugten TTS-Anbieter vorziehen.
    Damit könnte man den Einbau in das eigene Modul (hier Sonos) direkt als Perl-Code-Aufruf machen, da der Code-(Prozedur-)Name direkt einheitlich und bekannt wäre.

    Ich dachte früher immer, dass das Text2Speech-Modul genau sowas machen würde (klingt vom Namen her so), bis ich mitbekommen habe, dass es für eine direkte Soundausgabe gemacht wurde...

    Also, wenn es da was spruchreifes gibt, dann kümmere ich mich gerne um den Einbau des Aufrufs in das Sonos-Modul. Im Zweifel einfach als neuen Sprachbefehl (als Beispiel vielleicht passend zum Modul "set Sonos_Wohnzimmer Text2Speech 30 de Hallo, hier die Durchsage"). Dann geht für einen Übergangszeitraum auch noch die bisherige Variante...

    Zum Veröffentlichen: Ich bin immer noch an der Doku dran. Es sind einige Readings (mit entsprechendem Setter) hinzugekommen, die alle beschrieben werden wollen. Dann wird erstmal mein Stand veröffentlicht, und es kann mit anderen Dingen weitergehen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: aherby am 08 Dezember 2015, 23:41:33
    Hallo Reiner,

    Danke das Du immer noch Neuerungen in das Modul mit aufnimmt.

    Die Trueplay-Aktivierung klappt super. Danke für die Umsetzung.

    Bei der Sub-Ausrichtung (SubPolarity) denke ich dass der Parameter die Platzierungseinstellung aktiviert oder deaktiviert. Daher ,,0" oder ,,1"
    Aber welche Ausrichtung dahintersteckt habe ich noch nicht herausgefunden. (kein Unterschied, A lauter, B lauter) sicher noch ein weitere Parameter
    oder Pegelanpassungen.

    Ich bin mr nicht sicher ob du folgende Funktion schon eingebaut hast:

    TV-Autoplay aktivieren / deaktivieren
    IR-Signale von einer Fernbedienung aktivieren / deaktivieren
    Gruppierung bei Autoplay aktivieren / deaktivieren

    Anbei mal wieder ein paar Mitschnitte.


    Sehr interessant finde ich den Vorschlag von Loredo ein zentrales Text2speak-Modul mit dem Sonos-Modul zu verbinden.

    Wenn wir dann irgendwann noch die Funktion von ,,Playerprofilen" mit z.B. Surround und Sub bei der Playbar, bilden der Surroundboxen als ein reines Stereopaar
    abspeichern zu können und mit nur einen Befehl verändern könnten, wäre das Modul perfekt.

    Danke

    Gruß
    aherby
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 11 Dezember 2015, 13:49:03
    Hallo,

    hat das mal jemand versucht:

    1. Man drückt am Player die Mute-Taste, der Player wird stumm.
    2. Das Sonos-Modul zeigt folgerichtig an: stopped.
    3. Nun versuche ich über fhem den Player wieder zu starten.  Weder auf "set Player Pause", noch auf "set Player Play" läuft die Wiedergabe wieder an.

    Direkt aus fhem funktioniert der Wechsel mit Pause/Play. Der Mute-Knopf am Player scheint also noch etwas anderes zu tun.

    Jemand eine Idee, wie ich den Player über fhem wieder aktivieren kann, wenn er händisch über den Mute-Knopf  deaktiviert wurde?

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 11 Dezember 2015, 20:38:29
    Hallo,
    auf welches Event muss ich bei "CreateStereoPair" und "SeparateStereoPair" reagieren um dies in einen DOIF weiterzuverarbeiten?
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Dezember 2015, 09:47:38
    Hallo,

    @Elektrolurch:
    ich habe das mal gerade an meinen Play:5 und an meinem Connect getestet. Das funktioniert hier alles normal.
    Wenn ein Stream läuft -> Taste drücken -> Status Stopped -> Play im Modul -> Player läuft wieder
    Wenn ein normaler Titel läuft -> Taste drücken -> Status Pause -> Play im Modul -> Player läuft wieder

    Was zeigt das Modul denn im Reading LastActionResult nach deinem Play-Versuch an?
    Pause brauchst du übrigens nicht probieren, das ist wirklich immer nur anhalten (wobei es bei einem Stream natürlich zu einem Stopped führt).

    @Christian:
    Wenn du das selber aufrufst, kannst du auf LastActionResult reagieren. Wenn das Paar-Erzeugen durch einen normalen Controller ausführst, bekommst du kein dediziertes Event dazu. Es taucht nur als neue Gruppierung auf (darauf kannst du natürlich reagieren :) )

    @All:
    Ich habe noch einen Fehler/ein Feature entdeckt: Es gibt nun einen neuen Repeat-Zustand, RepeatOne, womit ein einzelner Titel wiederholt wird. Leider wird aus diesem Grund der Repeat- und Shuffle-Zustand im Modul nicht mehr korrekt dargestellt. Ich habe das bei mir schon entsprechend umgebaut... ist also beim nächsten Veröffentlichen dabei...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 12 Dezember 2015, 11:33:28
    Hallo Reiner,

    Zitat:
    @Elektrolurch:
    ich habe das mal gerade an meinen Play:5 und an meinem Connect getestet. Das funktioniert hier alles normal.

    Mir kam das auch komisch vor, daher habe ich versucht, das Ganze mal einzukreisen.
    Also, wenn ich die Mute-Taste drücke, dann scheint der Sonos-Subprozess abzusürzen. Allerdings tritt dies nur bei einem Stereo-Paar auf.
    Das letzte Event ist "transportState stopped" und danach lässt sich gar kein Player über fhem mehr bedienen. Ich  muss dann die Subprozesse mit disable 1 und disable 0 wieder neu starten.

    Dazu muss ich wohl, da habe ich mal einen Abschnitt im wiki gelesen, wohl die Subprozesse von Sonos per Hand starten... (mit welchen Rechten? sudo? fhem selber läuft unter fhem), um die stdout umzulenken und zu sehen, an welcher Stelle der Prozess stirbt.

    Kleiner Vorschlag: Könnte man das Umlenken der Standardausgabe in ein File für die Subprozesse nicht per Attribut steuern? (z.B. debug = 1)

    Mal sehen, ob ich den Effekt einkreisen kann (und vor allem sicher reproduzieren :-))

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 12 Dezember 2015, 12:28:02
    Hi Elektrolurch,

    ich habe das auch mal mit einem Pärchen getestet. Das klappt bei mir... Da wirst du noch etwas suchen müssen :)

    In neueren Fhem-Versionen landet die Konsolenausgabe (sowohl STDOUT als auch STDERR) sowieso im normalen Fhem-Log, da es global umgelenkt wird. Deshalb landen ja auch diese IP-Modul-Fehler im Fhem-Log...
    Selber den Subprozess starten brauchst du dafür auch nicht...
    Da brauchst du also nichts mehr für tun, nur den Verboselevel hochdrehen...


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 12 Dezember 2015, 15:26:18
    Oh..
    Zitat:
    In neueren Fhem-Versionen landet die Konsolenausgabe (sowohl STDOUT als auch STDERR) sowieso im normalen Fhem-Log, da es global umgelenkt wird. Deshalb landen ja auch diese IP-Modul-Fehler im Fhem-Log...

    Das wusste ich nicht. Danke für den Hinweis. Dann werde ich mal für das Player-Pärchen  den loglevel hochdrehen und schauen, ob der Subprozess wieder terminiert.
    Ich hatte eigentlich was anderes getestet: Sprachausgabe bei gedrückter Mute-Taste. Und hatte mich gewundert, dass da nichts mehr kam, bis ich dann feststelte, das kein Player mehr auf fhem reagierte. Die Ursache könnte also noch was komplexer sein. Werde viel Spaß beim Suchen haben.

    Elektrolurch
    und danke für die Hinweise und die immer sher geduldigen Antworten, davon könnten sich manche andere eine Scheibe von abschneiden :-).
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 13 Dezember 2015, 21:35:01
    Hallo,

    ich habe mal Fhem upgedated und bekomme seitdem trotz restart etc im Log ständig Fehlermeldungen:

    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.


    Ein Löschen und Neuanlegen von allem was mit Sonos zu tun hat brachte keine Änderung. Nach dem Löschen gab es auch keine Fehlermeldungen mehr, die kamen erst wieder nach dem Neuanlegen

    Das Log wird mit dieser Fehlermeldung zugemüllt.

    Angestossene Sprachausgaben funktionieren.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 14 Dezember 2015, 06:03:06
    Zitat von: raspklaus am 13 Dezember 2015, 21:35:01
    Odd number of elements in hash assignment at /usr/local/share/perl/5.14.2/IO/Socket/IP.pm line 352, <$client> line 6.
    http://forum.fhem.de/index.php/topic,45336.msg372142.html#msg372142
    oder den Fix von Andre weiter oben im Thread benutzen.
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 14 Dezember 2015, 06:13:20
    Zitat von: dev0 am 14 Dezember 2015, 06:03:06
    oder den Fix von Andre weiter oben im Thread benutzen.

    ... welchen ich mittlerweile nicht mehr empfehlen kann, da damit bspw. einige Aktionen mit dem Fritzbox-Modul nicht mehr funktionieren (nutzt SSL).
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 14 Dezember 2015, 07:42:34
    Wo ist die sub zu finden ?

    Im fhem Verzeichnis gibt es keine *ip.pm
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 14 Dezember 2015, 08:18:15
    Steht in der Warnung doch drin?!
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 14 Dezember 2015, 17:12:36
    Hallo Reinerlein,
    Zitat@Christian:
    Wenn du das selber aufrufst, kannst du auf LastActionResult reagieren. Wenn das Paar-Erzeugen durch einen normalen Controller ausführst, bekommst du kein dediziertes Event dazu. Es taucht nur als neue Gruppierung auf (darauf kannst du natürlich reagieren :) )
    ..das mit LastActionResult habe ich gefunden, aber mir ist nicht klar,was Du mit der "neuen Gruppierung" meinst. Woran erkenne ich das Stereopaar, bzw. woran erkenne ich, dass es getrennt wurde.

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Dezember 2015, 19:11:19
    Hi Christian,

    das wird Sonos-Intern als Gruppe behandelt. Das bedeutet, dass das Reading "currentTrackURI" des rechten Lautsprechers die ID des anderen (linken) Players enthält, also z.B. "x-rincon:RINCON_000E5887EAE401400" und das Reading "fieldType" enthält "RF" (für Right-Front).
    Beim linken Player (in der Gruppe dann der Master) steht das Reading "fieldType" entsprechend auf "LF" (für Left-Front).

    Und natürlich gibt ein "get Sonos Groups" die beiden Player entsprechend als gruppiert aus. Damit alleine erkennt man aber kein Pärchen...

    Das düfte etwas schwieriger zu erkennen sein. Am Besten mittels eines DOIF, da die ganzen Readings nicht notwendigerweise in einem Rutsch diese neuen Werte erhalten...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 14 Dezember 2015, 20:45:47
    Zitat von: rapster am 21 November 2015, 13:36:53
    Hallo Reiner,

    ich habe zurzeit Empfangsprobleme bei einem SONOS-Player über das SONOSNET
    In einem solchen Fall scheint das SONOS Modul leider komplett zu sterben und auch die Kommunikation mit den restlichen Playern einzustellen.
    Der Subprozess läuft allerdings noch...  :-\

    Error loading SCPD document: Connection timed out at ./FHEM/00_SONOS.pm line 4902 thread 1.
    Error loading SCPD document:  at ./FHEM/00_SONOS.pm line 4931 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.150:1400 at ./FHEM/00_SONOS.pm line 3590 thread 1.
    2015.11.21 12:59:52.787 1: SONOS1: GroupRendering-Service-subscribing NOT successful
    Subscription request failed with error: 500 Server closed connection without sending any data back at ./FHEM/00_SONOS.pm line 5135 thread 1.
    Error loading SCPD document: Connection timed out at ./FHEM/00_SONOS.pm line 4943 thread 1.
    2015.11.21 12:57:05.135 3: .....
    2015.11.21 12:56:52.399 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2015.11.21 12:56:52.375 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2015.11.21 12:56:49.580 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    Smartmatch is experimental at ./FHEM/00_SONOS.pm line 5383.
    2015.11.21 12:56:49.310 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 2 Sekunde(n) darauf...


    Gruß
      Claudiu

    Hallo Reiner,

    das SONOS-Modul (neuste Version) ist mir in den letzten Tagen wieder mehrmals abgehaut. Ich denke weil mein einer Player manchmal Empfangsprobleme hat.

    Das eine mal konnte ich das hier im Log finden:
    2015.12.12 01:36:49.586 1: PERL WARNING: Use of uninitialized value $params in split at ./FHEM/00_SONOS.pm line 2027.
    Error loading SCPD document:  at ./FHEM/00_SONOS.pm line 4998 thread 1.
    Error loading SCPD document:  at ./FHEM/00_SONOS.pm line 5039 thread 1.
    Error loading SCPD document:  at ./FHEM/00_SONOS.pm line 5030 thread 1.


    Das letzte mal war vorhin erst direkt nach einem fhem-restart:
    2015.12.14 20:15:53.720 0: SONOS0: Can't bind Port 4711: Bind failed: Die Adresse wird bereits verwendet at ./FHEM/00_SONOS.pm line 8096.
    2015.12.14 20:15:53.720 0: SONOS0: Retries left (wait 30s): 8
    2015.12.14 20:16:23.751 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2015.12.14 20:16:25.460 1: localhost:4711 reappeared (SONOS)
    2015.12.14 20:16:26.527 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2015.12.14 20:16:26.550 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    Error loading SCPD document: Die Wartezeit für die Verbindung ist abgelaufen at ./FHEM/00_SONOS.pm line 4998 thread 1.

    Eine Aktion wurde sogar noch an einen Player gesendet (Mute), allerdings konnte das Modul anschließend mit keinem Player mehr kommunizieren.
    In fhem blieb der Status meiner 4 Player bei 2 appeared und bei 2 initalized.

    Falls es helfen würde dem Problem auf die Spur zu kommen, würde ich auch mal längere Zeit den verbose Level hochsetzen.
    Oder hast du einen anderen Tipp?

    Gruß
      Claudiu

    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 14 Dezember 2015, 21:45:50
    Zitat von: Reinerlein am 14 Dezember 2015, 19:11:19
    Hi Christian,

    das wird Sonos-Intern als Gruppe behandelt. Das bedeutet, dass das Reading "currentTrackURI" des rechten Lautsprechers die ID des anderen (linken) Players enthält, also z.B. "x-rincon:RINCON_000E5887EAE401400" und das Reading "fieldType" enthält "RF" (für Right-Front).
    Beim linken Player (in der Gruppe dann der Master) steht das Reading "fieldType" entsprechend auf "LF" (für Left-Front).

    Und natürlich gibt ein "get Sonos Groups" die beiden Player entsprechend als gruppiert aus. Damit alleine erkennt man aber kein Pärchen...

    Das düfte etwas schwieriger zu erkennen sein. Am Besten mittels eines DOIF, da die ganzen Readings nicht notwendigerweise in einem Rutsch diese neuen Werte erhalten...

    Grüße
    Reiner

    Hallo Reiner,
    danke Dir. So einfach ist es dann doch nicht! Ich habe per DOIF auf fieldType reagiert. Aber irgendwie wird "LF" nicht direkt gelöscht, wenn man das Pärchen wieder trennt.

    Deshalb funzt das hier nur, wenn ich das Stereopaar bilde. Beim Trennen bleibt "LF" im fieldType bestehen. Irgendwann ist es dann zwar weg, aber keine Ahnung wie und wann das passiert!

    ([KG.sk.SON.ZP_S3:fieldType] eq "LF")
    (set SonosDummy on)
    DOELSEIF
    ([KG.sk.SON.ZP_S3:fieldType] eq "")
    (set SonosDummy off)

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Dezember 2015, 22:16:29
    Hallo zusammen,

    @Claudiu: Das klingt irgendwie wieder mal nach einem Nicht-Sonosplayer. Kannst du (testweise) mal das neue Attribut "usedonlyIPs" verwenden?

    @Christian: Du hast recht, das Attribut wird erst beim Neu-Erkennen der Player zurückgesetzt. Beim Umgruppieren wurde dieses Feld nie auf Leer gesetzt, sondern hat nur einen neuen Wert bekommen, wenn eine neue Funktionalität im System erkannt wurde. Ich habe das mal korrigiert, werde aber nicht mehr heute zum Veröffentlichen kommen, da ich noch ein anderes Feature halbfertig habe, was da mit rein soll.
    Ich denke mal Morgen komme ich zum abschließenden Testen, und kann das ganze dann hochladen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 14 Dezember 2015, 22:20:25
    Hi Reiner,

    danke schonmal, allerdings ist das Attribut seit der Einführung schon gesetzt :)

    ...auch zuvor hatte ich schon versucht mit exclude möglichst alle Fremdgeräte auszuschließen da ich sowas auch zuerst vermutete.

    Gruß
      Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Dezember 2015, 22:26:25
    Hi Claudiu,

    schade :)
    Hmm, dann kann ich höchstens mal schauen, ob ich in dem UPnP-Modul das Fehlerhandling verbessern kann... ich gucke mal nach der nächsten Veröffentlichung...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 14 Dezember 2015, 22:39:37
    Hi Reiner,

    Danke dir schonmal, vielleicht findet sich ja was.

    Ich habe schon versucht ob ich das Problem irgendwie nachstellen kann, allerdings tritt es gefühlt immer am Wochenende oder manchmal Abends auf während der Nachbar mit seinen 5 Accesspoints (zusätzlich zu meinen 3) mithilft alle WLAN-Kanäle zuzuballern. Selber hab ich es noch nicht geschafft das SONOSNET zu killen :)

    Was mir aufgefallen ist, wenn das SONOSNET zusammenbricht verliert der Player auch oft seine komplette Playliste.
    Auch wenn er dann teilweise noch in der SONOS-App zu sehen ist, erhalte ich hier beim Versuch etwas abzuspielen auch nur Kommunikationsfehler Meldungen.

    Dazu hatte ich schon bei SONOS ein Ticket offen, in den Diagnosedaten war zu sehen das teilweise nurnoch 20% der Pakete am Player ankamen.

    Das ganze wär eigentlich halb so wild, wenn das Modul dadurch nicht komplett stillgelegt wird und in allen anderen Räumen dadurch auch nichts mehr funktioniert ;)

    Gruß
      Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 18 Dezember 2015, 13:11:21
    Hallo,
    ich muss doch noch mal eine Frage loswerden. Ich hae eine rg gebaut, die mir das stereopaar erstellt:
    Internals:
       DEF        KG.sk.SON.ZP_S3:<%icoSONOSPLAYER_icon-S3.png>,<Sonos&nbspTerasse>,fieldType,!Ein,!Aus
       NAME       rg.01.KG.sk.SON.ZP_S3
       NR         215
       NTFY_ORDER 50-rg.01.KG.sk.SON.ZP_S3
       STATE      Initialized
       TYPE       readingsGroup
       mayBeVisible 1
       Content:
         KG.sk.SON.ZP_S3 1
       Content2:
       DEVICES:
         ARRAY(0x1aac5b8)
       Fhem:
         lastDefChange 39
         last_update 1450440397.80755
       Helper:
         DEF
         commands   {'Ein' => 'set $DEVICE createStereoPair KG.sr.SON.ZP_S3', 'Aus' => 'set $DEVICE SeparateStereoPair'}
         valueFormat {if($READING eq "fieldType" and $VALUE eq "LF"){$VALUE = "on"} elsif($READING eq "fieldType" and $VALUE eq ""){$VALUE = "off"}}
         Cellstyle:
           c:2        style="width:120px"
         Positions:
           KG.sk.SON.ZP_S3.Aus 1:5
           KG.sk.SON.ZP_S3.Ein 1:4
           KG.sk.SON.ZP_S3.fieldType 1:3
         Valueicon:
           fieldType.off general_aus@grey
           fieldType.on general_an@lightgreen
         Values:
           formated:



             ARRAY(0x1b53d70)
             ARRAY(0x1b508e0)
             ARRAY(0x1b50490)
           orig:



             ARRAY(0x1b533c8)
             ARRAY(0xaa7f10)
             ARRAY(0x1763c58)
           prefixsuffix:



             ARRAY(0xaea968)
             ARRAY(0x1b8b958)
             ARRAY(0xae7340)
    Attributes:
       alias      Play 3 Stereopaar
       cellStyle  {'c:2' => 'style="width:120px"'}
       commands   {'Ein' => 'set $DEVICE createStereoPair KG.sr.SON.ZP_S3', 'Aus' => 'set $DEVICE SeparateStereoPair'}
       notime     1
       room       98-Sonos
       valueFormat {if($READING eq "fieldType" and $VALUE eq "LF"){$VALUE = "on"} elsif($READING eq "fieldType" and $VALUE eq ""){$VALUE = "off"}}
       valueIcon  {'fieldType.on' => 'general_an@lightgreen', 'fieldType.off' => 'general_aus@grey'}

    Das funktioniert auch. Allerdings wird das valueIcon nicht aktualisiert. Erst nach einem Refresh des Browsers. Warum macht er das nicht?
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 19 Dezember 2015, 10:46:32
    So, nun habe ich nach längerer Zeit mal wieder das Sonos-Modul aktiviert (attr disable auf 0 gesetzt) und habe postwendend im log folgende Meldung:
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    Out of memory!
    Perl exited with active threads:
    2 running and unjoined
    1 finished and unjoined
    0 running and detached
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    Content-Length header value was wrong, fixed at /usr/share/perl5/LWP/Protocol/http.pm line 207, <$client> line 7.
    Content-Length header value was wrong, fixed at /usr/share/perl5/LWP/Protocol/http.pm line 207, <$client> line 7.
    2015.12.19 11:28:47 1: readingsUpdate(mm_sonos_Wohnzimmer,numberOfTracks,2) missed to call readingsBeginUpdate first.
    2015.12.19 11:28:47 1: readingsUpdate(mm_sonos_Wohnzimmer,currentStreamAudio,1) missed to call readingsBeginUpdate first.
    2015.12.19 11:28:47 1: readingsUpdate(mm_sonos_Wohnzimmer,currentNormalAudio,) missed to call readingsBeginUpdate first.
    Content-Length header value was wrong, fixed at /usr/share/perl5/LWP/Protocol/http.pm line 207, <$client> line 7.
    2015.12.19 11:41:55 1: readingsUpdate(mm_sonos_Wohnzimmer,currentStreamAudio,) missed to call readingsBeginUpdate first.


    Es scheint aber vorerst mal alles zu funktionieren...
    Titel: Antw:Sonos steuern
    Beitrag von: joschy83 am 20 Dezember 2015, 12:02:04
    Hallo allerseits,

    ich bin ein fhem Neuling und würde gern über einen raspi mit EnOcean mein Sonos ein und ausschalten...

    gibt es irgendwo eine "einfache" Anleitung auf die aktuellen Versionen bezogen bzw. wo muss ich anfangen zu lesen?

    über die sufu oder google wird man ja mit Informationen erschlagen...

    das enocean Modul und einen Taster hab ich ans laufen gebracht.
    Sonos kann ich über fhem auch steuern.

    aber wie zum t..... startet man mit dem enOcean Taster SWR3 auf meinem SONOS_Bad?!

    kann mir bitte jemand helfen???

    Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 20 Dezember 2015, 12:13:18
    An den Taster ein notify hängen und darin den Befehl
    set mm_sonos_Badezimmer StartRadio /SWR1.Baden-Württemberg/

    Bei dir heisst das natürlich nicht unbedingt "mm_sonos_Badezimmer" und vermutlich hättest du gerne auch einen anderen Radiosender  :)

    Hilft dir das?
    Titel: Antw:Sonos steuern
    Beitrag von: Jarnsen am 20 Dezember 2015, 21:37:07
    Hallo,

    Habe Probleme mit dem SonosModul... Es werden nur 2 meiner 3 Play1 erkannt. Der Play 3 wird normal erkannt... Leider kann ich auch die Player nicht steuern... Die zusätzlich benötigten Pakete habe ich installiert...

    Hoffe mir kann jemand helfen


    Thx Jarnsen
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 20 Dezember 2015, 23:00:22
    Hi Jarnsen,

    da scheint der Sonosplayer ein Sonderzeichen im Namen zu haben... Zumindest noch vor dem Modul...

    Kannst du das mal checken?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Jarnsen am 20 Dezember 2015, 23:45:52
    Danke für deine schnelle Hilfe... Was so ein ß im Namen alles ausmacht.... Jetzt lässt sich alles wunderbar Steuern...

    Thx Jarnsen
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Dezember 2015, 00:02:04
    Hi Jarnsen,

    ich schaue mal, ob ich das UPnP-Modul dahingehend korrigieren kann... :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Jarnsen am 21 Dezember 2015, 11:45:09
    Zu Reinerlein,

    Oder im Wiki oder irgendwo anders darauf hinweisen das Sonderzeichen Probleme machen können...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Dezember 2015, 12:46:52
    Hi Jarnsen,

    das wäre ja keine schöne Lösung :)

    Ich habe da schon was gefunden... Damit gehen dann auch Smilies im Zonennamen :)
    Das sieht in Fhem lustig aus, wenn ein Aliasname (nicht der Devicename) auf der Oberfläche ein Bildchen/Smilie enthält. Wird allerdings nur auf Platformen dargestellt, die dieses Zeichen dann im Unicode auch enthalten, was für meine Mobilplatformen zutrifft, aber bei meinem Windowsbrowser bereits einen Platzhalter bei der Darstellung hervorruft...

    Ich muss das nur ausgiebig testen, da es doch eine tiefgreifende Anpassung ist. Deshalb dauert das Veröffentlichen noch etwas...
    Interessant war auch, dass ich das ja mit "normalen" Umlauten getestet hatte (die auch immer noch funktionierten), aber ein "ß" wohl trotzdem etwas besonderes ist...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern - out of memory
    Beitrag von: ujaudio am 23 Dezember 2015, 07:58:00
    Tja, seit ich das Sonos-Modul wieder aktiv habe (attr disable 0), habe ich auch wieder die folgenden Meldungen im Logfile
    Out of memory!
    Perl exited with active threads:
    2 running and unjoined
    1 finished and unjoined
    0 running and detached
    Current: "./FHEM/00_SONOS.pm", gPath: ""

    Gemerkt habe ich es, weil heute Morgen keine Musik lief - aber es gibt ja noch die Sonos-App  ;)

    Ich habe jetzt den raspberry neu gebootet, nun läuft alles wieder.
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 23 Dezember 2015, 08:09:10
    Hi Reiner,

    heute früh hat sich das Modul (alte Version 10131 2015-12-08 17:54:18Z) nach einem fhem-freeze von ~20 sec. durch reduceLog winkend verabschiedet :-)
    Evtl. hilft das ja die UPnP seite etwas "stabiler" zu bekommen.

    2015.12.23 05:30:53.835 3: CUL_HM set og_sz_licht toggle

    2015.12.23 04:12:26.908 1: SONOS1: Couldn't retrieve Current Transportsettings during Discovery: invalid method: ->GetTransportInfo() at ./FHEM/00_SONOS.pm line 5169 thread 1.
    Error loading SCPD document:  at ./FHEM/00_SONOS.pm line 5027 thread 1.
    (in cleanup) Unsubscription request failed with error: 500 Server closed connection without sending any data back at FHEM/lib/UPnP/ControlPoint.pm line 1025 thread 1.
    2015.12.23 04:03:46.668 1: SONOS1: ContentDirectory-Event: device 'Sonos_Bad' is marked as disappeared. Restarting discovery-process!
    2015.12.23 04:03:38.765 1: SONOS1: Alarm-Service-subscribing NOT successful
    Subscription request failed with error: 500 Can't connect to 192.168.1.103:1400 at ./FHEM/00_SONOS.pm line 5255 thread 1.
    2015.12.23 04:01:57.093 1: SONOS1: ZoneGroupTopology-Event: device 'Sonos_Bad' is marked as disappeared. Restarting discovery-process!
    Loading device description failed with error: 500 Server closed connection without sending any data back at ./FHEM/00_SONOS.pm line 3672 thread 1.

    2015.12.23 04:01:28.291 1: SONOS1: Couldn't retrieve Current Transportsettings during Discovery: Can't call method "GetPositionInfo" on an undefined value at ./FHEM/00_SONOS.pm line 5172.

    2015.12.23 04:01:20.920 3: at_reduceLog: reduceLog executed. Rows processed: 453467, deleted: 42369, updated: 1620, time: 20.91sec


    Der Subprozess lief anscheinend nach, allerdings fand keine Kommunikation mit den Playern mehr statt.

    Gruß
      Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 23 Dezember 2015, 08:17:53
    Kann ich die Player irgendwie neu einlesen?

    Ich habe zwei umbennant und zu einem Stereopaar gemacht.
    Wird ab so nicht in FHEM dargestellt.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 23 Dezember 2015, 08:55:50
    Zitat von: Mitch am 23 Dezember 2015, 08:17:53
    Wird ab so nicht in FHEM dargestellt.
    Player in FHEM löschen und neu anlegen lassen.
    Die bessere Vorgehensweise ist im Wiki (http://www.fhemwiki.de/wiki/SONOS#Kurze_Anmerkungen_zur_Sonos-Landschaftsgestaltung) beschrieben.
    Titel: Antw:Sonos steuern
    Beitrag von: OliS. am 23 Dezember 2015, 16:16:44
    Hallo, Reinerlein!

    Ich habe ein Problem mit dem Erkennen meiner Sonos-Player. Bevor ich das Problem hier in epischer Breite schildere, die Frage, macht es Sinn, einen neuen Thread zu erstellen, oder soll ich meine Frage in diesem hier stellen. Der Thread hier ist ja schon ziemlich umfangreich.

    Oli
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Dezember 2015, 16:57:36
    Hallo Oli,

    bei einem speziellen Problem würde ich einen eigenen Thread bevorzugen. Das findet man dann besser mit der Suche, und die Lösung ist auch dichter an der Frage...

    Grüße
    Reinerlein
    Titel: AirPlay
    Beitrag von: rapster am 23 Dezember 2015, 20:07:23
    Hab grad zufällig gefunden wie das SONOS-System AirPlay fähig wird, vll. brauchts ja einer.
    Hatte selber schon öfter das Bedürfniss den Sound während man sich gerade zusammen was auf iPad und co. anschaut auf SONOS auszugeben.

    Da das auf NodeJs aufbaut was bei mir aufgrund von Homebridge sowieso schon installiert ist, bin ich begeistert dass das nach 3 kurzen Shell-Befehlen sofort funktionierte.

    Mehr Infos findet man hier: https://github.com/stephen/airsonos

    Als Homebridge-User haben diese 2 Befehle zum installieren
    $ apt-get install libasound2-dev
    $ npm install airsonos -g

    und dieser zum starten ausgereicht
    airsonos(der Befehl sollte anschließend in ein init-Script o.ä. rein)

    PS. Sorry Reiner, will hier nicht den Thread kapern, wollte für den kleinen "Tipp" aber auch keinen eigenen Thread starten ;)

    Gruß
      Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Jarnsen am 24 Dezember 2015, 01:50:13
    Airsonos funktioniert, habe aber noch nicht hinbekommen das es im autostart im rc.local läuft. Klappt nicht. Habe
    /etc/bin/airsonos & disown hinzugefügt.
    Wer kann helfen


    Gesendet von iPhone mit Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 24 Dezember 2015, 10:58:37
    funktioniert die so installierte version inzwischen mit el capitan und iOS 9.2 ?

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 24 Dezember 2015, 11:21:09
    Mit IOS9.2 ja,
    habe allerdings keinen MAC.

    Gruß
      Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 25 Dezember 2015, 23:33:09
    Hallo Reinerlein,

    mein Log läuft mit folgenden Meldungen voll:

    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    2015.12.25 23:30:28.676 3: SONOS0: Connection accepted from localhost:37020
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    2015.12.25 23:30:58.684 3: SONOS0: Connection accepted from localhost:37029
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    2015.12.25 23:31:28.692 3: SONOS0: Connection accepted from localhost:37039
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    2015.12.25 23:31:58.699 3: SONOS0: Connection accepted from localhost:37059


    Hast Du einen Tipp für mich, wo das herkommt?


    Danke und Gruß

    Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 26 Dezember 2015, 00:18:01
    Habe auch eine "kleines" Problem :-)

    mein Reading RINCON_... wird immer länger :-(

    Habe meinen Cubietruck nach einem fehlgeschlagenen CPAN Perl Update komplett neu installiert und auch die Songs Player entsprechend NEU erkennen lassen und alle zusätzlichen Perl Module via CPAN ohne Fehler installiert.

    Als OS habe ich Jessy

    Weiß wer einen Rat? In dem 2. Code Block ist das komplette List eines von 3 Playern und das Solos Hauptdevice (verbose = 0 wurde hinterher von mir gesetzt .... nichts im Log zu finden

    RINCON_5CAAFD4452F001400:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__


    Internals:
       CFGFN
       DEF        RINCON_5CAAFD4452F001400_MR
       NAME       media.Sonos_Dusche
       NR         477
       NTFY_ORDER 50-media.Sonos_Dusche
       STATE      appeared
       TYPE       SONOSPLAYER
       UDN        RINCON_5CAAFD4452F001400_MR
       CHANGETIME:
       Helper:
         Dblog:
           Alarmlist:
             Mydblog:
               TIME       1451037056.59396
               VALUE      {}
           Alarmlistversion:
             Mydblog:
               TIME       1451037056.59396
               VALUE      RINCON_B8E9378943C601400:0
           Lastactionresult:
             Mydblog:
               TIME       1451084730.02825
               VALUE      Play
           Zonegroupid:
             Mydblog:
               TIME       1451085084.54399
               VALUE      RINCON_5CAAFD4452F001400:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__
           Currentnormalaudio:
             Mydblog:
               TIME       1451043618.48996
               VALUE      0
           Currentsenderinfo:
             Mydblog:
               TIME       1451084732.81856
               VALUE      Wird gestartet...
           Currenttrackprovider:
             Mydblog:
               TIME       1451037278.04397
               VALUE      Radio
           Currenttrackuri:
             Mydblog:
               TIME       1451037278.04397
               VALUE      http://edge.live.mp3.mdn.newmedia.nacamar.net/ps-radiowuppertal/livestream.mp3
           Infosummarize1:
             Mydblog:
               TIME       1451084734.51323
               VALUE      Radio Wuppertal:
           Infosummarize2:
             Mydblog:
               TIME       1451084734.51323
               VALUE      PLAYING => Radio Wuppertal:
           Presence:
             Mydblog:
               TIME       1451037049.45161
               VALUE      appeared
           State:
             Mydblog:
               TIME       1451084734.51323
               VALUE      currentSenderInfo:
           Transportstate:
             Mydblog:
               TIME       1451084731.45507
               VALUE      PLAYING
       Readings:
         2015-12-25 10:50:56   AlarmList       {}
         2015-12-25 10:50:56   AlarmListIDs
         2015-12-25 10:50:56   AlarmListVersion RINCON_B8E9378943C601400:0
         2015-12-25 02:08:12   AlarmRunning    0
         2015-12-25 02:08:12   AlarmRunningID
         2015-12-25 02:08:06   Balance         0
         2015-12-25 02:08:27   Bass            -2
         2015-12-25 02:08:12   CrossfadeMode   0
         2015-12-25 02:08:25   DailyIndexRefreshTime
         2015-12-25 02:08:26   FavouritesVersion RINCON_B8E9378943C601400,10
         2015-12-25 02:08:22   GroupMute       0
         2015-12-25 02:08:22   GroupVolume     7
         2015-12-25 02:08:12   HeadphoneConnected 0
         2015-12-26 00:05:30   LastActionResult Play: Success!
         2015-12-25 02:08:27   Loudness        1
         2015-12-25 02:08:12   Mute            0
         2015-12-25 02:08:27   OutputFixed     0
         2015-12-25 02:08:26   PlaylistsVersion RINCON_B8E9378943C601400,2
         2015-12-25 02:08:26   QueueHash       9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
         2015-12-25 02:08:26   QueueVersion
         2015-12-25 02:08:26   RadiosVersion   RINCON_B8E9378943C601400,10
         2015-12-25 02:08:12   Repeat          0
         2015-12-25 02:08:12   RepeatOne       0
         2015-12-25 02:08:12   Shuffle         0
         2015-12-25 02:08:12   SleepTimer      off
         2015-12-25 02:08:11   SleepTimerVersion
         2015-12-25 02:08:27   SubEnable       1
         2015-12-25 02:08:27   SubGain         0
         2015-12-25 02:08:27   SubPolarity     0
         2015-12-25 02:08:27   Treble          0
         2015-12-25 02:08:27   TruePlay        0
         2015-12-25 02:08:06   Volume          7
         2015-12-26 00:11:24   ZoneGroupID     RINCON_5CAAFD4452F001400:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__:__
         2015-12-25 02:08:12   currentAlbum
         2015-12-25 02:08:12   currentAlbumArtURI ./www/images/default/SONOSPLAYER/media.Sonos_Dusche_AlbumArt.gif
         2015-12-25 02:08:12   currentAlbumArtURL http://192.168.99.37:1400/getaa?s=1&u=x-sonosapi-stream%3as10843%3fsid%3d254%26flags%3d32
         2015-12-25 02:08:12   currentAlbumArtist
         2015-12-25 02:08:12   currentArtist
         2015-12-25 12:40:18   currentNormalAudio 0
         2015-12-25 02:08:12   currentOriginalTrackNumber
         2015-12-25 02:08:12   currentSender   Radio Wuppertal
         2015-12-25 02:08:12   currentSenderCurrent
         2015-12-26 00:05:34   currentSenderInfo
         2015-12-25 02:08:06   currentStreamAudio 1
         2015-12-25 02:08:12   currentTitle
         2015-12-25 02:08:06   currentTrack    1
         2015-12-25 02:08:06   currentTrackDuration 0:00:00
         2015-12-25 02:08:06   currentTrackPosition 0:00:00
         2015-12-25 10:54:38   currentTrackProvider Radio
         2015-12-25 10:54:38   currentTrackURI http://edge.live.mp3.mdn.newmedia.nacamar.net/ps-radiowuppertal/livestream.mp3
         2015-12-25 02:08:06   fieldType
         2015-12-26 00:05:34   infoSummarize1  Radio Wuppertal:
         2015-12-26 00:05:34   infoSummarize2  PLAYING => Radio Wuppertal:
         2015-12-25 02:08:12   infoSummarize3  Lautstärke: 7 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2015-12-25 02:08:12   infoSummarize4
         2015-12-25 02:08:06   location        http://192.168.99.37:1400/xml/device_description.xml
         2015-12-25 02:08:12   nextAlbum
         2015-12-25 02:08:12   nextAlbumArtURI ./www/images/default/SONOSPLAYER/media.Sonos_Dusche_NextAlbumArt.png
         2015-12-25 02:08:12   nextAlbumArtURL /fhem/sonos/cover/empty.jpg
         2015-12-25 02:08:12   nextAlbumArtist
         2015-12-25 02:08:12   nextArtist
         2015-12-25 02:08:12   nextOriginalTrackNumber
         2015-12-25 02:08:12   nextTitle
         2015-12-25 02:08:12   nextTrackDuration
         2015-12-25 02:08:12   nextTrackProvider
         2015-12-25 02:08:12   nextTrackURI
         2015-12-25 02:08:06   numberOfTracks  1
         2015-12-25 02:08:06   playerType      S1
         2015-12-25 10:50:49   presence        appeared
         2015-12-25 02:08:26   roomIcon        living
         2015-12-25 02:08:06   roomName        Dusche
         2015-12-25 02:08:06   roomNameAlias   Dusche
         2015-12-25 02:08:06   saveRoomName    Dusche
         2015-12-25 02:08:06   serialNum       5C-AA-FD-44-52-F0:E
         2015-12-25 02:08:06   softwareRevision 6.1
         2015-12-25 10:50:56   state           appeared
         2015-12-26 00:05:31   transportState  PLAYING
    Attributes:
       alias      Dusche
       event-on-change-reading .*
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       group      Dusche
       icon       icoSONOSPLAYER_icon-S1.png
       minVolume  0
       model      Sonos_S1
       room       Dusche,Media,media.Sonos
       sortby     1
       stateVariable Presence
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("media.Sonos_Dusche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("media.Sonos_Dusche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("media.Sonos_Dusche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("media.Sonos_Dusche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }


    Internals:
       CFGFN
       DEF        localhost:4711 30
       DELAYTIME  0
       DeviceName localhost:4711
       FD         24
       INTERVAL   30
       NAME       media.Sonos
       NR         467
       NTFY_ORDER 50-media.Sonos
       PARTIAL
       STATE      opened
       TYPE       SONOS
       WAITTIME   8
       CHANGETIME:
       Helper:
         Dblog:
           Zonegroupstate:
             Mydblog:
               TIME       1451037279.91695
               VALUE      <ZoneGroups><ZoneGroup Coordinator="RINCON_B8E9378943C601400" ID="RINCON_B8E9378943C601400:1"><ZoneGroupMember UUID="RINCON_B8E9378943C601400" Location="http://192.168.99.248:1400/xml/device_description.xml" ZoneName="Badezimmer" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="31.8-24090" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="52" WirelessMode="1" HasConfiguredSSID="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="1"/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFD4452F001400" ID="RINCON_5CAAFD4452F001400:1"><ZoneGroupMember UUID="RINCON_5CAAFD4452F001400" Location="http://192.168.99.37:1400/xml/device_description.xml" ZoneName="Dusche" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="31.8-24090" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="10" WirelessMode="1" HasConfiguredSSID="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFD444E5C01400" ID="RINCON_5CAAFD444E5C01400:1"><ZoneGroupMember UUID="RINCON_5CAAFD444E5C01400" Location="http://192.168.99.38:1400/xml/device_description.xml" ZoneName="Mobil" Icon="x-rincon-roomicon:portable" Configuration="1" SoftwareVersion="31.8-24090" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="4" WirelessMode="1" HasConfiguredSSID="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup></ZoneGroups>
       Readings:
         2015-12-25 10:54:39   ZoneGroupState  <ZoneGroups><ZoneGroup Coordinator="RINCON_B8E9378943C601400" ID="RINCON_B8E9378943C601400:1"><ZoneGroupMember UUID="RINCON_B8E9378943C601400" Location="http://192.168.99.248:1400/xml/device_description.xml" ZoneName="Badezimmer" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="31.8-24090" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="52" WirelessMode="1" HasConfiguredSSID="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="1"/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFD4452F001400" ID="RINCON_5CAAFD4452F001400:1"><ZoneGroupMember UUID="RINCON_5CAAFD4452F001400" Location="http://192.168.99.37:1400/xml/device_description.xml" ZoneName="Dusche" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="31.8-24090" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="10" WirelessMode="1" HasConfiguredSSID="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFD444E5C01400" ID="RINCON_5CAAFD444E5C01400:1"><ZoneGroupMember UUID="RINCON_5CAAFD444E5C01400" Location="http://192.168.99.38:1400/xml/device_description.xml" ZoneName="Mobil" Icon="x-rincon-roomicon:portable" Configuration="1" SoftwareVersion="31.8-24090" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="4" WirelessMode="1" HasConfiguredSSID="1" ChannelFreq="2447" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup></ZoneGroups>
         2015-12-25 10:50:40   state           opened
    Attributes:
       event-on-change-reading .*
       room       media.Sonos
       targetSpeakDir /opt/fhem/SonosSpeak
       targetSpeakMP3FileConverter /usr/bin/avconv -c mp3 %infile% %outfile%
       targetSpeakURL //cubie.heibox.intern/SonosSpeak
       verbose    0
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 26 Dezember 2015, 00:23:46
    Vll. hat sich der Fehler mit der neusten Version eingeschlichen, hast du mal eine ältere probiert (z.B. 00_SONOS und 21_SONOSPLAYER vom 08.12.) ?

    Gruß
      Claudiu
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 26 Dezember 2015, 00:42:11
    Zitat von: rapster am 26 Dezember 2015, 00:23:46
    Vll. hat sich der Fehler mit der neusten Version eingeschlichen, hast du mal eine ältere probiert (z.B. 00_SONOS und 21_SONOSPLAYER vom 08.12.) ?

    Gruß
      Claudiu

    bei mir war der Fehler schon immer :-(
    Titel: Antw:Sonos steuern
    Beitrag von: rapster am 26 Dezember 2015, 00:48:22
    Hm, scheint bei mir auch so zu sein, zwar akut nicht so ausgeprägt wie bei dir, ist mir allerdings nie aufgefallen :)

    An einem Player war die ZoneGroupID gerade:
    RINCON_B8E93783251E01400:__:__:__:__:__:__:__:__:__:__:__
    Nachdem ich den Player mal eben in eine Group getan habe schaut die ZoneGroupID wieder so aus:
    RINCON_B8E93783251E01400:__
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 26 Dezember 2015, 00:54:58
    Zitat von: rapster am 26 Dezember 2015, 00:48:22
    Hm, scheint bei mir auch so zu sein, zwar akut nicht so ausgeprägt wie bei dir, ist mir allerdings nie aufgefallen :)

    An einem Player war die ZoneGroupID gerade:
    RINCON_B8E93783251E01400:__:__:__:__:__:__:__:__:__:__:__
    Nachdem ich den Player mal eben in eine Group getan habe schaut die ZoneGroupID wieder so aus:
    RINCON_B8E93783251E01400:__

    aber nicht mehr lange :-)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Dezember 2015, 01:13:26
    Hallo,

    ich habe das Problem mit der ZoneGroupID gefunden. Sie wurde immer länger, wenn andere Playergruppierungen verändert wurden...

    Ist im nächsten Release drin. Ich warte noch auf ein paar Nachwehen der letzten Veröffentlichung :)

    Grüße
    Reiner
    Titel: SnoozeAlarm funktioniert nicht?
    Beitrag von: m0urs am 26 Dezember 2015, 09:33:25
    Hallo,

    bei mir scheint ein "set SONOS_Schlafzimmer SnoozeAlarm 10" o.ä. nicht zu funktionieren. Obwohl ein Alarm aktiv ist, wird dieser nicht pausiert. Mache ich was falsch oder funktioniert das generell nicht?

    Grüße
    Michael
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Dezember 2015, 09:42:30
    Hi Michael,

    da müsste eine Fehlermeldung in LastActionResult stehen... Du musst an der Stelle eine Zeit angeben.
    In deinem Fall also "00:00:10".

    Ich werde mal einbauen, dass man auch eine Zahl in Sekunden angeben kann...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 26 Dezember 2015, 11:34:41
    Zitat von: Reinerlein am 26 Dezember 2015, 01:13:26
    Hallo,

    ich habe das Problem mit der ZoneGroupID gefunden. Sie wurde immer länger, wenn andere Playergruppierungen verändert wurden...

    Ist im nächsten Release drin. Ich warte noch auf ein paar Nachwehen der letzten Veröffentlichung :)

    Grüße
    Reiner

    D a n k e
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 26 Dezember 2015, 19:25:49
    Zitat von: Reinerlein am 26 Dezember 2015, 09:42:30
    da müsste eine Fehlermeldung in LastActionResult stehen... Du musst an der Stelle eine Zeit angeben.
    In deinem Fall also "00:00:10".
    Ich werde mal einbauen, dass man auch eine Zahl in Sekunden angeben kann...

    Danke, Reiner, das war das Problem ;-) Damit ist es aus meiner Sicht nicht nötig, da smit den Sekunden einzubauen. Ein kurzer Hinweis in der DOku auf das Format ist m.E. völlig ausreichend.
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 28 Dezember 2015, 17:40:03
    Seit ich mein Sonos wieder aktiv habe gibt es jede Menge im Log zu lesen  ;)

    Unbalanced scopes: 41 more ENTERs than LEAVEs
    Unbalanced saves: 255 more saves than restores
    Unbalanced tmps: 39 more allocs than frees
    Unbalanced context: 33 more PUSHes than POPs
    2015.12.27 12:45:01 0: SONOS0: No Answer from Subprocess. Restart Sonos-Subprocess...
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    Content-Length header value was wrong, fixed at /usr/share/perl5/LWP/Protocol/http.pm line 207, <$client> line 7.
    Content-Length header value was wrong, fixed at /usr/share/perl5/LWP/Protocol/http.pm line 207, <$client> line 7.
    2015.12.27 15:52:04 1: readingsUpdate(mm_sonos_Wohnzimmer,transportState,PLAYING) missed to call readingsBeginUpdate first.
    2015.12.27 15:52:05 1: readingsUpdate(mm_sonos_Wohnzimmer,currentTrackURI,x-rincon-mp3radio://swr-mp3-m-swr1bw.akacast.akamaistream.net/7/245/137133/v1/gnl.akacast.akamaistream.net/swr-mp3-m-swr1bw) missed to call readingsBeginUpdate first.
    2015.12.27 15:52:05 1: readingsUpdate(mm_sonos_Wohnzimmer,currentTrackPosition,0:00:01) missed to call readingsBeginUpdate first.
    2015.12.27 15:52:05 1: readingsUpdate(mm_sonos_Wohnzimmer,currentTrack,1) missed to call readingsBeginUpdate first.
    2015.12.27 15:52:05 1: readingsUpdate(mm_sonos_Wohnzimmer,numberOfTracks,2) missed to call readingsBeginUpdate first.
    2015.12.27 15:52:05 1: readingsUpdate(mm_sonos_Wohnzimmer,currentStreamAudio,1) missed to call readingsBeginUpdate first.
    2015.12.27 15:52:05 1: readingsUpdate(mm_sonos_Wohnzimmer,currentNormalAudio,) missed to call readingsBeginUpdate first.
    Loading device description failed with error: 401 Unauthorised at ./FHEM/00_SONOS.pm line 3590 thread 1
    Loading device description failed with error: 401 Unauthorised at ./FHEM/00_SONOS.pm line 3590 thread 1
    Use of uninitialized value $bufferedTrackPosition in pattern match (m//) at ./FHEM/00_SONOS.pm line 5666, <$client> line 7.
    2015.12.27 19:45:36 1: readingsUpdate(mm_sonos_Wohnzimmer,currentStreamAudio,) missed to call readingsBeginUpdate first.
    Content-Length header value was wrong, fixed at /usr/share/perl5/LWP/Protocol/http.pm line 207, <$client> line 7.
    2015.12.28 10:24:48 1: readingsUpdate(mm_sonos_Wohnzimmer,numberOfTracks,2) missed to call readingsBeginUpdate first.
    2015.12.28 10:24:49 1: readingsUpdate(mm_sonos_Wohnzimmer,currentStreamAudio,1) missed to call readingsBeginUpdate first.
    2015.12.28 10:24:49 1: readingsUpdate(mm_sonos_Wohnzimmer,currentNormalAudio,) missed to call readingsBeginUpdate first.
    Loading device description failed with error: 500 Can't connect to 192.168.0.20:8838 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1
    Loading device description failed with error: 500 Can't connect to 192.168.0.20:8838 (timeout) at ./FHEM/00_SONOS.pm line 3590 thread 1


    Für die letzten beiden Zeilen gibt es eine Lösung, ich habe inzwischen einige IP auf der "Ignorierliste". Gibt es Hinweise zu den anderen Einträgen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 Dezember 2015, 18:37:25
    Hi Jürgen,

    das sieht so aus, als würden ein paar Pakete verloren gehen. Denn natürlich wird vorher ein BeginUpdate gesendet, sonst würde es ja nie funkionieren :)

    Diese Meldung mit der Content-Length im Header deutet darauf hin, dass etwas nicht vollständig oder korrekt übertragen wurde. Ich hatte das bei meinen Basteleien mit der Unicode-Benennung der Player. Dort kam in manchen Konstellationen (also mit Wide-Characters) nicht alles an...

    Vielleicht solltest du mal einen 5er Log machen, und die Zeilen um diese HTTP-Meldung hier posten... Dann kann man vielleicht erkennen, was er eigentlich gerade übertragen möchte, und was er daraus macht...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 28 Dezember 2015, 18:45:22
    Meine Sonosteile heißen Lounge, Wohnzimmer und Mobil - sollte also von den Namen her keine Probleme machen.

    Ich schalte mal jetzt das 5er-Log an, vielleicht sieht man dann auch, welche Ursachen die weiteren SONOS-FHEM-Problemchen haben, die ich da noch so habe...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 Dezember 2015, 19:45:36
    Hi Jürgen,

    das war ja auch nur ein Beispiel während meiner Entwicklung... In der aktuellen Version geht sowieso jeder Name (Mein Schlafzimmer hat jetzt zwei Knutschsmilies vorne und hinten :) ).

    Dann warten wir mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 29 Dezember 2015, 15:43:28
    Mein FadeIn beim Einschalten und FadeOut beim Ausschalten funktioniert seit einiger Zeit nicht mehr. Klar, habe ich mal wieder was falsch gemacht! In mehreren Durchgängen - zuletzt gestern und heute - habe ich nun alles mögliche nachgeprüft, aber nichts gefunden. Vielleicht bekomme ich hier noch einen Hinweis.
    Das Fade an sich geht ja bekanntermaßen so:
    set mm_sonos_Wohnzimmer Volume 33 1
    wobei in diesem Beispiel die 33 die neue Lautstärke ist und die 1 einen für mich gerade richtig langsamen Fade erzeugt. Wenn ich das auf der FHEM-Kommandozeile eingebe, funktioniert es bestens.

    Jetzt schalte ich mal das Sonos ein, nach ein paar vielen Sekunden triggert dann das notify:
    mm_sonos_Wohnzimmer:presence:.appeared {
      fhem ("sleep 2;
        set mm_sonos_Wohnzimmer StartRadio /SWR1.Baden-Württemberg/;
        sleep 2; set mm_sonos_Wohnzimmer Volume 55;
        sleep 2; set mm_sonos_Wohnzimmer Volume 11;
        sleep 5; set mm_sonos_Wohnzimmer Volume 46 1")
    }

    Der kurze laute Peak soll nur die Aktivboxen einschalten, danach soll die Lautstärke auf 46 anschwellen - aber von einem FadIn ist nichts (mehr) zu hören (früher funktionierte das) und die Endlaustärke ist 45!

    Wenn ich ausschalten, dann so:
    wk_sonosbutton:off {
      fhem("set mm_sonos_Wohnzimmer Volume 13 1");
      fhem("delete wk_sonosBM6_Off_Timer");
      fhem("define wk_sonosBM6_Off_Timer at +00:02:00 set wk_sonosBM6 off");
    }

    Zuerst FadeOut, dann 2 Minuten später die Aktivbxen und Sonos vom der Stromversorgung trennen. Es gibt aber kein FadeOut, sondern egal welche Lautstärke aktuell gerade eingestellt war, sie wird ohne Fade auf 45 gestellt.

    Es gibt im ganzen FHEM aber keine Einstellung der Lautstärke auf 45. Das habe ich überprüft!

    Ich habe aber letztendlich doch noch eine 45 gefunden: Es gibt ein Readings namens VolumeStore, das diesen Wert hat. Im Logfile sieht man auch, dass der Fade-Befehl "ankommt" und kurz darauf von einem Setzen der Lautstärke auf 45 ersetzt wird.  Wenn ich nun das Readings VolumeStore auf einen anderen Wert bringe (z.B. 52), dann gilt all das Gesagte, nur eben mit 52 statt 45!

    Mit verbose = 4 findet man im Logfile:
    2015.12.29 15:45:54 4: SONOS0: DoWorkAnswer arrived for mm_sonos_Wohnzimmer->LastActionResult: 'SetVolume: Ramp to 13 with Type 1 started'
    2015.12.29 15:45:54 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E582AB0EE01400_MR, def, NAME, RINCON_000E582AB0EE01400_MR) -> mm_sonos_Wohnzimmer
    2015.12.29 15:45:54 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E582AB0EE01400_MR, attr, disable, 0) -> DEFAULT
    2015.12.29 15:45:54 3: SONOS1: Event: Received Rendering-Event for Zone "mm_sonos_Wohnzimmer".
    2015.12.29 15:45:54 4: SONOS1: Rendering-Event: All correct with this service-call till now. UDN='uuid:RINCON_000E582AB0EE01400_MR'
    2015.12.29 15:45:54 4: SONOS1: Rendering-Event: LastChange: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volume channel="Master" val="37"/><Volume channel="LF" val="100"/><Volume channel="RF" val="100"/></InstanceID></Event>
    2015.12.29 15:45:54 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E582AB0EE01400_MR, attr, generateVolumeEvent, 0) -> 1
    2015.12.29 15:45:54 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E582AB0EE01400_MR, reading, Mute, 0) -> 0
    2015.12.29 15:45:54 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E582AB0EE01400_MR, reading, HeadphoneConnected, 0) -> 0
    2015.12.29 15:45:54 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_000E582AB0EE01400_MR, reading, Balance, 0) -> 0
    2015.12.29 15:45:55 4: SONOS0: DoWorkAnswer arrived for mm_sonos_Wohnzimmer->LastActionResult: 'SetVolume: 52'

    Wo kann die letzte Zeile herkommen? Wann wird VolumeStore genau benutzt, wie kann ich darauf Einfluss nehmen?

    Früher hatte ich das nicht benutzt, doch mittlerweile mache ich ein FadeOut, wenn das Telefon klingelt und ein FadeIn, wenn ich wieder auflege. Dazu benutze ich VolumeStore und irgendwo gibt es nun das Problem, welches ich einfach nicht lösen kann. Aber vielleicht gibt es hier doch noch einen Tipp!!?!


    EDIT: Es ist tatsächlich das Event "Ende des telefongesprächs" welches die Lautstärke setzt. Das kann man am Zeitpunkt des Auslösens des notify eindeutig erkennen! Nun muss ich irgendiwe herausfinden,warum das triggert...

    Ich lasse den Beitrag mal stehen, vielleicht ist er für andere hilfreich - ihr könnt ihn aber auch gerne löschen. Denn das Problem liegt ja woanders.
    Titel: Antw:Sonos steuern
    Beitrag von: Torben am 31 Dezember 2015, 08:59:48
    Hallo,

    ich habe fhem mit Sonos bisher auf einem Odroid U3 laufen lassen und bin nun auf einen Rpi. Dort habe ich alles frisch installiert und nur die fhem.cfg übernommen. Hier habe ich jetzt im log die Warnung:
    ZitatOdd number of elements in hash assignment at /usr/share/perl/5.20/IO/Socket/IP.pm line 109, <$client> line 7.
    und zwar 1 bis 40 Mal in direkter Folge.
    Zur Lösung habe ich bereits eine Lösung von justme
    Zitat von: justme1968 am 27 März 2015, 11:29:17
    die meldung ist meiner meinung nach ein fehler im einem der low level perl module und nicht sonos spezifisch. ich hatte hier: http://forum.fhem.de/index.php/topic,10033.msg259741.html#msg259741 (http://forum.fhem.de/index.php/topic,10033.msg259741.html#msg259741) schon mal etwas dazu geschrieben.

    gruss
      andre
    ausprobiert sowie auch die Prüfung der Zugriffsrechte auf die Cover sowohl in ./FHEM/lib/UPnP/ als auch in ./www/images/default/SONOSPLAYER/ gecheckt - ohne Erfolg.
    Kann es an der Perl-Version liegen? Der Fehler ist bei /usr/share/perl/5.20/... und es gibt auch /usr/share/perl5/... Kann man da irgendetwas verändern?

    Gruß
    Torben
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Dezember 2015, 09:13:17
    Hi Torben,

    es ist definitiv ein Fehler im Perl selbst. Ich persönlich finde die Lösung unter http://forum.fhem.de/index.php/topic,45336.msg372142.html#msg372142 (http://forum.fhem.de/index.php/topic,45336.msg372142.html#msg372142) am Besten (wenn sie hilft), da sie in der Funktionalität selbst Nebenwirkungsfrei ist.

    Das Auskommentieren der Zeile funktioniert wohl mit SSL bei anderen Verbindungen dann nicht mehr...

    Das ganze hat aber nichts mit Zugriffsrechten auf Datein zu tun...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Torben am 31 Dezember 2015, 09:29:45
    Hallo Reiner,

    vielen Dank für die rasche Antwort. Leider hilft das Auskommentiern nicht. Ich vermute, dass es ein etwas anderes Problem in Perl ist, weil sich der Workaround auf IP.pm line 352 bezieht und bei mir der Fehler in IP.pm line 109 steckt. Das müsste dann folgende Funktion sein:
    sub new
    {
       my $class = shift;
       my %arg = (@_ == 1) ? (PeerHost => $_[0]) : @_;
       return $class->SUPER::new(%arg);
    }


    Gruß
    Torben
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 31 Dezember 2015, 09:39:20
    die lösung mit dem abstellen der warnung sollte man noch mal genauer prüfen. als ich das damals debuggt habe ist mir aufgefallen das der hash der die meldung produziert bei jedem aufruf länger wurde und zum teil mehrere hundert falsche einträge hatte. das passiert beim auskommentieren nicht mehr.


    @Torben: schau mal ob du mehrere perl versionen (oder IP.pm versionen) installiert hast und gerade die falsche editierst.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Torben am 31 Dezember 2015, 09:46:15
    Hallo Andre,

    in /usr/share/perl/5.20 gibt es bei mir keinen Ordner LWP. Den gibt es nur in /usr/share/perl5/
    Daher dachte ich auch schon, dass es mit diesen zwei verschiedenen Perl-Versionen zusammenhängen könnte. Ich habe aber keine Ahnung, was ich tun könnte...

    Gruß
    Torben
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 31 Dezember 2015, 11:51:09
    Zitat von: justme1968 am 31 Dezember 2015, 09:39:20
    das passiert beim auskommentieren nicht mehr.

    Allerdings führt das wohl dann dazu, dass bspw. mit dem Modul FRITZBOX die Kommunikation zur Fritzbox nicht mehr korrekt funktioniert.
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 31 Dezember 2015, 11:55:12
    Da häng ich mich doch auch mal mit einer anderen Meldung dran, die mir nach jedem Update die Logdatei vollmüllt:

    ZitatLoading device description failed with error: 200 OK at ./FHEM/00_SONOS.pm line 3591 thread 1.

    Als Abhilfe ändere ich jedes Mal folgendes ab:

    Datei: /opt/fhem/FHEM/lib/UPnP/ControlPoint.pm

    Change ELSE zu ELSIF:

      # **URS** : "else" zu "elsif ( $response->code ne '200' )" geändert, wg. SONOS Fehlermeldung
        elsif ( $response->code ne '200' ) {
            carp("Loading device description failed with error: " .
                 $response->code . " " . $response->message);
        }

    Beim Update denkt FHEM aber immer, die Datei hat sich geändert und ändert sie wieder zurück.

    Ich würde sagen, diese Änderung ist unkritisch, denn wenn ein Error Code 200 zurückkommt, ist das ja kein Error sondern eher eine Erfolgsmeldung. Daher muss auch keine Meldung ausgegeben werden. Seht ihr das auch so? Wenn ja, wer ist Herr über diese Datei und könnte das ggf. mal in die offizielle version übernehmen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Dezember 2015, 12:18:25
    Hallo m0urs,

    ich passe das mal an...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 31 Dezember 2015, 12:37:11
    @Torben: lass mal ein find / -name LWP bzw. find / -name  IP.pm laufen. fhem neu gestartet hattest du aber ?

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Torben am 31 Dezember 2015, 15:45:39
    Hallo Andre,

    find / -name LWP liefert
    pi@raspberrypi:/ $ sudo find / -name LWP
    /usr/share/perl/5.20.2/CPAN/LWP
    /usr/share/perl5/LWP

    allerdings gibt es in dem Verzeichnis die http.pm nicht:
    pi@raspberrypi:/usr/share/perl/5.20.2/CPAN/LWP $ ls
    UserAgent.pm

    und find / -name  IP.pm liefert
    pi@raspberrypi:/ $ sudo find / -name  IP.pm
    /usr/share/perl/5.20.2/IO/Socket/IP.pm
    /opt/fhem/contrib/statistics/lib/Geo/IP.pm

    Die Datei in der auskommentiert werden soll LWP/Protocol/http.pm gibt es nur im Verzeichnis perl5:
    pi@raspberrypi:/ $ sudo find / -name http.pm
    /usr/share/perl5/LWP/Protocol/http.pm
    /usr/share/perl5/Regexp/Common/URI/http.pm
    /usr/share/perl5/URI/http.pm


    Gruß
    Torben
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 03 Januar 2016, 11:42:27
    Zitat von: CQuadrat am 25 Dezember 2015, 23:33:09
    Hallo Reinerlein,

    mein Log läuft mit folgenden Meldungen voll:

    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    2015.12.25 23:30:28.676 3: SONOS0: Connection accepted from localhost:37020
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    2015.12.25 23:30:58.684 3: SONOS0: Connection accepted from localhost:37029
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    2015.12.25 23:31:28.692 3: SONOS0: Connection accepted from localhost:37039
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3734 thread 1
    2015.12.25 23:31:58.699 3: SONOS0: Connection accepted from localhost:37059


    Hast Du einen Tipp für mich, wo das herkommt?


    Danke und Gruß

    Christoph


    Hat denn niemand eine Idee dazu?
    Da ich etwas am Entwickeln bin, ist es echt nervig, wenn das Log unnötig mit nichtgewollten Medlungen geflutet wird.

    Nachtrag: Ich nutze recht intensiv den nicht mehr angeboteten Sonos-Dock-Connector; kann es daran liegen, dass der vielleicht nicht zu 100% unterstützt wird?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2016, 12:53:19
    Hi Christoph,

    das kann schon sein. Du könntest mal eine zusätzlich Fehlermeldung in der Datei ControlPoint.pm (im Ordner lib/UPnP) einbauen.
    Such mal nach dem String "Loading Device description" (bei mir in Zeile 283), und füge mal folgende zusätzliche Ausgabe davor ein:

    carp('400-URL-Absolute-Error! Location: "'.$location.'", Content: "'.$response->content.'"') if ($response->code == 400);
    Das muss aber davor sein...

    Damit erhältst du jetzt eine Ausgabe des relevanten Parameters und der inhaltlichen Antwort vom Player dazu.
    Dann mal schauen, was da rauskommt. Das kann länger sein (oder auch nicht :) )...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: forum-merlin am 03 Januar 2016, 13:03:04
    Hallo Leute! "a guads neues wünsch ich!"

    kurze Frage...
    Ich habe seit kurzem auch ein paar Sonos Devices, sind auch eingebunden, und laufen schonmal ganz net in FHEM.
    Jetzt wollte ich die Sprachausgabe einbasteln, und hatte erst ein paar kleine Fehler.
    Dann auf Seite 153 dieses Threads habe ich gesehen dass sich was an der Google TTS URL verändert hatte und habe dann auch noch das Update ausgeführt. Die URL passt jetzt neben anderen Dingen auch in der 00_SONOS.pm die sonst noch gefixt wurden. Danke dafür an den Entwickler!


    Aber...
    Wie es scheint lässt Google seit ein paar Tagen keine "maschinellen" Requests mehr zu.
    Ich habe auch externe Quellen gefunden die das berichten. (Link kann nachgereicht werden wenn gewünscht)
    Es wird bei mir hier wenn ich die URL teste die händische Eingabe von einer Zeichenkette benötigt damit man da scheinbar weiterkommt bis die Ausgabe dann erfolgt.

    In FHEM bekomme ich beim Player einfach nur einen 503er
    "LastActionResult     Speak0: MP3-Creation ERROR during downloading: 503 Service Unavailable"


    Kann das jemand bestätigen oder widerlegen?
    Geht die Sprachausgabe bei Euch noch? Was gibt es ggf. für alternativen?

    Danke und Gruß

    der merlin



    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2016, 13:48:46
    Hi Merlin,

    ich habe das gerade bei mir getestet, und bei mir klappt die Durchsage noch.
    Es kann auch sein, dass es nach einer gewissen Menge an Anfragen von deiner IP nicht mehr funktioniert. Das kannst du ja testen, indem du deine Internet-Verbindung mal neu aufbauen läßt...

    Was du auf jeden Fall tun solltest, ist den Cache im Modul für die Sprachdurchsagen zu aktivieren. Dann werden bei wiederholter Verwendung desselben Textes keine Anfragen mehr an Google gesendet, sondern diese aus dem (Fhem-)lokalen Cache bedient.
    Dazu gibt es auch einige Hinweise im Wiki: http://www.fhemwiki.de/wiki/SONOS#Zusammenfassung_der_Spracheinrichtung (http://www.fhemwiki.de/wiki/SONOS#Zusammenfassung_der_Spracheinrichtung)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 03 Januar 2016, 14:30:25
    Zitat von: Reinerlein am 03 Januar 2016, 12:53:19
    Hi Christoph,

    das kann schon sein. Du könntest mal eine zusätzlich Fehlermeldung in der Datei ControlPoint.pm (im Ordner lib/UPnP) einbauen.
    Such mal nach dem String "Loading Device description" (bei mir in Zeile 283), und füge mal folgende zusätzliche Ausgabe davor ein:

    carp('400-URL-Absolute-Error! Location: "'.$location.'", Content: "'.$response->content.'"') if ($response->code == 400);
    Das muss aber davor sein...

    Damit erhältst du jetzt eine Ausgabe des relevanten Parameters und der inhaltlichen Antwort vom Player dazu.
    Dann mal schauen, was da rauskommt. Das kann länger sein (oder auch nicht :) )...

    Grüße
    Reiner

    Hallo Reiner,

    leider kommt da nicht mehr im Log.

    Viele Grüße
    Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2016, 14:34:07
    Hi Christoph,

    du hast aber sicher den SubProzess neugestartet?
    Also entweder Fhem komplett neustarten, oder am Sonos-Device (nicht am Playerdevice) das disable-Attribut auf "1" setzen, ein paar Sekunden warten, und wieder löschen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 03 Januar 2016, 14:41:40
    Habe sogar FHEM neugestartet. Mittlerweile sogar mehrmals
    Titel: Antw:Sonos steuern
    Beitrag von: forum-merlin am 03 Januar 2016, 14:56:37
    Hallo Reiner,

    ich habe das Attribute mal gesetzt, bringt aber keine Veränderung.
    Ich bekomme es garnicht hin überhaupt etwas auszugeben...

    Wenn ich von CMD auf meinem Pi diret ein wget absetze erhalte cih das hier:

    root@fhempi2:/opt/fhem/FHEM# --2016-01-03 14:50:04--  http://translate.google.com/translate_tts?tl=en
    Resolving translate.google.com (translate.google.com)... 173.194.116.161, 173.194.116.164, 173.194.116.166, ...
    Connecting to translate.google.com (translate.google.com)|173.194.116.161|:80... connected.
    HTTP request sent, awaiting response... 302 Found
    Location: http://ipv4.google.com/sorry/IndexRedirect?continue=http://translate.google.com/translate_tts%3Ftl%3Den&q=CGMSBE_WLbEYjM6ktAUiGQDxp4NLdxgB2WnWAuQQlqBXR9zZg7OvEBk [following]
    --2016-01-03 14:50:05--  http://ipv4.google.com/sorry/IndexRedirect?continue=http://translate.google.com/translate_tts%3Ftl%3Den&q=CGMSBE_WLbEYjM6ktAUiGQDxp4NLdxgB2WnWAuQQlqBXR9zZg7OvEBk
    Resolving ipv4.google.com (ipv4.google.com)... 74.125.232.102, 74.125.232.105, 74.125.232.103, ...
    Connecting to ipv4.google.com (ipv4.google.com)|74.125.232.102|:80... connected.
    HTTP request sent, awaiting response... 503 Service Unavailable
    2016-01-03 14:50:05 ERROR 503: Service Unavailable.



    Wenn ich das richtig verstehe wird heir ne weiterleitung gemacht oder?
    Und wenn ich dann nach dem 302er schaue komme ich auf diesen Beitrag in Wikipedia:
    https://de.wikipedia.org/wiki/HTTP-Statuscode#3xx_.E2.80.93_Umleitung

    Zitat: "302-Weiterleitung ist aufgrund eines Suchmaschinen-Fehlers, dem URL-Hijacking, in Kritik geraten."
    hmmm >> URL Highjacking...

    Frei unter dem motto "Never touch a running system" habe ich schon länger kein Pi Weezy OS Update mehr gemacht...
    Meint ihr da is was nötig damit das geht?

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2016, 15:43:19
    Hi Merlin,

    nein, das hat damit vermutlich nichts zu tun. Zunächst mal heißt ein 302er nur, dass die Ressource im Augenblick woanders zu holen ist, die verwendete Adresse aber grundsätzlich korrekt ist. Nicht mehr und nicht weniger...
    Normalerweise wird sowas für Serverwartungen o.ä. verwendet...
    Natürlich gibt es immer wieder findige Leute, die da irgendwas missbrauchen... aber bleiben wir erstmal bei den natürlichen Ursachen :)

    Hast du auch die aktuelle Google-URL verwendet?

    http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=Hier%20der%20Text


    Außerdem kann es sein, dass du unbedingt einen vernünftigen UserAgent mitsenden musst. Ich verwende im Modul folgendes:

    Mozilla/5.0 (Macintosh; Intel Mac OS X 10_8_2) AppleWebKit/537.11 (KHTML, like Gecko) Chrome/23.0.1271.64 Safari/537.11


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 03 Januar 2016, 16:12:22
    Grummel.
    Nach mehreren Neustarts sind die Meldungen jetzt ganz verschwunden; ohne Änderung an der Konfiguration.

    Titel: Antw:Sonos steuern
    Beitrag von: forum-merlin am 03 Januar 2016, 19:21:00
    Also ich weiss ned was genau es jetzt war, aber nachdem ich so ziemlich alles auf den heutigen Stand gebracht habe geht es jetzt.

    FHEMCMD>update
    FHEMCMD>shutdown restart

    ging noch nix.

    cmd>sudo apt-get update && sudo apt-get upgrade -y && sudo reboot
    FHEMCMD>set Sonos_Wohnzimmer Speak 20 de Waschmaschine ist fertig

    Ergebnis:

    LastActionResult             PlayURITemp: Success!


    So, dann bastel ich mal weiter :-)

    Schönen Abend Euch noch.

    Gruß

    der Merlin
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 04 Januar 2016, 18:49:08
    Ich möchte ja wirklich keine unqualifizierten Fragen stellen, aber nach fast jedem zweiten Update des Sonosmoduls wird einer der Player als initialized und disappeared angezeigt. Derzeitig ist der Player über die APP und die IP am Produktivsystem erreichbar.

    Auf meinem Testsystem habe ich nun gerade Sonos neu aktiviert und dort ist dergleiche  Player als appeared verfügbar.

    Ich hatte beim letzten Mal Sonos vom Produktivsystem gelöscht und neu aktiviert, dann war auch alles wieder in Ordnung, aber das Ganze kann ja kein Dauerzustand für ein Produktivsystem sein.

    Wie kann hier Abhilfe geschaffen werden ?
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 04 Januar 2016, 20:41:57
    Ich hätte gerne auf der Fernbedienung die Möglichkeit, den LineEingang und einen DefaultRadiosender anzuwäbhlen, wie muss man da herangehen?
    Titel: Antw:Sonos steuern
    Beitrag von: Torben am 04 Januar 2016, 21:47:35
    Hallo,

    mein ursprüngliches Problem
    Zitat von: Torben am 31 Dezember 2015, 08:59:48
    ...
    Zur Lösung habe ich bereits eine Lösung von justmeausprobiert sowie auch die Prüfung der Zugriffsrechte auf die Cover sowohl in ./FHEM/lib/UPnP/ als auch in ./www/images/default/SONOSPLAYER/ gecheckt - ohne Erfolg.
    Kann es an der Perl-Version liegen? Der Fehler ist bei /usr/share/perl/5.20/... und es gibt auch /usr/share/perl5/...
    ...
    habe ich durch eine neue Installation von Raspbian gelöst. Dabei habe ich anstatt jessie wieder wheezy genommen. Hier ist perl v5.14.2 im Einsatz und nun läuft es wieder. Allerdings habe ich mit der frischen Installation auch ein frisches Problem: speak macht nun Probleme. Wenn ich es aufrufe gibt es in den Events folgenden Fehler:
    2016-01-04 21:37:17 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    und im Log findet man:
    2016.01.04 21:37:16 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=%20Das%20ist%20ein%20Test%2C%20Das%20ist%20ein%20Test%2C%20Das%20ist%20ein%20Test%2C%20Das%20ist%20ein%20Test%2C%20Das%20ist%20ein%20Test%2C%20Das" to "/mnt/SonosSpeak/RINCON_000E5836F7A401400_MR_Speak_f51297b58778d3372c404d0fe8d3c17db2ee036e.mp31"
    2016.01.04 21:37:16 3: SONOS1: Load Google generated MP3 (2. Element) from "http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=ist%20ein%20Test" to "/mnt/SonosSpeak/RINCON_000E5836F7A401400_MR_Speak_f51297b58778d3372c404d0fe8d3c17db2ee036e.mp32"
    2016.01.04 21:37:16 3: SONOS1: Combine loaded chunks into "/mnt/SonosSpeak/RINCON_000E5836F7A401400_MR_Speak_f51297b58778d3372c404d0fe8d3c17db2ee036e.mp3"
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4215, <$client> line 7.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4215, <$client> line 7.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4222, <$client> line 7.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4223, <$client> line 7.
    2016.01.04 21:37:16 2: SONOS1: Beim Setzen der MP3-Informationen (ID3TagV2) ist ein Fehler aufgetreten: Can't call method "config" on an undefined value at ./FHEM/00_SONOS.pm line 3679, <$client> line 7.

    Hier hatte ich extra einen etwas längeren Text genommen, damit mehrere Teile von Google geliefert werden. Auch mit einem kurzen Text läuft es nicht.

    Kann mir hierbei jemand helfen?

    Gruß
    Torben
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Januar 2016, 23:20:39
    Hi Torben,

    liegen denn im Ordner "/mnt/SonosSpeak/" die heruntergeladenen Dateien?
    Für mich sieht das nach fehlenden Schreibrechten am Ordner aus.

    Mach mal ein

    sudo chmod 777 /mnt/SonosSpeak/
    Das gibt (Schreib-)Rechte für alle an dem Ordner. Wenn es geht, kannst du die Rechte ja wieder kleiner machen, solange es halt noch geht. Der Ordner dürfte aber meistens eher unkritisch sein... man will ja was hören :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Torben am 05 Januar 2016, 12:31:51
    Hallo Reiner,
    Vielen Dank. Das war es natürlich, weil fhem bisher nicht als root lief.
    Gruß
    Torben
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 Januar 2016, 18:04:01
    Ich muss nun doch nochmal meine Frage stellen:

    Hier das Listing der betroffenen Sonos:

    Internals:
       DEF        RINCON_B8E937EB6BD801400_MR
       NAME       Sonos_Terrasse
       NR         624
       NTFY_ORDER 50-Sonos_Terrasse
       STATE      initialized
       TYPE       SONOSPLAYER
       UDN        RINCON_B8E937EB6BD801400_MR
       Readings:
         2016-01-05 04:02:07   AlarmList       ~~NotLoadedMarker~~
         2016-01-05 04:02:07   AlarmListIDs    ~~NotLoadedMarker~~
         2016-01-05 04:02:07   AlarmListVersion ~~NotLoadedMarker~~
         2015-12-21 17:28:51   AlarmRunning    0
         2015-12-21 17:28:51   AlarmRunningID
         2015-12-21 17:28:48   Balance         0
         2015-12-21 17:28:51   Bass            0
         2015-12-21 17:28:51   CrossfadeMode   0
         2015-12-21 17:28:51   DailyIndexRefreshTime 02:00:00
         2015-12-21 17:28:51   FavouritesVersion RINCON_B8E9378DD22801400,17
         2015-12-21 17:28:51   GroupMute       0
         2015-12-21 17:28:51   GroupVolume     51
         2015-12-21 17:28:51   HeadphoneConnected 0
         2016-01-05 04:02:07   LastActionResult ~~NotLoadedMarker~~
         2015-12-21 17:28:51   Loudness        1
         2015-12-21 17:28:51   Mute            0
         2015-12-21 17:28:51   OutputFixed     0
         2015-12-21 17:28:51   PlaylistsVersion RINCON_B8E9378B251401400,3
         2015-12-21 17:28:51   QueueHash       9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
         2015-12-21 17:28:51   QueueVersion
         2015-12-21 17:28:51   RadiosVersion   RINCON_B8E9378DD22801400,17
         2015-12-21 17:28:51   Repeat          0
         2015-12-21 17:28:51   RepeatOne       0
         2015-12-21 17:28:51   Shuffle         0
         2015-12-21 17:28:51   SleepTimer      off
         2015-12-21 17:28:51   SleepTimerVersion
         2015-12-21 17:28:51   SubEnable       1
         2015-12-21 17:28:51   SubGain         0
         2015-12-21 17:28:51   SubPolarity     0
         2015-12-21 17:28:51   Treble          0
         2015-12-21 17:28:51   TruePlay        0
         2015-12-21 17:28:48   Volume          51
         2015-12-21 17:28:51   ZoneGroupID     RINCON_B8E937EB6BD801400:__
         2015-12-21 17:32:35   ZoneGroupName   Terrasse
         2015-12-21 17:32:35   ZonePlayerUUIDsInGroup RINCON_B8E937EB6BD801400
         2015-12-21 17:28:51   currentAlbum
         2015-12-21 17:28:51   currentAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Terrasse_AlbumArt.png
         2015-12-21 17:28:51   currentAlbumArtURL /fhem/sonos/cover/empty.jpg
         2015-12-21 17:28:51   currentAlbumArtist
         2015-12-21 17:28:51   currentArtist
         2015-12-21 17:28:48   currentNormalAudio 1
         2015-12-21 17:28:51   currentOriginalTrackNumber
         2015-12-21 17:28:51   currentSender
         2015-12-21 17:28:51   currentSenderCurrent
         2015-12-21 17:28:51   currentSenderInfo
         2015-12-21 17:28:48   currentStreamAudio
         2015-12-21 17:28:51   currentTitle
         2015-12-21 17:28:48   currentTrack    0
         2015-12-21 17:28:48   currentTrackDuration 0:00:00
         2015-12-21 17:28:48   currentTrackPosition 0:00:00
         2015-12-21 17:28:48   currentTrackProvider
         2015-12-21 17:28:48   currentTrackURI
         2015-12-21 17:28:48   fieldType
         2015-12-21 17:28:51   infoSummarize1  [Keine Musikdatei]
         2015-12-21 17:28:51   infoSummarize2  STOPPED => [Keine Musikdatei]
         2015-12-21 17:28:51   infoSummarize3  Lautstärke: 51 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2015-12-21 17:28:51   infoSummarize4
         2015-12-21 17:28:48   location        http://192.200.100.170:1400/xml/device_description.xml
         2015-12-21 17:28:51   nextAlbum
         2015-12-21 17:28:51   nextAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Terrasse_NextAlbumArt.png
         2015-12-21 17:28:51   nextAlbumArtURL /fhem/sonos/cover/empty.jpg
         2015-12-21 17:28:51   nextAlbumArtist
         2015-12-21 17:28:51   nextArtist
         2015-12-21 17:28:51   nextOriginalTrackNumber
         2015-12-21 17:28:51   nextTitle
         2015-12-21 17:28:51   nextTrackDuration
         2015-12-21 17:28:51   nextTrackProvider
         2015-12-21 17:28:51   nextTrackURI
         2015-12-21 17:28:48   numberOfTracks  0
         2015-12-21 17:28:48   playerType      S1
         2016-01-05 04:02:07   presence        ~~NotLoadedMarker~~
         2015-12-21 17:28:51   roomIcon        patio
         2015-12-21 17:28:48   roomName        Terrasse
         2015-12-21 17:28:48   roomNameAlias   Terrasse
         2015-12-21 17:28:48   saveRoomName    Terrasse
         2015-12-21 17:28:48   serialNum       B8-E9-37-EB-6B-D8:1
         2015-12-21 17:28:48   softwareRevision 6.0
         2016-01-05 04:02:06   state           initialized
         2015-12-21 17:28:48   transportState  STOPPED
    Attributes:
       alias      Terrasse
       devStateIcon disappeared:ios-off initialized:ios-on-blue appeared:ios-on-green
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       group      Terrasse
       icon       icoSONOSPLAYER_icon-S1.png
       minVolume  0
       model      Sonos_S1
       room       Garten,Sonos
       sortby     1
       stateVariable Presence
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Terrasse", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Terrasse", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Terrasse", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Terrasse", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }


    Ich finde keinen Grund, warum der Player auf disappeared steht.

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Januar 2016, 18:37:00
    Hallo raspklaus,

    wie sollen wir denn daran erkennen, warum der Player nicht entdeckt wird? Dort ist nur zu erkennen, dass er gerade nicht erkannt wird, oder z.B. nicht angeschaltet ist...
    Entweder der Player meldet sich nicht sauber im Netzwerk, oder das Modul hat im SubProzess einen Fehler, und würde den dann auch entsprechend loggen.

    Also, wir benötigen ein Log des Startvorgangs (wenn der Player dort sicher nicht erkannt wird). Mindestens auf Verbose 4. Wenn dort keinerlei Fehler zu erkennen sind, dann besser einen 5er Log erstellen.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 Januar 2016, 18:55:43
    Ich gehe mal davon aus, das Log für den Player  und nicht für Sonos ?

    Wie gesagt, parallel dazu habe ich auf einem Testsystem Sonos definiert und dort wird auch dieser Player als appeared angezeigt.

    Die Player hängen auch nicht über Wlan dran, sondern sind verkabelt
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 Januar 2016, 19:15:38
    Hier das Log:

    [code]2016.01.05 19:06:54 5: SONOS0: Neu-Enabled
    2016.01.05 19:06:54 5: SONOS0: Call AttributeFn: Start SubProcess...
    2016.01.05 19:06:55 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2016.01.05 19:06:57 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2016.01.05 19:07:03 3: Opening Sonos device localhost:4711
    2016.01.05 19:07:03 3: Sonos device opened
    2016.01.05 19:07:03 3: SONOS0: Connection accepted from localhost:52648
    2016.01.05 19:07:04 5: SONOS0: SetData:Sonos:5:syn:192.200.100.186,192.200.100.172,102.200.100.170:192.168.178.1,192.168.10.1,192.168.178.2,192.200.100.165:Sonos_Buero,Sonos_Terrasse,Sonos_Wohnzimmer:RINCON_B8E9378B251401400_MR,RINCON_B8E937EB6BD801400_MR,RINCON_B8E9378DD22801400_MR
    2016.01.05 19:07:04 5: SW: 536574446174613a536f6e6f733a353a73796e3a3139322e3230302e3130302e3138362c3139322e3230302e3130302e3137322c3130322e3230302e3130302e3137303a3139322e3136382e3137382e312c3139322e3136382e31302e312c3139322e3136382e3137382e322c3139322e3230302e3130302e3136353a536f6e6f735f427565726f2c536f6e6f735f54657272617373652c536f6e6f735f576f686e7a696d6d65723a52494e434f4e5f42384539333738423235313430313430305f4d522c52494e434f4e5f42384539333745423642443830313430305f4d522c52494e434f4e5f42384539333738444432323830313430305f4d520a
    2016.01.05 19:07:04 5: SONOS0: Received: 'SetData:Sonos:5:syn:192.200.100.186,192.200.100.172,102.200.100.170:192.168.178.1,192.168.10.1,192.168.178.2,192.200.100.165:Sonos_Buero,Sonos_Terrasse,Sonos_Wohnzimmer:RINCON_B8E9378B251401400_MR,RINCON_B8E937EB6BD801400_MR,RINCON_B8E9378DD22801400_MR'
    2016.01.05 19:07:04 5: SONOS0: SetValues:SONOS:targetSpeakMP3FileDir=%2Fmedia%2FSonosMP3|targetSpeakDir=%2Fmedia%2FSonosSpeak|targetSpeakFileTimestamp=1|INTERVAL=30|disable=0|NAME=Sonos|targetSpeakURL=%5C%5C192.200.100.95%5CSonosSpeak
    2016.01.05 19:07:04 5: SW: 53657456616c7565733a534f4e4f533a746172676574537065616b4d503346696c654469723d2532466d65646961253246536f6e6f734d50337c746172676574537065616b4469723d2532466d65646961253246536f6e6f73537065616b7c746172676574537065616b46696c6554696d657374616d703d317c494e54455256414c3d33307c64697361626c653d307c4e414d453d536f6e6f737c746172676574537065616b55524c3d2535432535433139322e3230302e3130302e3935253543536f6e6f73537065616b0a
    2016.01.05 19:07:04 5: SONOS0: Received: 'SetValues:SONOS:targetSpeakMP3FileDir=%2Fmedia%2FSonosMP3|targetSpeakDir=%2Fmedia%2FSonosSpeak|targetSpeakFileTimestamp=1|INTERVAL=30|disable=0|NAME=Sonos|targetSpeakURL=%5C%5C192.200.100.95%5CSonosSpeak'
    2016.01.05 19:07:04 5: SONOS0: SetValues:RINCON_B8E9378B251401400_MR:OutputFixed=0|Volume=50|AlarmList=%7B%7D|QueueVersion=|fieldType=|AlarmListIDs=|roomName=B%C3%BCro|presence=disappeared|currentTitle=|SubEnable=1|location=http%3A%2F%2F192.200.100.172%3A1400%2Fxml%2Fdevice_description.xml|Bass=4|AlarmListVersion=RINCON_B8E9378B251401400%3A0|ZoneGroupID=RINCON_B8E9378B251401400%3A__|HeadphoneConnected=0|Mute=0|SubPolarity=0|PlaylistsVersion=RINCON_B8E9378B251401400%2C3|GroupMute=0|SubGain=0|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|ZoneGroupName=B%C3%BCro|Treble=8|roomNameAlias=B%C3%BCro|Balance=0|roomIcon=office|TruePlay=0|ZonePlayerUUIDsInGroup=RINCON_B8E9378B251401400|SleepTimerVersion=|NAME=Sonos_Buero|currentArtist=|GroupVolume=50|minVolume=0|RadiosVersion=RINCON_B8E9378DD22801400%2C17|getAlarms=1|currentAlbum=|FavouritesVersion=RINCON_B8E9378DD22801400%2C17|Loudness=1
    2016.01.05 19:07:04 5: SW: 53657456616c7565733a52494e434f4e5f42384539333738423235313430313430305f4d523a4f757470757446697865643d307c566f6c756d653d35307c416c61726d4c6973743d2537422537447c517565756556657273696f6e3d7c6669656c64547970653d7c416c61726d4c6973744944733d7c726f6f6d4e616d653d42254333254243726f7c70726573656e63653d64697361707065617265647c63757272656e745469746c653d7c537562456e61626c653d317c6c6f636174696f6e3d687474702533412532462532463139322e3230302e3130302e31373225334131343030253246786d6c2532466465766963655f6465736372697074696f6e2e786d6c7c426173733d347c416c61726d4c69737456657273696f6e3d52494e434f4e5f4238453933373842323531343031343030253341307c5a6f6e6547726f757049443d52494e434f4e5f42384539333738423235313430313430302533415f5f7c4865616470686f6e65436f6e6e65637465643d307c4d7574653d307c537562506f6c61726974793d307c506c61796c6973747356657273696f6e3d52494e434f4e5f4238453933373842323531343031343030253243337c47726f75704d7574653d307c5375624761696e3d307c5175657565486173683d39613163376565326337636533386434626262616632396162396632616331657c5a6f6e6547726f75704e616d653d42254333254243726f7c547265626c653d387c726f6f6d4e616d65416c6961733d42254333254243726f7c42616c616e63653d307c726f6f6d49636f6e3d6f66666963657c54727565506c61793d307c5a6f6e65506c617965725555494473496e47726f75703d52494e434f4e5f42384539333738423235313430313430307c536c65657054696d657256657273696f6e3d7c4e414d453d536f6e6f735f427565726f7c63757272656e744172746973743d7c47726f7570566f6c756d653d35307c6d696e566f6c756d653d307c526164696f7356657273696f6e3d52494e434f4e5f423845393337384444323238303134303025324331377c676574416c61726d733d317c63757272656e74416c62756d3d7c4661766f75726974657356657273696f6e3d52494e434f4e5f423845393337384444323238303134303025324331377c4c6f75646e6573733d310a
    2016.01.05 19:07:04 5: SONOS0: Received: 'SetValues:RINCON_B8E9378B251401400_MR:OutputFixed=0|Volume=50|AlarmList=%7B%7D|QueueVersion=|fieldType=|AlarmListIDs=|roomName=B%C3%BCro|presence=disappeared|currentTitle=|SubEnable=1|location=http%3A%2F%2F192.200.100.172%3A1400%2Fxml%2Fdevice_description.xml|Bass=4|AlarmListVersion=RINCON_B8E9378B251401400%3A0|ZoneGroupID=RINCON_B8E9378B251401400%3A__|HeadphoneConnected=0|Mute=0|SubPolarity=0|PlaylistsVersion=RINCON_B8E9378B251401400%2C3|GroupMute=0|SubGain=0|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|ZoneGroupName=B%C3%BCro|Treble=8|roomNameAlias=B%C3%BCro|Balance=0|roomIcon=office|TruePlay=0|ZonePlayerUUIDsInGroup=RINCON_B8E9378B251401400|SleepTimerVersion=|NAME=Sonos_Buero|currentArtist=|GroupVolume=50|minVolume=0|RadiosVersion=RINCON_B8E9378DD22801400%2C17|getAlarms=1|currentAlbum=|FavouritesVersion=RINCON_B8E9378DD22801400%2C17|Loudness=1'
    2016.01.05 19:07:04 5: SONOS0: SetValues:RINCON_B8E937EB6BD801400_MR:OutputFixed=0|Volume=51|AlarmList=~~NotLoadedMarker~~|QueueVersion=|fieldType=|AlarmListIDs=~~NotLoadedMarker~~|roomName=Terrasse|presence=disappeared|currentTitle=|SubEnable=1|location=http%3A%2F%2F192.200.100.170%3A1400%2Fxml%2Fdevice_description.xml|Bass=0|AlarmListVersion=~~NotLoadedMarker~~|ZoneGroupID=RINCON_B8E937EB6BD801400%3A__|HeadphoneConnected=0|Mute=0|SubPolarity=0|PlaylistsVersion=RINCON_B8E9378B251401400%2C3|GroupMute=0|SubGain=0|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|ZoneGroupName=Terrasse|Treble=0|roomNameAlias=Terrasse|Balance=0|roomIcon=patio|TruePlay=0|ZonePlayerUUIDsInGroup=RINCON_B8E937EB6BD801400|SleepTimerVersion=|NAME=Sonos_Terrasse|currentArtist=|GroupVolume=51|minVolume=0|RadiosVersion=RINCON_B8E9378DD22801400%2C17|getAlarms=1|currentAlbum=|FavouritesVersion=RINCON_B8E9378DD22801400%2C17|Loudness=1
    2016.01.05 19:07:04 5: SW: 53657456616c7565733a52494e434f4e5f42384539333745423642443830313430305f4d523a4f757470757446697865643d307c566f6c756d653d35317c416c61726d4c6973743d7e7e4e6f744c6f616465644d61726b65727e7e7c517565756556657273696f6e3d7c6669656c64547970653d7c416c61726d4c6973744944733d7e7e4e6f744c6f616465644d61726b65727e7e7c726f6f6d4e616d653d54657272617373657c70726573656e63653d64697361707065617265647c63757272656e745469746c653d7c537562456e61626c653d317c6c6f636174696f6e3d687474702533412532462532463139322e3230302e3130302e31373025334131343030253246786d6c2532466465766963655f6465736372697074696f6e2e786d6c7c426173733d307c416c61726d4c69737456657273696f6e3d7e7e4e6f744c6f616465644d61726b65727e7e7c5a6f6e6547726f757049443d52494e434f4e5f42384539333745423642443830313430302533415f5f7c4865616470686f6e65436f6e6e65637465643d307c4d7574653d307c537562506f6c61726974793d307c506c61796c6973747356657273696f6e3d52494e434f4e5f4238453933373842323531343031343030253243337c47726f75704d7574653d307c5375624761696e3d307c5175657565486173683d39613163376565326337636533386434626262616632396162396632616331657c5a6f6e6547726f75704e616d653d54657272617373657c547265626c653d307c726f6f6d4e616d65416c6961733d54657272617373657c42616c616e63653d307c726f6f6d49636f6e3d706174696f7c54727565506c61793d307c5a6f6e65506c617965725555494473496e47726f75703d52494e434f4e5f42384539333745423642443830313430307c536c65657054696d657256657273696f6e3d7c4e414d453d536f6e6f735f54657272617373657c63757272656e744172746973743d7c47726f7570566f6c756d653d35317c6d696e566f6c756d653d307c526164696f7356657273696f6e3d52494e434f4e5f423845393337384444323238303134303025324331377c676574416c61726d733d317c63757272656e74416c62756d3d7c4661766f75726974657356657273696f6e3d52494e434f4e5f423845393337384444323238303134303025324331377c4c6f75646e6573733d310a
    2016.01.05 19:07:04 5: SONOS0: Received: 'SetValues:RINCON_B8E937EB6BD801400_MR:OutputFixed=0|Volume=51|AlarmList=~~NotLoadedMarker~~|QueueVersion=|fieldType=|AlarmListIDs=~~NotLoadedMarker~~|roomName=Terrasse|presence=disappeared|currentTitle=|SubEnable=1|location=http%3A%2F%2F192.200.100.170%3A1400%2Fxml%2Fdevice_description.xml|Bass=0|AlarmListVersion=~~NotLoadedMarker~~|ZoneGroupID=RINCON_B8E937EB6BD801400%3A__|HeadphoneConnected=0|Mute=0|SubPolarity=0|PlaylistsVersion=RINCON_B8E9378B251401400%2C3|GroupMute=0|SubGain=0|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|ZoneGroupName=Terrasse|Treble=0|roomNameAlias=Terrasse|Balance=0|roomIcon=patio|TruePlay=0|ZonePlayerUUIDsInGroup=RINCON_B8E937EB6BD801400|SleepTimerVersion=|NAME=Sonos_Terrasse|currentArtist=|GroupVolume=51|minVolume=0|RadiosVersion=RINCON_B8E9378DD22801400%2C17|getAlarms=1|currentAlbum=|FavouritesVersion=RINCON_B8E9378DD22801400%2C17|Loudness=1'
    2016.01.05 19:07:04 5: SONOS0: SetValues:RINCON_B8E9378DD22801400_MR:OutputFixed=0|Volume=27|AlarmList=%7B%7D|QueueVersion=|fieldType=|AlarmListIDs=|roomName=Wohnzimmer|presence=disappeared|currentTitle=|SubEnable=1|location=http%3A%2F%2F192.200.100.186%3A1400%2Fxml%2Fdevice_description.xml|Bass=0|AlarmListVersion=RINCON_B8E9378B251401400%3A0|ZoneGroupID=RINCON_B8E9378DD22801400%3A__|HeadphoneConnected=0|Mute=0|SubPolarity=0|PlaylistsVersion=RINCON_B8E9378B251401400%2C3|GroupMute=0|SubGain=0|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|ZoneGroupName=Wohnzimmer|Treble=0|roomNameAlias=Wohnzimmer|Balance=0|roomIcon=living|TruePlay=0|ZonePlayerUUIDsInGroup=RINCON_B8E9378DD22801400|SleepTimerVersion=|NAME=Sonos_Wohnzimmer|currentArtist=|GroupVolume=27|minVolume=0|RadiosVersion=RINCON_B8E9378DD22801400%2C17|getAlarms=1|currentAlbum=|FavouritesVersion=RINCON_B8E9378DD22801400%2C17|Loudness=1
    2016.01.05 19:07:04 5: SW: 53657456616c7565733a52494e434f4e5f42384539333738444432323830313430305f4d523a4f757470757446697865643d307c566f6c756d653d32377c416c61726d4c6973743d2537422537447c517565756556657273696f6e3d7c6669656c64547970653d7c416c61726d4c6973744944733d7c726f6f6d4e616d653d576f686e7a696d6d65727c70726573656e63653d64697361707065617265647c63757272656e745469746c653d7c537562456e61626c653d317c6c6f636174696f6e3d687474702533412532462532463139322e3230302e3130302e31383625334131343030253246786d6c2532466465766963655f6465736372697074696f6e2e786d6c7c426173733d307c416c61726d4c69737456657273696f6e3d52494e434f4e5f4238453933373842323531343031343030253341307c5a6f6e6547726f757049443d52494e434f4e5f42384539333738444432323830313430302533415f5f7c4865616470686f6e65436f6e6e65637465643d307c4d7574653d307c537562506f6c61726974793d307c506c61796c6973747356657273696f6e3d52494e434f4e5f4238453933373842323531343031343030253243337c47726f75704d7574653d307c5375624761696e3d307c5175657565486173683d39613163376565326337636533386434626262616632396162396632616331657c5a6f6e6547726f75704e616d653d576f686e7a696d6d65727c547265626c653d307c726f6f6d4e616d65416c6961733d576f686e7a696d6d65727c42616c616e63653d307c726f6f6d49636f6e3d6c6976696e677c54727565506c61793d307c5a6f6e65506c617965725555494473496e47726f75703d52494e434f4e5f42384539333738444432323830313430307c536c65657054696d657256657273696f6e3d7c4e414d453d536f6e6f735f576f686e7a696d6d65727c63757272656e744172746973743d7c47726f7570566f6c756d653d32377c6d696e566f6c756d653d307c526164696f7356657273696f6e3d52494e434f4e5f423845393337384444323238303134303025324331377c676574416c61726d733d317c63757272656e74416c62756d3d7c4661766f75726974657356657273696f6e3d52494e434f4e5f423845393337384444323238303134303025324331377c4c6f75646e6573733d310a
    2016.01.05 19:07:04 5: SONOS0: Received: 'SetValues:RINCON_B8E9378DD22801400_MR:OutputFixed=0|Volume=27|AlarmList=%7B%7D|QueueVersion=|fieldType=|AlarmListIDs=|roomName=Wohnzimmer|presence=disappeared|currentTitle=|SubEnable=1|location=http%3A%2F%2F192.200.100.186%3A1400%2Fxml%2Fdevice_description.xml|Bass=0|AlarmListVersion=RINCON_B8E9378B251401400%3A0|ZoneGroupID=RINCON_B8E9378DD22801400%3A__|HeadphoneConnected=0|Mute=0|SubPolarity=0|PlaylistsVersion=RINCON_B8E9378B251401400%2C3|GroupMute=0|SubGain=0|QueueHash=9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e|ZoneGroupName=Wohnzimmer|Treble=0|roomNameAlias=Wohnzimmer|Balance=0|roomIcon=living|TruePlay=0|ZonePlayerUUIDsInGroup=RINCON_B8E9378DD22801400|SleepTimerVersion=|NAME=Sonos_Wohnzimmer|currentArtist=|GroupVolume=27|minVolume=0|RadiosVersion=RINCON_B8E9378DD22801400%2C17|getAlarms=1|currentAlbum=|FavouritesVersion=RINCON_B8E9378DD22801400%2C17|Loudness=1'
    2016.01.05 19:07:04 5: SW: 53746172745468726561640a
    2016.01.05 19:07:04 5: SONOS0: Received: 'StartThread'
    2016.01.05 19:07:04 3: SONOS1: UPnP-Thread gestartet.
    2016.01.05 19:07:04 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, bookmarkSaveDir, .) -> DEFAULT
    2016.01.05 19:07:04 4: SONOS1: Calling SONOS_LoadBookmarkValues("undef", "undef") ~ SaveDir: "."
    2016.01.05 19:07:05 4: SONOS2: SONOS_Client_Data_Retreive(SONOS, def, INTERVAL, 0) -> 30
    2016.01.05 19:07:05 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2016.01.05 19:07:05 4: SONOS1: Discover-Event: Description-Document: <?xml version="1.0" encoding="utf-8" ?>
    <root xmlns="urn:schemas-upnp-org:device-1-0">
      <specVersion>
        <major>1</major>
        <minor>0</minor>
      </specVersion>
      <device>
        <deviceType>urn:schemas-upnp-org:device:ZonePlayer:1</deviceType>
        <friendlyName>192.200.100.186 - Sonos PLAY:1</friendlyName>
        <manufacturer>Sonos, Inc.</manufacturer>
        <manufacturerURL>http://www.sonos.com</manufacturerURL>
        <modelNumber>S1</modelNumber>
        <modelDescription>Sonos PLAY:1</modelDescription>
        <modelName>Sonos PLAY:1</modelName>
        <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
        <softwareVersion>31.3-22220</softwareVersion>
        <hardwareVersion>1.8.3.7-2</hardwareVersion>
        <serialNum>B8-E9-37-8D-D2-28:4</serialNum>
        <UDN>uuid:RINCON_B8E9378DD22801400</UDN>
        <iconList>
          <icon>
            <id>0</id>
            <mimetype>image/png</mimetype>
            <width>48</width>
            <height>48</height>
            <depth>24</depth>
            <url>/img/icon-S1.png</url>
          </icon>
        </iconList>
        <minCompatibleVersion>29.0-00000</minCompatibleVersion>
        <legacyCompatibleVersion>24.0-00000</legacyCompatibleVersion>
        <displayVersion>6.0</displayVersion>
        <extraVersion>OTP: </extraVersion>
        <roomName>Wohnzimmer</roomName>
        <displayName>PLAY:1</displayName>
        <zoneType>9</zoneType>
        <feature1>0x00000000</feature1>
        <feature2>0x00403332</feature2>
        <feature3>0x0001000e</feature3>
        <internalSpeakerSize>5</internalSpeakerSize>
        <bassExtension>75.000</bassExtension>
        <satGainOffset>6.000</satGainOffset>
        <memory>128</memory>
        <flash>64</flash>
        <ampOnTime>10</ampOnTime>
        <serviceList>
          <service>
            <serviceType>urn:schemas-upnp-org:service:AlarmClock:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:AlarmClock</serviceId>
            <controlURL>/AlarmClock/Control</controlURL>
            <eventSubURL>/AlarmClock/Event</eventSubURL>
            <SCPDURL>/xml/AlarmClock1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:MusicServices:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:MusicServices</serviceId>
            <controlURL>/MusicServices/Control</controlURL>
            <eventSubURL>/MusicServices/Event</eventSubURL>
            <SCPDURL>/xml/MusicServices1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:DeviceProperties:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:DeviceProperties</serviceId>
            <controlURL>/DeviceProperties/Control</controlURL>
            <eventSubURL>/DeviceProperties/Event</eventSubURL>
            <SCPDURL>/xml/DeviceProperties1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:SystemProperties:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:SystemProperties</serviceId>
            <controlURL>/SystemProperties/Control</controlURL>
            <eventSubURL>/SystemProperties/Event</eventSubURL>
            <SCPDURL>/xml/SystemProperties1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:ZoneGroupTopology:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:ZoneGroupTopology</serviceId>
            <controlURL>/ZoneGroupTopology/Control</controlURL>
            <eventSubURL>/ZoneGroupTopology/Event</eventSubURL>
            <SCPDURL>/xml/ZoneGroupTopology1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:GroupManagement:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:GroupManagement</serviceId>
            <controlURL>/GroupManagement/Control</controlURL>
            <eventSubURL>/GroupManagement/Event</eventSubURL>
            <SCPDURL>/xml/GroupManagement1.xml</SCPDURL>
          </service>
          <service>
            <serviceType>urn:schemas-tencent-com:service:QPlay:1</serviceType>
            <serviceId>urn:tencent-com:serviceId:QPlay</serviceId>
            <controlURL>/QPlay/Control</controlURL>
            <eventSubURL>/QPlay/Event</eventSubURL>
            <SCPDURL>/xml/QPlay1.xml</SCPDURL>
          </service>
        </serviceList>
        <deviceList>
          <device>
      <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
      <friendlyName>192.200.100.186 - Sonos PLAY:1 Media Server</friendlyName>
      <manufacturer>Sonos, Inc.</manufacturer>
      <manufacturerURL>http://www.sonos.com</manufacturerURL>
      <modelNumber>S1</modelNumber>
      <modelDescription>Sonos PLAY:1 Media Server</modelDescription>
      <modelName>Sonos PLAY:1</modelName>
      <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
      <UDN>uuid:RINCON_B8E9378DD22801400_MS</UDN>
      <serviceList>
        <service>
          <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
          <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
          <controlURL>/MediaServer/ContentDirectory/Control</controlURL>
          <eventSubURL>/MediaServer/ContentDirectory/Event</eventSubURL>
          <SCPDURL>/xml/ContentDirectory1.xml</SCPDURL>
        </service>
        <service>
          <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
           <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
           <controlURL>/MediaServer/ConnectionManager/Control</controlURL>
           <eventSubURL>/MediaServer/ConnectionManager/Event</eventSubURL>
           <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
         </service>
       </serviceList>
          </device>
          <device>
       <deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
      <friendlyName>Wohnzimmer - Sonos PLAY:1 Media Renderer</friendlyName>
      <manufacturer>Sonos, Inc.</manufacturer>
      <manufacturerURL>http://www.sonos.com</manufacturerURL>
      <modelNumber>S1</modelNumber>
      <modelDescription>Sonos PLAY:1 Media Renderer</modelDescription>
      <modelName>Sonos PLAY:1</modelName>
      <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
       <UDN>uuid:RINCON_B8E9378DD22801400_MR</UDN>
       <serviceList>
         <service>
           <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
           <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
           <controlURL>/MediaRenderer/RenderingControl/Control</controlURL>
           <eventSubURL>/MediaRenderer/RenderingControl/Event</eventSubURL>
           <SCPDURL>/xml/RenderingControl1.xml</SCPDURL>
         </service>
         <service>
           <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
           <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
           <controlURL>/MediaRenderer/ConnectionManager/Control</controlURL>
           <eventSubURL>/MediaRenderer/ConnectionManager/Event</eventSubURL>
           <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
         </service>
         <service>
           <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
           <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
           <controlURL>/MediaRenderer/AVTransport/Control</controlURL>
           <eventSubURL>/MediaRenderer/AVTransport/Event</eventSubURL>
           <SCPDURL>/xml/AVTransport1.xml</SCPDURL>
         </service>
         <service>
           <serviceType>urn:schemas-sonos-com:service:Queue:1</serviceType>
           <serviceId>urn:sonos-com:serviceId:Queue</serviceId>
           <controlURL>/MediaRenderer/Queue/Control</controlURL>
           <eventSubURL>/MediaRenderer/Queue/Event</eventSubURL>
           <SCPDURL>/xml/Queue1.xml</SCPDURL>
         </service>
              <service>
                <serviceType>urn:schemas-upnp-org:service:GroupRenderingControl:1</serviceType>
                <serviceId>urn:upnp-org:serviceId:GroupRenderingControl</serviceId>
                <controlURL>/MediaRenderer/GroupRenderingControl/Control</controlURL>
                <eventSubURL>/MediaRenderer/GroupRenderingControl/Event</eventSubURL>
                <SCPDURL>/xml/GroupRenderingControl1.xml</SCPDURL>
              </service>
       </serviceList>
            <X_Rhapsody-Extension xmlns="http://www.real.com/rhapsody/xmlns/upnp-1-0">
              <deviceID>urn:rhapsody-real-com:device-id-1-0:sonos_1:RINCON_B8E9378DD22801400</deviceID>
                <deviceCapabilities>
                  <interactionPattern type="real-rhapsody-upnp-1-0"/>
                </deviceCapabilities>
            </X_Rhapsody-Extension>
            <qq:X_QPlay_SoftwareCapability xmlns:qq="http://www.tencent.com">QPlay:2</qq:X_QPlay_SoftwareCapability>
            <iconList>
              <icon>
                <mimetype>image/png</mimetype>
                <width>48</width>
                <height>48</height>
                <depth>24</depth>
                <url>/img/icon-S1.png</url>
              </icon>
            </iconList>
          </device>
        </deviceList>
      </device>
    </root>

    2016.01.05 19:07:05 4: SONOS1: RoomName: 'Wohnzimmer', SaveRoomName: 'Wohnzimmer', ModelNumber: 'S1', DisplayVersion: '6.0', SerialNum: 'B8-E9-37-8D-D2-28:4', IconURI: '/img/icon-S1.png', IconOrigPath: 'http://192.200.100.186:1400/img/icon-S1.png', IconPath: 'icoSONOSPLAYER_icon-S1.png'
    2016.01.05 19:07:05 2: SONOS1: Discover Sonosplayer 'Wohnzimmer' (S1) Software Revision 6.0 with ID 'RINCON_B8E9378DD22801400_MR'
    2016.01.05 19:07:05 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2016.01.05 19:07:05 4: SONOS1: SubDevice found: uuid:RINCON_B8E9378DD22801400_MS
    2016.01.05 19:07:05 4: SONOS1: SubDevice found: uuid:RINCON_B8E9378DD22801400_MR
    2016.01.05 19:07:06 4: SONOS1: ControlProxies wurden gesichert
    2016.01.05 19:07:06 5: SONOS1: ZoneGroupState: <ZoneGroups><ZoneGroup Coordinator="RINCON_B8E937EB6BD801400" ID="RINCON_B8E937EB6BD801400:1"><ZoneGroupMember UUID="RINCON_B8E937EB6BD801400" Location="http://192.200.100.170:1400/xml/device_description.xml" ZoneName="Terrasse" Icon="x-rincon-roomicon:patio" Configuration="1" SoftwareVersion="31.3-22220" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="75" WirelessMode="0" HasConfiguredSSID="1" ChannelFreq="2437" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9378B251401400" ID="RINCON_B8E9378B251401400:1"><ZoneGroupMember UUID="RINCON_B8E9378B251401400" Location="http://192.200.100.172:1400/xml/device_description.xml" ZoneName="Büro" Icon="x-rincon-roomicon:office" Configuration="1" SoftwareVersion="31.3-22220" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="386" WirelessMode="0" HasConfiguredSSID="1" ChannelFreq="2437" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9378DD22801400" ID="RINCON_B8E9378DD22801400:1"><ZoneGroupMember UUID="RINCON_B8E9378DD22801400" Location="http://192.200.100.186:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="31.3-22220" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="576" WirelessMode="0" HasConfiguredSSID="1" ChannelFreq="2437" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup></ZoneGroups>
    2016.01.05 19:07:06 4: SONOS1: Retrieved TopoType:
    2016.01.05 19:07:07 4: SONOS1: Retrieve Current Volumelevels. Master: "27", Balance: "0"
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, def, NAME, RINCON_B8E9378DD22801400_MR) -> Sonos_Wohnzimmer
    2016.01.05 19:07:07 2: SONOS1: SonosPlayer 'Wohnzimmer' (S1) with ID 'RINCON_B8E9378DD22801400_MR' is already defined (as 'Sonos_Wohnzimmer') and will only be updated
    2016.01.05 19:07:07 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x224e978)
    2016.01.05 19:07:07 2: SONOS1: SonosPlayer 'Wohnzimmer' is now updated
    2016.01.05 19:07:07 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_B8E9378DD22801400_sub0000000404
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, attr, minVolume, -1) -> 0
    2016.01.05 19:07:07 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_B8E9378DD22801400_sub0000000405
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, attr, minVolume, -1) -> 0
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'getstore('http://192.200.100.186:1400/img/icon-S1.png', $attr{global}{modpath}.'/www/images/default/icoSONOSPLAYER_icon-S1.png');'
    2016.01.05 19:07:07 5: SONOS0: MainTrigger()-Line: getstore('http://192.200.100.186:1400/img/icon-S1.png', $attr{global}{modpath}.'/www/images/default/icoSONOSPLAYER_icon-S1.png');
    2016.01.05 19:07:07 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_B8E9378DD22801400_sub0000000406
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SONOS_RefreshIconsInFHEMWEB('/www/images/default/icoSONOSPLAYER_icon-S1.png');'
    2016.01.05 19:07:07 5: SONOS0: MainTrigger()-Line: SONOS_RefreshIconsInFHEMWEB('/www/images/default/icoSONOSPLAYER_icon-S1.png');
    2016.01.05 19:07:07 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_B8E9378DD22801400_sub0000000407
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, attr, getAlarms, 0) -> 1
    2016.01.05 19:07:07 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_B8E9378DD22801400_sub0000000408
    2016.01.05 19:07:07 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_B8E9378DD22801400_sub0000000409
    2016.01.05 19:07:07 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_B8E9378DD22801400_sub0000000410
    2016.01.05 19:07:07 3: SONOS1: Discover: End of discover-event for "Wohnzimmer".
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, def, NAME, RINCON_B8E9378DD22801400_MR) -> Sonos_Wohnzimmer
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, attr, disable, 0) -> DEFAULT
    2016.01.05 19:07:07 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer".
    2016.01.05 19:07:07 4: SONOS1: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_B8E9378DD22801400_MR'
    2016.01.05 19:07:07 4: SONOS1: Transport-Event: GroundURL: http://192.200.100.186:1400
    2016.01.05 19:07:07 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="0"/><CurrentTrack val="0"/><CurrentSection val="0"/><CurrentTrackURI val=""/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val=""/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val=""/><r:EnqueuedTransportURIMetaData val=""/><PlaybackStorageMedium val="NETWORK"/><AVTransportURI val="x-rincon-queue:RINCON_B8E9378DD22801400#0"/><AVTransportURIMetaData val=""/><NextAVTransportURI val=""/><NextAVTransportURIMetaData val=""/><CurrentTransportActions val="Set, Play, Stop, Pause, Seek, Next, Previous"/><r:CurrentValidPlayModes val="SHUFFLE,REPEAT,REPEATONE,CROSSFADE"/><r:MuseSessions val=""/><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>
    2016.01.05 19:07:07 5: SONOS1: ___________________________________________________________________________
    2016.01.05 19:07:07 5: SONOS1: OldTracks: 0
    2016.01.05 19:07:07 5: SONOS1: NumTracks: 0
    2016.01.05 19:07:07 5: SONOS1: OldTrackURIs:
    2016.01.05 19:07:07 5: SONOS1: OldTrackPositions: 0
    2016.01.05 19:07:07 5: SONOS1: OldTrackDurations: 0
    2016.01.05 19:07:07 5: SONOS1: OldTransportstate: STOPPED
    2016.01.05 19:07:07 5: SONOS1: OldTimestamp: 1452017227.35383
    2016.01.05 19:07:07 5: SONOS1: OldTitle:
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, reading, QueueHash, ) -> 9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, def, NAME, RINCON_B8E9378DD22801400_MR) -> Sonos_Wohnzimmer
    2016.01.05 19:07:07 5: SONOS1: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2016.01.05 19:07:07 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x224e978)
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBeginUpdate:RINCON_B8E9378DD22801400_MR'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:presence:appeared'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:Volume:27'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:Balance:0'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:roomName:Wohnzimmer'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:roomNameAlias:Wohnzimmer'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:saveRoomName:Wohnzimmer'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:playerType:S1'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:Volume:27'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:location:http://192.200.100.186:1400/xml/device_description.xml'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:softwareRevision:6.0'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:serialNum:B8-E9-37-8D-D2-28:4'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:fieldType:'
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, reading, SleepTimerVersion, ) ->
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:transportState:STOPPED'
    2016.01.05 19:07:07 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x224e978)
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:currentTrackURI:'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:currentTrackProvider:'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:currentTrackDuration:0:00:00'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:currentTrackPosition:0:00:00'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:currentTrack:0'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:numberOfTracks:0'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:currentStreamAudio:'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsBulkUpdateIfChanged:RINCON_B8E9378DD22801400_MR:currentNormalAudio:1'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsEndUpdate:RINCON_B8E9378DD22801400_MR'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'CommandAttrWithUDN:RINCON_B8E9378DD22801400_MR:model Sonos_S1'
    2016.01.05 19:07:07 4: SONOS1: Transport-Event: CurrentTrackMetaData:
    2016.01.05 19:07:07 4: SONOS1: Transport-Event: Normal erkannt!
    2016.01.05 19:07:07 4: SONOS1: Transport-Event: NextTrackMetaData:
    2016.01.05 19:07:07 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x224e978)
    2016.01.05 19:07:07 5: SONOS1: ___________________________________________________________________________
    2016.01.05 19:07:07 5: SONOS1: OldTracks: 0
    2016.01.05 19:07:07 5: SONOS1: NumTracks: 0
    2016.01.05 19:07:07 5: SONOS1: OldTrackURIs:
    2016.01.05 19:07:07 5: SONOS1: OldTrackPositions: 1
    2016.01.05 19:07:07 5: SONOS1: OldTrackDurations: 1
    2016.01.05 19:07:07 5: SONOS1: OldTransportstate: STOPPED
    2016.01.05 19:07:07 5: SONOS1: OldTimestamp: 1452017226.74319
    2016.01.05 19:07:07 5: SONOS1: OldTitle: ()
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, reading, QueueHash, ) -> 9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, def, NAME, RINCON_B8E9378DD22801400_MR) -> Sonos_Wohnzimmer
    2016.01.05 19:07:07 5: SONOS1: ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    2016.01.05 19:07:07 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer".
    2016.01.05 19:07:07 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378DD22801400_MR, reading, presence, disappeared) -> appeared
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_B8E9378DD22801400_MR:1'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'GetReadingsToCurrentHash:RINCON_B8E9378DD22801400_MR:0'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:SleepTimer:off'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChanged:RINCON_B8E9378DD22801400_MR:SleepTimerVersion:'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TransportState:STOPPED'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:AlarmRunning:0'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:AlarmRunningID:'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:CrossfadeMode:0'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NumberOfTracks:0'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:Track:0'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackURI:'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackDuration:0:00:00'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_B8E9378DD22801400_MR:0::http://192.200.100.186:1400'
    2016.01.05 19:07:07 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt.png');
    2016.01.05 19:07:07 5: SONOS0: Call of SONOS_DownloadReplaceIfChanged("./FHEM/lib/UPnP/sonos_empty.jpg", "./www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_AlbumArt.png")
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:NormalAudio:1'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackProvider:'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:AlbumArtist:'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextTrackURI:'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:nextTrackProvider:'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'ProcessCover:RINCON_B8E9378DD22801400_MR:1::http://192.200.100.186:1400'
    2016.01.05 19:07:07 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt.png');
    2016.01.05 19:07:07 5: SONOS0: Call of SONOS_DownloadReplaceIfChanged("./FHEM/lib/UPnP/sonos_empty.jpg", "./www/images/default/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt.png")
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'SetCurrent:TrackPosition:0:00:00'
    2016.01.05 19:07:07 5: SONOS0: Received from UPnP-Server: 'CurrentBulkUpdate:RINCON_B8E9378DD22801400_MR'
    2016.01.05 19:07:07 4: SONOS1: Discover-Event: Description-Document: <?xml version="1.0" encoding="utf-8" ?>
    <root xmlns="urn:schemas-upnp-org:device-1-0">
      <specVersion>
        <major>1</major>
        <minor>0</minor>
      </specVersion>
      <device>
        <deviceType>urn:schemas-upnp-org:device:ZonePlayer:1</deviceType>
        <friendlyName>192.200.100.172 - Sonos PLAY:1</friendlyName>
        <manufacturer>Sonos, Inc.</manufacturer>
        <manufacturerURL>http://www.sonos.com</manufacturerURL>
        <modelNumber>S1</modelNumber>
        <modelDescription>Sonos PLAY:1</modelDescription>
        <modelName>Sonos PLAY:1</modelName>
        <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
        <softwareVersion>31.3-22220</softwareVersion>
        <hardwareVersion>1.8.3.7-2</hardwareVersion>
        <serialNum>B8-E9-37-8B-25-14:D</serialNum>
        <UDN>uuid:RINCON_B8E9378B251401400</UDN>
        <iconList>
          <icon>
            <id>0</id>
            <mimetype>image/png</mimetype>
            <width>48</width>
            <height>48</height>
            <depth>24</depth>
            <url>/img/icon-S1.png</url>
          </icon>
        </iconList>
        <minCompatibleVersion>29.0-00000</minCompatibleVersion>
        <legacyCompatibleVersion>24.0-00000</legacyCompatibleVersion>
        <displayVersion>6.0</displayVersion>
        <extraVersion>OTP: </extraVersion>
        <roomName>Büro</roomName>
        <displayName>PLAY:1</displayName>
        <zoneType>9</zoneType>
        <feature1>0x00000000</feature1>
        <feature2>0x00403332</feature2>
        <feature3>0x0001000e</feature3>
        <internalSpeakerSize>5</internalSpeakerSize>
        <bassExtension>75.000</bassExtension>
        <satGainOffset>6.000</satGainOffset>
        <memory>128</memory>
        <flash>64</flash>
        <ampOnTime>10</ampOnTime>
        <serviceList>
          <service>
            <serviceType>urn:schemas-upnp-org:service:AlarmClock:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:AlarmClock</serviceId>
            <controlURL>/AlarmClock/Control</controlURL>
            <eventSubURL>/AlarmClock/Event</eventSubURL>
            <SCPDURL>/xml/AlarmClock1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:MusicServices:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:MusicServices</serviceId>
            <controlURL>/MusicServices/Control</controlURL>
            <eventSubURL>/MusicServices/Event</eventSubURL>
            <SCPDURL>/xml/MusicServices1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:DeviceProperties:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:DeviceProperties</serviceId>
            <controlURL>/DeviceProperties/Control</controlURL>
            <eventSubURL>/DeviceProperties/Event</eventSubURL>
            <SCPDURL>/xml/DeviceProperties1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:SystemProperties:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:SystemProperties</serviceId>
            <controlURL>/SystemProperties/Control</controlURL>
            <eventSubURL>/SystemProperties/Event</eventSubURL>
            <SCPDURL>/xml/SystemProperties1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:ZoneGroupTopology:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:ZoneGroupTopology</serviceId>
            <controlURL>/ZoneGroupTopology/Control</controlURL>
            <eventSubURL>/ZoneGroupTopology/Event</eventSubURL>
            <SCPDURL>/xml/ZoneGroupTopology1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:GroupManagement:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:GroupManagement</serviceId>
            <controlURL>/GroupManagement/Control</controlURL>
            <eventSubURL>/GroupManagement/Event</eventSubURL>
            <SCPDURL>/xml/GroupManagement1.xml</SCPDURL>
          </service>
          <service>
            <serviceType>urn:schemas-tencent-com:service:QPlay:1</serviceType>
            <serviceId>urn:tencent-com:serviceId:QPlay</serviceId>
            <controlURL>/QPlay/Control</controlURL>
            <eventSubURL>/QPlay/Event</eventSubURL>
            <SCPDURL>/xml/QPlay1.xml</SCPDURL>
          </service>
        </serviceList>
        <deviceList>
          <device>
      <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
      <friendlyName>192.200.100.172 - Sonos PLAY:1 Media Server</friendlyName>
      <manufacturer>Sonos, Inc.</manufacturer>
      <manufacturerURL>http://www.sonos.com</manufacturerURL>
      <modelNumber>S1</modelNumber>
      <modelDescription>Sonos PLAY:1 Media Server</modelDescription>
      <modelName>Sonos PLAY:1</modelName>
      <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
      <UDN>uuid:RINCON_B8E9378B251401400_MS</UDN>
      <serviceList>
        <service>
          <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
          <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
          <controlURL>/MediaServer/ContentDirectory/Control</controlURL>
          <eventSubURL>/MediaServer/ContentDirectory/Event</eventSubURL>
          <SCPDURL>/xml/ContentDirectory1.xml</SCPDURL>
        </service>
        <service>
          <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
           <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
           <controlURL>/MediaServer/ConnectionManager/Control</controlURL>
           <eventSubURL>/MediaServer/ConnectionManager/Event</eventSubURL>
           <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
         </service>
       </serviceList>
          </device>
          <device>
       <deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
      <friendlyName>Büro - Sonos PLAY:1 Media Renderer</friendlyName>
      <manufacturer>Sonos, Inc.</manufacturer>
      <manufacturerURL>http://www.sonos.com</manufacturerURL>
      <modelNumber>S1</modelNumber>
      <modelDescription>Sonos PLAY:1 Media Renderer</modelDescription>
      <modelName>Sonos PLAY:1</modelName>
      <modelURL>http://www.sonos.com/products/zoneplayers/S1</modelURL>
       <UDN>uuid:RINCON_B8E9378B251401400_MR</UDN>
       <serviceList>
         <service>
           <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
           <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
           <controlURL>/MediaRenderer/RenderingControl/Control</controlURL>
           <eventSubURL>/MediaRenderer/RenderingControl/Event</eventSubURL>
           <SCPDURL>/xml/RenderingControl1.xml</SCPDURL>
         </service>
         <service>
           <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
           <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
           <controlURL>/MediaRenderer/ConnectionManager/Control</controlURL>
           <eventSubURL>/MediaRenderer/ConnectionManager/Event</eventSubURL>
           <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
         </service>
         <service>
           <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
           <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
           <controlURL>/MediaRenderer/AVTransport/Control</controlURL>
           <eventSubURL>/MediaRenderer/AVTransport/Event</eventSubURL>
           <SCPDURL>/xml/AVTransport1.xml</SCPDURL>
         </service>
         <service>
           <serviceType>urn:schemas-sonos-com:service:Queue:1</serviceType>
           <serviceId>urn:sonos-com:serviceId:Queue</serviceId>
           <controlURL>/MediaRenderer/Queue/Control</controlURL>
           <eventSubURL>/MediaRenderer/Queue/Event</eventSubURL>
           <SCPDURL>/xml/Queue1.xml</SCPDURL>
         </service>
              <service>
                <serviceType>urn:schemas-upnp-org:service:GroupRenderingControl:1</serviceType>
                <serviceId>urn:upnp-org:serviceId:GroupRenderingControl</serviceId>
                <controlURL>/MediaRenderer/GroupRenderingControl/Control</controlURL>
                <eventSubURL>/MediaRenderer/GroupRenderingControl/Event</eventSubURL>
                <SCPDURL>/xml/GroupRenderingControl1.xml</SCPDURL>
              </service>
       </serviceList>
            <X_Rhapsody-Extension xmlns="http://www.real.com/rhapsody/xmlns/upnp-1-0">
              <deviceID>urn:rhapsody-real-com:device-id-1-0:sonos_1:RINCON_B8E9378B251401400</deviceID>
                <deviceCapabilities>
                  <interactionPattern type="real-rhapsody-upnp-1-0"/>
                </deviceCapabilities>
            </X_Rhapsody-Extension>
            <qq:X_QPlay_SoftwareCapability xmlns:qq="http://www.tencent.com">QPlay:2</qq:X_QPlay_SoftwareCapability>
            <iconList>
              <icon>
                <mimetype>image/png</mimetype>
                <width>48</width>
                <height>48</height>
                <depth>24</depth>
                <url>/img/icon-S1.png</url>
              </icon>
            </iconList>
          </device>
        </deviceList>
      </device>
    </root>

    2016.01.05 19:07:07 4: SONOS1: RoomName: 'Büro', SaveRoomName: 'Buero', ModelNumber: 'S1', DisplayVersion: '6.0', SerialNum: 'B8-E9-37-8B-25-14:D', IconURI: '/img/icon-S1.png', IconOrigPath: 'http://192.200.100.172:1400/img/icon-S1.png', IconPath: 'icoSONOSPLAYER_icon-S1.png'
    2016.01.05 19:07:07 2: SONOS1: Discover Sonosplayer 'Büro' (S1) Software Revision 6.0 with ID 'RINCON_B8E9378B251401400_MR'
    2016.01.05 19:07:08 4: SONOS1: SubDevice found: uuid:RINCON_B8E9378B251401400_MS
    2016.01.05 19:07:08 4: SONOS1: SubDevice found: uuid:RINCON_B8E9378B251401400_MR
    2016.01.05 19:07:09 4: SONOS1: ControlProxies wurden gesichert
    2016.01.05 19:07:09 5: SONOS1: ZoneGroupState: <ZoneGroups><ZoneGroup Coordinator="RINCON_B8E937EB6BD801400" ID="RINCON_B8E937EB6BD801400:1"><ZoneGroupMember UUID="RINCON_B8E937EB6BD801400" Location="http://192.200.100.170:1400/xml/device_description.xml" ZoneName="Terrasse" Icon="x-rincon-roomicon:patio" Configuration="1" SoftwareVersion="31.3-22220" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="75" WirelessMode="0" HasConfiguredSSID="1" ChannelFreq="2437" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9378DD22801400" ID="RINCON_B8E9378DD22801400:1"><ZoneGroupMember UUID="RINCON_B8E9378DD22801400" Location="http://192.200.100.186:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="31.3-22220" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="576" WirelessMode="0" HasConfiguredSSID="1" ChannelFreq="2437" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9378B251401400" ID="RINCON_B8E9378B251401400:1"><ZoneGroupMember UUID="RINCON_B8E9378B251401400" Location="http://192.200.100.172:1400/xml/device_description.xml" ZoneName="Büro" Icon="x-rincon-roomicon:office" Configuration="1" SoftwareVersion="31.3-22220" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="24.0-00000" BootSeq="386" WirelessMode="0" HasConfiguredSSID="1" ChannelFreq="2437" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup></ZoneGroups>
    2016.01.05 19:07:09 4: SONOS1: Retrieved TopoType:
    2016.01.05 19:07:09 4: SONOS1: Retrieve Current Volumelevels. Master: "50", Balance: "0"
    2016.01.05 19:07:09 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378B251401400_MR, def, NAME, RINCON_B8E9378B251401400_MR) -> Sonos_Buero
    2016.01.05 19:07:09 2: SONOS1: SonosPlayer 'Buero' (S1) with ID 'RINCON_B8E9378B251401400_MR' is already defined (as 'Sonos_Buero') and will only be updated
    2016.01.05 19:07:09 4: SONOS1: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x22b6d70)
    2016.01.05 19:07:09 2: SONOS1: SonosPlayer 'Buero' is now updated
    2016.01.05 19:07:09 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000000404
    2016.01.05 19:07:09 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_B8E9378B251401400_MR, attr, minVolume, -1) -> 0
    2016.01.05 19:07:09 5: SONOS0: Received from UPnP-Server: 'getstore('http://192.200.100.172:1400/img/icon-S1.png', $attr{global}{modpath}.'/www/images/default/icoSONOSPLAYER_icon-S1.png');'
    2016.01.05 19:07:09 5: SONOS0: MainTrigger()-Line: getstore('http://192.200.100.172:1400/img/icon-S1.png', $attr{global}{modpath}.'/www/images/default/icoSONOSPLAYER_icon-S1.png');
    2016.01.05 19:07:09 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_B8E9378B251401400_sub0000000405
    2016.
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 Januar 2016, 19:16:32
    Mit Code einfügen funtioniert es hier leider nicht.

    Der Player hat die Adresse 192.200.100.170
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Januar 2016, 19:43:55
    Hi raspklaus,

    du hast einen Tippfehler beim Attribut "usedOnlyIPs"!
    Dort hast du einmal "102.200.100.170" angegeben, und meintest sicherlich "192.200.100.170".

    Und das nächste mal so lange Logs bitte als Dateianhang. Das kann man im Browser sowieso nicht mehr lesen... egal ob es als Code markiert wurde, oder nicht...

    Grüße
    Reinerlein
    Titel: Sonos steuern
    Beitrag von: dev0 am 05 Januar 2016, 20:00:16
    Von dem Typo abgesehen hätte eIn Blick ins RFC1918 auch nicht geschadet ;)
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 05 Januar 2016, 20:06:49
    ok,

    manchmal sieht man wirklich den Wald vor lauter Bäumen nicht. Ich verwende die Player derzeitig nur für die Sprachausgabe.

    Sorry

    und vor allem

    Danke
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 Januar 2016, 11:59:51
    Ich hoffe ich bin auch nicht gerade blind:
    Habe ich irgendwie die Möglichkeit, herauszufinden, wie viele Player aktuell an sind also etwas spielen?
    Mir fällt sonst nur ein, eine Userreadung beim SONOS-Device zu verwalten und mit Notifys hoch und runter zu zählen, wenn sich ein Player einschaltet oder gestoppt wird.
    Das scheint mir jedoch etwas zu aufwendig/fehleranfällig?!?
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 07 Januar 2016, 12:34:00
    auf perl ebene z.b. so:

    { my $count = scalar devspec2array("TYPE=SONOSPLAYER:FILTER=transportState=PLAYING") }

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 Januar 2016, 12:42:36
    Zitat von: justme1968 am 07 Januar 2016, 12:34:00
    { my $count = scalar devspec2array("TYPE=SONOSPLAYER:FILTER=transportState=PLAYING") }

    Danke, klappt aber nur für nicht gruppierte Sonos. Die gruppierten sind immer im transportState Playing, auch wenn man "set Sonos StopAll" eingibt und somit gestoppt sind, da ihr "master" gestoppt ist. Der Status zeigt in dem Fall nur an, dass sie alles spielen würden, was ihr master spielt.
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 07 Januar 2016, 12:45:09
    ich habe keine player gruppiert. wenn es ein reading gibt an dem du die master unterscheiden kannst bau es einfach mit in den filter ein.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 07 Januar 2016, 16:29:49
    Zitat von: JoeALLb am 07 Januar 2016, 12:42:36
    Die gruppierten sind immer im transportState Playing
    Das ist mir im Zusammenhang mit meinem fronthem/smartvisu Sonos Widget (https://github.com/ddtlabs/smartvisu-widgets) auch schon unangenehm aufgefallen. Allerdings erklärte Reiner weiter oben, dass das der state ist, den die Sonos Player melden. Also völlig korrekt. Um das zu lösen frage in meinem Code zusätzlich den "Gruppenstatus" ab.
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 Januar 2016, 16:35:56
    Zitat von: dev0 am 07 Januar 2016, 16:29:49
    Also völlig korrekt. Um das zu lösen frage in meinem Code zusätzlich den "Gruppenstatus" ab.
    Wie genau fragst Du den ab?
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 07 Januar 2016, 16:40:18
    Schau bitte selbst rein, ich müsste jetzt auch suchen. Link (https://github.com/ddtlabs/smartvisu-widgets/blob/master/sonos/99_fronthemSonosUtils.pm)
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 07 Januar 2016, 17:03:00
    Danke für den Link!
    currentTrackProvider war die gesuchte Antwort!
    Dieser Code funktiooniert, vielen Dank euch beiden für die Hilfe!
    { my $count = scalar devspec2array("TYPE=SONOSPLAYER:FILTER=transportState=PLAYING:FILTER=currentTrackProvider!=Gruppenwiedergabe.*") }
    Titel: Antw:Sonos steuern
    Beitrag von: CQuadrat am 14 Januar 2016, 18:26:56
    Zitat von: Reinerlein am 03 Januar 2016, 12:53:19
    Hi Christoph,

    das kann schon sein. Du könntest mal eine zusätzlich Fehlermeldung in der Datei ControlPoint.pm (im Ordner lib/UPnP) einbauen.
    Such mal nach dem String "Loading Device description" (bei mir in Zeile 283), und füge mal folgende zusätzliche Ausgabe davor ein:

    carp('400-URL-Absolute-Error! Location: "'.$location.'", Content: "'.$response->content.'"') if ($response->code == 400);
    Das muss aber davor sein...

    Damit erhältst du jetzt eine Ausgabe des relevanten Parameters und der inhaltlichen Antwort vom Player dazu.
    Dann mal schauen, was da rauskommt. Das kann länger sein (oder auch nicht :) )...

    Grüße
    Reiner

    Hallo Reiner,

    ich habe den Übeltäter identifiziert. Die Meldungen sind wieder aufgetaucht und mit der zusätzlichen Log-Zeile erscheint jetzt:

    400-URL-Absolute-Error! Location: "192.168.2.75:49167", Content: "400 URL must be absolute
    " at ./FHEM/00_SONOS.pm line 3721 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3721 thread 1
    400-URL-Absolute-Error! Location: "192.168.2.75:49167", Content: "400 URL must be absolute
    " at ./FHEM/00_SONOS.pm line 3721 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3721 thread 1
    400-URL-Absolute-Error! Location: "192.168.2.75:49167", Content: "400 URL must be absolute
    " at ./FHEM/00_SONOS.pm line 3721 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3721 thread 1
    400-URL-Absolute-Error! Location: "192.168.2.75:49167", Content: "400 URL must be absolute
    " at ./FHEM/00_SONOS.pm line 3721 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3721 thread 1
    400-URL-Absolute-Error! Location: "192.168.2.75:49167", Content: "400 URL must be absolute
    " at ./FHEM/00_SONOS.pm line 3721 thread 1
    Loading device description failed with error: 400 URL must be absolute at ./FHEM/00_SONOS.pm line 3721 thread 1


    Schalte ich den Rechner 192.168.2.75 aus, verschwinden die Meldungen sofort. Sobald er aber wieder am Netz ist, tauchen die Meldungen wieder auf.
    Ach ja: der 192.168.2.75 ist mein Firmennotebook (Windows 7 Professional), das mit WLAN und DHCP im Netz hängt. Sonst habe ich nur iOS-Geräte und Linux-Kisten; überall mit statischer IP.


    Viele Grüße

    Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: Frank S. am 14 Januar 2016, 20:42:29
    Moin.

    Ich habe nach einiger Zeit mal wieder einen Blick ins logfile gemacht. Dabei ist mir folgende Fehlermeldung aufgefallen. Was kann ich hier passiert sein. Sie taucht sehr häufig auf.

    192.168.178.24:52323 (No route to host) at ./FHEM/00_SONOS.pm line 3721 thread 4
    Loading device description failed with error: 500 Can't connect to


    Schöne Grüße
    Frank
    Titel: Antw:Sonos steuern
    Beitrag von: ujaudio am 17 Januar 2016, 09:46:27
    Ich hatte seit längerer Zeit wieder mal einen Fehler im Log
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 8286.
    Perl exited with active threads:
    2 running and unjoined
    1 finished and unjoined
    0 running and detached
    Current: "./FHEM/00_SONOS.pm", gPath: ""

    ??!?
    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 20 Januar 2016, 07:52:06
    Hallo Reiner,
    doofe Frage: Ich rufe im fhem.cfg SONOS mit

        "define SonosServer SONOS 172.21.0.15:4711 30 12 5" auf,

    wenn ich aber auf meine Raspberry Pi ein "ps -auxw ! grep SONOS" mache, sehe ich immer

        root      1130  7.7  4.5  74712 43268 ?        Sl   07:44   0:16 /usr/bin/perl ./FHEM/00_SONOS.pm 4711 1 0

    Im Log steht:
    2016.01.20 07:44:43 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 12 Sekunde(n) darauf...

    Wo liegt der Fehler?

    Gruss, Ingolf.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 20 Januar 2016, 09:48:14
    Hallo Ingolf,

    im Prinzip ist alles OK, die Angaben beim Define werden nicht an den SubProzess übertragen, sondern beeinflussen das Zeit- und Warteverhalten des Fhem-Moduls bzgl. des SubProzesses.

    Die Angaben beim SubProzess beziehen sich auf den Anfangs-Verbosewert (kann ja zu Laufzeit geändert werden) und ob Millisekunden in der Logausgabe erfolgrn sollen. Diese Informationen werden in Fhem definiert und hier verwendet...

    Wie du siehst, ist die 12 z.B. der Wert, der die Wartezeit für den Start des SubProzesses angibt. Hier also 12 Sekunden. Je nach Hardware kann ein kleinerer oder größerer Wert besser sein... Standardmäßig (wenn nicht von dir angegeben) wird hier 8 verwendet, was einen guten Wert für einen Raspberry Pi darstellt.

    Die 30 ist das Intervall in Sekunden, in dem überprüft wird, ob ein Sonosplayer noch erreichbar ist.

    Die 5 ist eine Wartezeit, bevor überhaupt versucht wird, einen SubProzess zu starten. Diese ist vor allem beim Restart von Fhem wichtig, da der verwendetet Port vielleicht zu langsam vom Betriebssystem wieder freigegeben wird.
    Hier gibt man im Normalfall nur etwas an, wenn es Probleme gibt...

    Und wenn du einen Normalen Betrieb des Moduls hast (also Fhem und SubModul auf demselben Rechner und automatisch gestartet), dann gib keine IP-Adresse an, sondern localhost wie im Beispiel.
    Im einfachsten Fall gibst du einfach gar nichts an, sondern nur

    define Sonos SONOS


    Bedenke bei der Namensvergabe des Sonos-Devices (bei dir SonosServer), das das die Vorlage für die Namensvergabe der Sonosplayer-Devices ist. Da hieße dann einer z.B. "SonosServer_Wohnzimmer". Natürlich kann man das alles in Fhem auch nachträglich ändern, ist aber Arbeit...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 20 Januar 2016, 22:06:29
    Ich möchte automatisch eine Gruppe bilden, wenn sich ein player mit einem Radiosender einschaltet, der auf einem anderen Player schon läuft.
    Die Zeitverzögerung ist ja kaum auszuhalten.
    Hat jemand dafür schon eine Lösung? Mir fehlt gerade der richtige Anknüpfungspunkt.
    Titel: Antw:Sonos steuern
    Beitrag von: oli82 am 25 Januar 2016, 09:34:43
    Guten Morgen justme1968.

    Leider bekomme ich den "Odd number of elements" Fehler nicht weg.
    Deine vorgeschlagene Änderung an der http.pm habe ich zwar durchgeführt, aber im Log erhalte ich immer noch munter
    Odd number of elements in hash assignment at /usr/share/perl5/IO/Socket/IP.pm line 328, <$client> line 4..

    Kann ich das loggen dieses Fehlers irgendwie unterbinden?

    Danke,
    Oli

    Edit:
    Hab es jetzt erstmal mit dem Vorschlag von dev0 gelöst: http://forum.fhem.de/index.php/topic,47758.msg394364.html#msg394364
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 25 Januar 2016, 10:14:35
    Schaut mal hier: http://forum.fhem.de/index.php/topic,47758.msg397586.html#msg397586
    Titel: Antw:Sonos steuern
    Beitrag von: oli82 am 25 Januar 2016, 10:20:15
    Danke Nobby1805.
    Den Beitrag habe ich leider erst nach dem absenden gesehen.
    Titel: Antw:Sonos steuern
    Beitrag von: Capeghost am 27 Januar 2016, 22:02:30
    @ JoeALLb:

    Ich hatte auch schon mal versucht, das Problem zu lösen, habe aber keine Lösung gefunden, die mich voll zufrieden gestellt hat.
    Was auf jeden Fall geklappt hat, war das gruppieren:

    define di_Merge_Sonos_Bad_with_Sonos_Esszimmer DOIF ([Sonos_Esszimmer:transportState] eq "PLAYING" and [Sonos_Bad:transportState] eq "PLAYING" and [Sonos_Bad:currentSender] eq [Sonos_Esszimmer:currentSender])  (set Sonos_Esszimmer AddMember Sonos_Bad)

    Beim Eintritt des Ereignisses setzt der Player kurz aus, und danach laufen beide in einer Gruppe weiter.
    Ich hätte sie dann aber gerne auch beim Ausschalten eines Gerätes automatisch wieder entkoppelt bekommen, damit das andere weiter läuft. Dafür habe ich aber keine Lösung gefunden. Vielleicht hilft Dir ja der erste Schritt erstmal weiter.

    Gruß

    Capeghost
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 28 Januar 2016, 12:57:54
    Zitat von: Capeghost am 27 Januar 2016, 22:02:30
    define di_Merge_Sonos_Bad_with_Sonos_Esszimmer DOIF ([Sonos_Esszimmer:transportState] eq "PLAYING" and [Sonos_Bad:transportState] eq "PLAYING" and [Sonos_Bad:currentSender] eq [Sonos_Esszimmer:currentSender])  (set Sonos_Esszimmer AddMember Sonos_Bad)

    Hallo Capeghost,

    danke für die Zeilen: Nun, so in etwa war mein Ansatz auch, das problem ist, dass ich eigentlich alle Kombinationen von Geräten prüfen möchte, und auch, ob es schon eine Gruppe gibt.
    Ich bräuchte also sowas wie eine FOR-Schleife im DOIF.
    Wenn irgend ein Sender SWR3 einschaltet, soll geprüft werden, ob es schon eine Gruppe gibt, die SWR3 spielt, dann soll de rneue Player dort hinzu gefügt werden. Wenn es keine Gruppe gibt, soll noch auf einen einzelnen Player geprüft werden.

    Dein Szenario für das ausschalten bräuchte ich nicht.... da ich eigentlich immer alle gleichzeitig ausschalte.
    Titel: Sonos Player automatisch grupppieren
    Beitrag von: m0urs am 29 Januar 2016, 17:24:41
    Ich habe basierend auf den Vorschlägen hier mal bei mir auch eine entsprechende Funktion implementiert, die prüft ob beim Aktivieren eines Players ein anderer Player in der Wohnung bereits das gleiche Programm abspielt. Wenn ja, wird der neue Player automatisch zu diesem Player hinzu gruppiert.

    Ich verwende dazu folgende Funktion in 99_myUtils.pm:

    sub SONOS_GroupWithExistingPlayer($) {

        my $newPlayer = shift;
        my $groupedWith = "";

        if    ( ($newPlayer ne "SONOS_Wohnzimmer") && (ReadingsVal("SONOS_Wohnzimmer","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Wohnzimmer","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Wohnzimmer AddMember ".$newPlayer); $groupedWith="SONOS_Wohnzimmer";   }
        elsif ( ($newPlayer ne "SONOS_Michael") && (ReadingsVal("SONOS_Michael","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Michael","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Michael AddMember ".$newPlayer); $groupedWith="SONOS_Michael"; }
        elsif ( ($newPlayer ne "SONOS_Sabine") && (ReadingsVal("SONOS_Sabine","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Sabine","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Sabine AddMember ".$newPlayer); $groupedWith="SONOS_Sabine"; }
        elsif ( ($newPlayer ne "SONOS_Schlafzimmer") && (ReadingsVal("SONOS_Schlafzimmer","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Schlafzimmer","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Schlafzimmer AddMember ".$newPlayer); $groupedWith="SONOS_Schlafzimmer"; }
        elsif ( ($newPlayer ne "SONOS_Kueche") && (ReadingsVal("SONOS_Kueche","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Kueche","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Kueche AddMember ".$newPlayer); $groupedWith="SONOS_Kueche"; }
        elsif ( ($newPlayer ne "SONOS_Bad") && (ReadingsVal("SONOS_Bad","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Bad","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Bad AddMember ".$newPlayer); $groupedWith="SONOS_Bad"; }
        else {$groupedWith="keinem Player"}

      return($groupedWith);



    Das ginge eleganter, wenn ich eine Schleife über alle meine registrierten Player hinbekommen hätte ;-) Aber es ist ja eine überschaubare Anzahl ...

    Weiterhin benutze ich folgendes Notify, das erkennt wenn ein Player in the Status "PLAYING" wechselt und dann obige Funktion aufruft:

    define xx.pruefe_sonos_gruppierung notify (SONOS_[a-zA-Z]+:transportState.*PLAYING) {\
    \
       log 1,"SONOS Player aktiviert: ".$NAME." Status:".$EVENT;;\
       my $groupedWith=SONOS_GroupWithExistingPlayer($NAME);;\
       return($NAME." wurde mit ".$groupedWith." gruppiert");;\
    }


    Erste Tests waren soweit erfolgreich.

    Ein kleines Problem habe ich noch: Im obigen NOTIFY gibt es keinen Logeintrag, sprich der "log"-Befehl scheint einfach ignoriert zu werden. Was mache ich denn da falsch?
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 29 Januar 2016, 17:38:03
    Falsch ist log. Denn es muss Log heißen ;).
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 29 Januar 2016, 17:44:33
    Zitat von: Ralli am 29 Januar 2016, 17:38:03
    Falsch ist log. Denn es muss Log heißen ;).

    Oops ... Ja, jetzt gehts auch :-) Danke!
    Titel: Antw:Sonos steuern
    Beitrag von: Frank S. am 30 Januar 2016, 12:31:02
    Moin.

    Vor einiger Zeit hatte ich die Frage schon einmal gestellt. Ich bekomme im Logfile immer wieder Fehlermeldungen wie folgende:

    Loading device description failed with error: 500 Can't connect to 10.211.55.13:2869 (timeout) at ./FHEM/00_SONOS.pm line 3721 thread 1

    Nun habe ich mit dem Attribut ignoreIPs mehrere betroffen IPs ausgefiltert.

    attr Sonos ignoredIPs 10.211.55.13,10.211.55.17,192.168.178.24,192.168.178.45

    Diese werden auch ignoriert. Aber bei der IP 10.211.55.13 funktioniert es nicht.

    Diese taucht im Logfile auf, wenn ich ein Windows 7 HomePremium auf einer Virtuellen Maschine "Parallels Desktop" starte.

    Gibt es bei virtuellen Maschinen etwas zu beachten?

    Schöne Grüße
    Frank S.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 30 Januar 2016, 16:02:46
    Ich vermute(!), dass irgendein upnp/dlna service in der VM läuft, der das verursacht. Bei mir gibt etwas Ähnliches: sobald ich in einer meiner W7 Enterprise TestVMs den Windows Explorer starte, dann stopt die Wiedergabe aller Sonosplayer ;-) Das hat aber nicht mit dem Sonos Modul zu tun und ich kann damit leben ;)
    Titel: Antw:Sonos steuern
    Beitrag von: Frank S. am 01 Februar 2016, 17:15:23
    Moin.

    Danke für die Info. Mich stört es im Prinzip auch nicht. Nur das Logfile wird aber nach einiger Zeit unübersichtlich. Daher ist die Möglichkeit bestimmt IPs zu ignorieren sehr gut. Nur hier scheint es nicht zu funktionieren.

    Schöne Grüße
    Frank
    Titel: Antw:Sonos steuern
    Beitrag von: Benni am 01 Februar 2016, 17:29:26
    Du kannst ja auch anstatt mal das, noch relativ neue Attribut usedonlyIPs verwenden.
    Dort kannst du die IPs eintragen die verwendet werden sollen, sprich die deiner Sonos-Geräte.
    Ist quasi das Gegenstück zu ignoredIPs. Seither habe ich jedenfalls deutlich weniger Probleme mit meinen Sonos-Playern.  8)
    Titel: Antw:Sonos steuern
    Beitrag von: Frank S. am 02 Februar 2016, 19:19:41
    Moin.

    Danke für die Idee und den Hinweis. Das war die Lösung. nun kommen auch keine Meldungen mehr, wenn ich die virtuelle Maschine nutze.

    Schöne Grüße
    Frank
    Titel: Antw:Sonos steuern
    Beitrag von: mike.d am 02 Februar 2016, 23:20:18
    ich hab ein Problem mit dem transportState - wenn sich der Player in einem Verbund befindet, dann wird das Reading scheinbar nicht adäquat von PLAYING auf PAUSED_PLAYBACK und umgekehrt geändert.

    Muss ich irgendwas beachten - gibt es ein alternatives Reading, um auf den tatsächlichen Status zu reagieren?
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 03 Februar 2016, 07:29:12
    Hier (http://forum.fhem.de/index.php/topic,10033.msg352759.html#msg352759) hatte Reiner die Frage zu dem transportState schon einmal beantwortet. Um das zu umgehen, kannst Du z.B. in einem Notify auf alle transportStates reagieren um dann ggf. zusätzliche Events auslösen, wenn der Player Slaves hat. Ist zwar sehr auf das Smartvisu Widget für Sonos zugeschnitten, aber hier (https://github.com/ddtlabs/smartvisu-widgets/blob/master/sonos/99_fronthemSonosUtils.pm) würdest Du ein Beispiel dazu finden.
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 07 Februar 2016, 12:00:22
    Seit ein paar Tagen funktioniert bei mir set Sonos_Schlafzimmer PlayURITemp \\Homeserver\Musik\xx.mp3 50 nicht mehr :(
    Ich habe jetzt schon verbose auf 5 gesetzt aber es wird keine Meldung ausgegeben

    Nach einem Restart des Fhem läuft es jetzt wieder ... aber warum? Das gleiche hatte ich vor ein paar Wochen schon einmal  :-\
    Titel: Antw:Sonos steuern
    Beitrag von: Mumpitz am 12 Februar 2016, 11:47:23
    Hallo Nobby

    Bei mir exakt das gleiche Problem!
    Titel: Antw:Sonos steuern
    Beitrag von: klemmi86 am 17 Februar 2016, 10:01:57
    Hallo Gemeinschaft,

    ich habe einen Wunsch an meine Verbindung FHEM-SONOS um die Usability weiter zu vereinfachen.
    Hintergrund: Wenn die Internetverbindung oder Stromverbindung an den Playern ausfällt, vergessen diese den letzten Stream. Wenn man dann am nächsten morgen zum Zähneputzen ohne iPhone in das Bad geht, erfolgt bei Klick auf die Playtaste nichts. Ebenso möchten wir auch gern ohne Handy zwischen unseren beiden Favoritensendern umschalten können.

    Daher mein Wunsch: Ein Druck auf die Playtaste startet den letzten gespeicherten Stream (meistens Internetradio), also alles wie gehabt. Jetzt kommt die Aufgabe: Doppelklick auf die Playtaste startet Stream1 (URL bekannt), sollte uns das Lied nicht gefallen wechseln wir mit weiteren Doppelklick auf Stream2. Weiterer Doppelklick wieder Stream1.

    Lässt sich so etwas im FHEM abbilden? Falls ja, wäre es schön, wenn ihr mich ein wenig an die Hand nehmen könntet bzw. mir zeigen könntet, wo ich was einstellen kann.

    Besten Dank!
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 17 Februar 2016, 10:08:33
    schau mal hier: http://www.fhemwiki.de/wiki/SONOS#Beispiel_zum_automatischen_Abspielen_einer_Liste_nach_dem_Einschalten_eines_Players (http://www.fhemwiki.de/wiki/SONOS#Beispiel_zum_automatischen_Abspielen_einer_Liste_nach_dem_Einschalten_eines_Players).

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 17 Februar 2016, 10:14:03
    Zitat von: klemmi86 am 17 Februar 2016, 10:01:57
    Doppelklick auf die Playtaste startet Stream1
    Oder wäre es nicht einfacher und flexibler einen x-beliebigen (Funk)taster zu nehmen und die gewünschten Funktionen über Notifies selbst zu gestalten?
    Titel: Antw:Sonos steuern
    Beitrag von: klemmi86 am 17 Februar 2016, 12:03:51
    Zitat von: justme1968 am 17 Februar 2016, 10:08:33
    schau mal hier: http://www.fhemwiki.de/wiki/SONOS#Beispiel_zum_automatischen_Abspielen_einer_Liste_nach_dem_Einschalten_eines_Players (http://www.fhemwiki.de/wiki/SONOS#Beispiel_zum_automatischen_Abspielen_einer_Liste_nach_dem_Einschalten_eines_Players).

    das habe ich bereits gesehen, denke aber, das es nicht meinen Anforderungen entspricht. Ich möchte ja nicht immer Sender X nach dem Einschalten hören, sondern im Regelfall soll einfach wie gehabt der letzte Sender weiterlaufen und wenn mir danach ist, möchte ich ohne Controller/App/Weboberfläche auf meinen 2. Lieblingssender umschalten - und bei Bedarf wieder zurück.

    Zitat von: dev0 am 17 Februar 2016, 10:14:03
    Oder wäre es nicht einfacher und flexibler einen x-beliebigen (Funk)taster zu nehmen und die gewünschten Funktionen über Notifies selbst zu gestalten?

    Ich habe derzeit nur ZigBee über Hue sowie Sonos integriert. Eine Schnittstelle zu anderen Funkfrequenzen wird nicht angesteuert. Zudem möchte ich auch unnötige Taster in der Wohnung vermeiden, allein schon des WAF wegen. Ich möchte das use+feel des Sonos Play:1 nicht unbedingt neu erfinden, sondern mir nur die Gelegenheit öffnen, ohne weitere Hardware direkt am Play:1 die Sender umzuschalten. Im Endeffekt eine "virtuelle" Taste hinzufügen, die zwischen 2 Lieblingssender hin und herschalten kann.

    besten Dank für Eure Hilfe
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Februar 2016, 12:34:22
    Hi Daniel,

    das Problem mit der Playtaste am Player ist, dass diese kein eigenes Event sendet (was man dann in Fhem verarbeiten könnte), sondern direkt am Player die Wiedergabe startet oder stoppt.
    Gibt es gerade keinen aktiven Stream oder Eintrag in der Wiedergabeliste, und schlägt deswegen die Wiedergabe fehl, bekommt Fhem das nicht mit.

    Für die Programmierung gibt es also nur noch die Möglichkeit der Laut-/Leisertasten (früher war der Play-Button ja ein Mute-Button, da konnte man ihn auch benutzen).
    Du könntest also zum einen den Hinweis auf das Wiki verfolgen. Damit kannst du erstmal erreichen, dass an dem Player immer ein Radiostream "aktiv" ist. Das bedeutet nicht, dass er gerade abgespielt wird, sondern nur, dass er abgespielt werden könnte. Damit funktioniert der Druck auf die Player-Playtaste immer.

    Dann könntest du am Fhem-Sonosplayer-Device ein Attribut buttonEvents definieren. Zum Beispiel:

    attr player buttonEvents 1:UD 1:DU
    Damit erhältst du in Fhem ein Event, wenn du innerhalb von einer Sekunde die Buttons für die Lautstärke Hoch/Runter (bzw. Runter/Hoch) nacheinander drückst.

    Da kannst du dann mit einem Notify drauf reagieren, und deinen Stream schalten. In Kladde ungefähr so:

    notify player:ButtonEvent.(UD|DU) {
      if ($EVTPART1 eq 'UD') { # Sender 1 aktivieren
      } elsif ($EVTPART1 eq 'DU') { # Sender 2 aktivieren
      }
    }
    Du kannst hier natürlich auch ein Hoch-/Runterdurchschalten durch eine Liste von Sendern realisieren...

    Ansonsten bleibt, wie schon erwähnt, nur irgendwelche Schalter anzubringen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Gorean am 17 Februar 2016, 14:55:49
    Hallo,

    nachdem ich seit gestern ein glücklicher Besitzer eines Play:5 bin muss ich sagen, dass das SONOS Modus echt einfach zu konfigurieren ist. Vielen Dank an Reinerlein für seine Arbeit. Die Musikwiedergabe klappt wie geplant.

    Leider habe ich noch ein Problem mit der Sprachausgabe. Hier bekomme ich von der Google TTS Engine immer einen 403 Forbidden error.

    Jetzt habe ich gerade gelesen, dass Google anscheinend den Free Access zur TTS Engine eingestellt haben soll. Es soll nur noch mit API Key gehen.

    Kann das jemand von Euch bestätigen?

    VG,
    Peter
    Titel: Antw:Sonos steuern
    Beitrag von: klemmi86 am 17 Februar 2016, 15:06:47
    Zitat von: Reinerlein am 17 Februar 2016, 12:34:22

    Da kannst du dann mit einem Notify drauf reagieren, und deinen Stream schalten. In Kladde ungefähr so:

    notify player:ButtonEvent.(UD|DU) {
      if ($EVTPART1 eq 'UD') { # Sender 1 aktivieren
      } elsif ($EVTPART1 eq 'DU') { # Sender 2 aktivieren
      }
    }

    Grüße
    Reiner

    Hallo Reiner,

    das klingt super, so würde ich das gern umsetzen. Allerdings fehlt es mir da noch an Übung. Ich habe in meinem Sonos-Player für die Küche nun folgende Attribute:

    (https://dl.dropboxusercontent.com/u/10352327/Foren/sonos1.PNG)

    soweit denke ich mal OK, allerdings weiß ich mir leider nicht zu helfen das notify anzulegen - ist denn meine Syntax überhaupt richtig?

    define Notify_Sonos_Kueche notify Sonos_Kueche:ButtonEvent.(UD|DU) {
      if ($EVTPART1 eq 'UD') { StartRadio <Mallorca 95.8>
      } elsif ($EVTPART1 eq 'DU') { StartRadio <MDR JUMP 103.0 (Pop)>
      }
    }


    bekomme nur das hier heraus:
    (https://dl.dropboxusercontent.com/u/10352327/Foren/sonos2.PNG)


    Vielen Dank!
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Februar 2016, 15:26:56
    Hi Daniel,

    sieht doch schon gut aus. Im Notify befindest du dich wegen der {}-Klammern im Perl-Modus.
    Bedeutet, dass du deine Steuerung mit dem Befehl fhem() bauen musst (das Beispiel hier ist für die Eingabe über die Weboberfläche mittels Def-Änderungs-Button gedacht):

    Sonos_Kueche:ButtonEvent.(UD|DU) {
      if ($EVTPART1 eq 'UD') {
        fhem("set Sonos_Kueche StartRadio Mallorca%2095.8");
      } elsif ($EVTPART1 eq 'DU') {
        fhem("set Sonos_Kueche StartRadio MDR%20JUMP%20103.0%20(Pop)");
      }
    }
    Allerdings musst du diese beiden Radiosender auf jeden Fall in deinen eigenen Radiosendern haben. Das kannst du in der Fhem-Oberfläche an dem Player mittels eines get-Aufrufs mit dem Parameter "Radios" sehen. Die Liste, die du dann siehst, sind die verwendbaren Radiosender.
    Wenn dein gewünschter nicht dabei ist, dann musst du den mit dem Sonos-Controller erst hinzufügen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: klemmi86 am 18 Februar 2016, 13:11:53
    Hallo Reiner,

    vielen Dank für Deine Hilfe. Ich habe in der Radio-Sektion folgendes gefunden:
    (https://dl.dropboxusercontent.com/u/10352327/Foren/2radios.PNG)

    demnach müsste ich meine Radiosende wohl "Mallorca%2095.8" sowie "MDR%20JUMP" nennen. Das habe ich auch getan. Allerdings möchte der Player immer noch keinen Stream ausspucken..

    (https://dl.dropboxusercontent.com/u/10352327/Foren/2notify.PNG)

    findest Du evtl den Fehler? Liegt es evtl daran, dass wir bei ATTR buttonEvent´s´ benutzt haben (also mit s)? Oder ist in meiner Syntax noch etwas falsch? Muss irgendwie ein Perl-Interpreter installiert werden?

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 Februar 2016, 13:35:13
    Hallo Daniel,

    hmm... das sollte alles stimmen. Das Attribut hat die Mehrzahl, weil man mehrere definieren kann. Wir haben ja auch zwei verschiedene definiert. Das Event ist dann aber natürlich Einzahl.

    Du müsstest im ersten Schritt mal im Event-Monitor schauen, ob das Event überhaupt auftaucht. Wenn ja, schau dir mal die genaue Schreibweise des Events an, und vergleiche das nochmal mit dem Notify.

    Zugleich kannst mal den set-Aufruf für den Radiostream direkt eingeben und testen.
    Also in der Eingabebox

    set Sonos_Kueche StartRadio Mallorca%2095.8
    eingeben und Enter drücken.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: klemmi86 am 18 Februar 2016, 14:23:56
    Hallo Reiner,

    ich denke ich bin kurz vor dem Durchbruch. Der Event wird bei UD DU erfolgreich getriggert:

    (https://dl.dropboxusercontent.com/u/10352327/Foren/2events.PNG)

    Auch der direkte Aufruf per set Sonos_Kueche StartRadio Mallorca%2095.8 funktioniert! Allerdings in Kombination habe ich noch keinen Erfolg. Ich werde nun einmal probieren und testen, ob es an irgendeiner Schreibweise liegt.
    Kann es $evtpart1 liegen? Oder das oben im Notify im Bereich Regexp Wizard die ButtonEvents getrennt dargestellt sind?

    Beste Grüße
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 Februar 2016, 16:28:52
    Hallo Daniel,

    die getrennte Darstellung liegt an dem senkrechten Strich, der im regulären Ausdruck eine alternative beschreibt. Wir wollen mit dem einen Notify ja auf beide Events reagieren.
    Man könnte zum Testen natürlich mal mit dem Regex-Wizard oben einstellen, dass du nur auf eins der beiden Events reagieren möchtest. Dazu hast du ja diese Klappboxen. Da sind Tippfehler zumindest mal ausgeschlossen.

    Auch $EVTPART1 sollte stimmen, da die EVTPARTs der Reihe nach die Elemente des Events enthält. In ...0 steht damit dann "ButtonEvent:"... und damit sehe ich es auch gerade... der Doppelpunkt fehlt...
    Also

    Sonos_Kueche:ButtonEvent:.(UD|DU) {
    in der Regex-Bedingung des Notify...

    Versuch das mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: klemmi86 am 18 Februar 2016, 16:54:43
    Hallo Reiner,

    das große Klasse! Der Doppelpunkt war das curpus delicti ! Alles funktioniert wie gewünscht! Hab vielen Dank für Deine schnelle und freundliche Hilfe! Ich konnte dabei viel über das fhem lernen und der Nutzen ist für mich persönlich gigantisch!

    Vielleicht hilft es ja auch anderen!

    Also nochmals zusammengefasst:
    1. ein Attribut beim PlayerXYZ anlegen
    attr Sonos_Kueche buttonEvents 1:UD 1:DU

    Wichtig: Da Attribute nur beim Starten von fhem initialisiert werden, sollte hiernach ein "shutdown restart" durchgeführt werden.

    2. Nun einen Notify beim Player anlegen mit (meinen)/folgenden Daten:

    Sonos_Kueche:ButtonEvent:.(UD|DU) {
      if ($EVTPART1 eq 'UD') {
        fhem("set Sonos_Kueche StartRadio Mallorca%2095.8");
      } elsif ($EVTPART1 eq 'DU') {
        fhem("set Sonos_Kueche StartRadio MDR%20JUMP");
      }
    }


    Besten Dank!
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: gloob am 18 Februar 2016, 17:04:39
    Hallo,

    Hat jemand die Sonos Integration auf einem Raspberry Pi am laufen?

    Immer wenn ich die Boxen in FHEM integriere, friert mir das System nach 1-2 Tagen ein.
    Entferne ich die Sonos Integration läuft alles über mehrere Wochen hinweg stabil.

    Ich verwende einen Raspberry Pi 2 mit aktuellem FHEM und LAN Anschluss.

    An Sonos Boxen, besitze ich 4 Play1.
    Titel: Antw:Sonos steuern
    Beitrag von: klemmi86 am 18 Februar 2016, 17:06:57
    hier - ich! Bei mir läuft es auf einem rpi (1. gen). Allerdings erst seit heute mit der neuesten fhem. Bisher keine Probleme gehabt.. (2x Play:1)
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 18 Februar 2016, 19:11:11
    Zitat von: klemmi86 am 18 Februar 2016, 16:54:43
    Vielleicht hilft es ja auch anderen!

    Vielen Dank. Klasse Tip!
    Titel: StartRadio ... funktioniert nicht nach Einschalten des Players
    Beitrag von: MacDad am 23 Februar 2016, 20:01:28
    Moin Reiner,

    ich habe da gerade ein Problem mit dem Starten eines Radiosenders, wenn die Player vorher vom Strom getrennt waren.
    Also ...
    _zu einer bestimmten Uhrzeit gehen die Funksteckdosen an und die Player werden "aktiviert".
    _es wird eine Gruppe gebildet
    _der Radiosender 1LIVE soll gestartet werden
    _Lautstärken werden justiert.

    In meinem DOIF sieht es dann so aus:
    ([([dum_Wecker]-180)|8] and [?str_SonosStereoSub] eq "off")
    (set str_SonosStereoSub on)
    DOELSEIF
    ([[dum_Wecker]|8])
    (set Sonos Groups [Sonos_Wohnzimmer, Sonos_Bad])
    (set Sonos_Wohnzimmer StartRadio 1LIVE)
    (set Sonos_Wohnzimmer Volume 12)
    (set Sonos_Bad Volume 8)


    Nur startet 1LIVE nicht  :'(
    Wenn der Player nicht vom Strom getrennt war, funktioniert das Ganze.
    Was muss ich hier ändern, damit der Radiosender auch nach einem "Stromlos" läuft?

    Schon mal Danke für Deine Zeit
    Gruß Dirk
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Februar 2016, 20:46:04
    Hallo Dirk,

    geht denn das Starten des Radiosenders direkt über die Fhemweb-Oberfläche? Also die Gruppe bilden, und mal über die Oberläche versuchen den Radiosender zu starten...

    Ansonsten könnte es sein, dass eine Verzögerung zwischen dem Bilden der Gruppe und dem Abspielen des Radiosenders liegen muss...
    Alternativ könntest du die Gruppe mal mit AddMember am Sonos_Wohnzimmer aufbauen. Dann liegt der Addmember Befehl in der Queue vom Wohnzimmer, und verzögert im Normalfall automatisch den StartRadio-Befehl. Momentan liegt das Gruppenbilden ja in der Queue vom Sonos-Device...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: MacDad am 23 Februar 2016, 21:28:15
    Moin Reiner,

    Danke für die schnelle Antwort.

    Die Gruppe wird erzeugt. (Kann ich auch in der SONOS App sehen)
    Die direkte Eingabe auf der FHEM-Oberfläche von
    set Sonos_Wohnzimmer StartRadio 1LIVE
    hat keine Auswirkungen, die Boxen bleiben stumm.

    Auch eine Verzögerung von 20 Sekungen hat nicht den Erfolg gebracht.

    Die Alternative mit AddMenber muss ich mir mal anlesen und ausprobieren.

    Gruß Dirk
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Februar 2016, 22:44:30
    Hi Dirk,

    wenn das Starten des Radiosenders auch über das Sonosplayer-Device nicht geht, dann musst du erstmal dort ansetzen.
    Mach mal ein

    get Sonos_Wohnzimmer Radios
    und prüfe, ob in der Ergebnisliste dein Radiosender vorkommt, und wie er genau geschrieben wird (das Ergebnis landet im Reading "LastActionResult").

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: MacDad am 24 Februar 2016, 18:36:32
    Moin Reiner,

    habe mal ein wenig ausprobiert, aber nichts hat zum Erfolg geführt ... bis auf
    (set Sonos_Wohnzimmer StartFavourite /(?i)Radio/)
    Jetzt wird der Radiosender gestartet, 1LIVE läuft  :)

    Nun tauchte auch gleich ein weiteres Problem bei mir auf, die Gruppe lässt sich im DOIF nicht trennen.
    Ich bekomme bei
    (set Sonos Groups [Sonos_Wohnzimmer], [Sonos_Bad])
    folgen Meldung im LOG
    2016-02-24 18:21:00 DOIF di_WeckerSonosPlay error:  appeared: Unknown command appeared, try help.
    Bei direkter Eingabe in der FHEM-Oberfläche, ohne ()
    set Sonos Groups [Sonos_Wohnzimmer], [Sonos_Bad]
    funktioniert es und die Gruppen werden getrennt.

    Kannst Du mir mein Brett vorm Kopf mal abnehmen, damit ich den Fehler sehe?!

    Danke, Gruß Dirk
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Februar 2016, 21:18:08
    Hi Dirk,

    kein Problem. Bei einem DOIF ist das Komma ein Kommandotrenner, das bedeutet, dass du die Zeile nochmal zusätzlich in runde Klammern packen musst:

    ((set Sonos Groups [Sonos_Wohnzimmer], [Sonos_Bad]))


    Und zu dem Radiosender: Was kommt denn als Ergebnis auf deine "get Sonos_Wohnzimmer Radios"-Anfrage?
    Dort siehst du die genaue Schreibweise, die du angeben musst. Dabei müssen nur noch Leerzeichen durch "%20" ersetzt werden.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: MacDad am 25 Februar 2016, 11:30:52
    Moin Reiner,

    vielen Dank für Deine weitere Hilfestellung  :)

    Zitat von: Reinerlein am 24 Februar 2016, 21:18:08
    ... Was kommt denn als Ergebnis auf deine "get Sonos_Wohnzimmer Radios"-Anfrage?
    Dort siehst du die genaue Schreibweise, die du angeben musst. Dabei müssen nur noch Leerzeichen durch "%20" ersetzt werden.

    Man sollte Deine Hinweise nicht nur lesen, sonder auch "verstehen" und befolgen  :-[
    GetRadios: "1LIVE - Das junge Radio des WDR. 96.0 (Euro-Hits)"

    Somit ist mir auch klar geworden, warum "1LIVE" so nicht funktionieren konnte  ???
    Angepasst sieht es dann so aus ...
    (set Sonos_Wohnzimmer StartRadio 1LIVE%20-%20Das%20junge%20Radio%20des%20WDR.%2096.0%20(Euro-Hits))
    ... und funktioniert ohne Problemen!

    Der Hinweis bzgl. Trennung der Gruppe klappt bei mir irgendwie nicht.
    ((set Sonos Groups [Sonos_Wohnzimmer], [Sonos_Bad]))
    Ich bekomme zwar keine Fehlermeldung mehr, aber die Gruppe trennt sich auch nicht.

    Die Lösung für mein Problem ist aber schon gefunden  ;)
    Du hast ja einen Befehl makeStandaloneGroup integriert (kannte ich vorher noch nicht) und damit bekomme ich die Trennung wunderbar hin.
    (set Sonos_Bad makeStandaloneGroup)
    Der Player im Bad wird "ausgegliedert" und die Musik hört direkt auf zu spielen.
    Der Player im Wohnzimmer läuft ohne Unterbrechung weiter, so soll es sein  :)

    Besten Dank
    und eine angenehme Restwoche wünscht Dir/Euch
    ein glücklicher Dirk


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Februar 2016, 15:43:58
    Hallo Dirk,

    schön, dass es jetzt läuft. Eine kleine Schönheitssache würde ich persönlich noch umstellen.

    Wenn es dir in der Logik eigentlich nur um das Hinzufügen eines Members zum Wohnzimmer (und dessen Abtrennung) geht, ist es optisch logischer, das auch so zu schreiben.

    Gruppieren:

    set Sonos_Wohnzimmer AddMember Sonos_Bad


    Abtrennen:

    set Sonos_Wohnzimmer RemoveMember Sonos_Bad


    Damit hast du das ganze aus der Sicht vom Wohnzimmer (der ja der Master sein soll) beschrieben, und du weißt später noch genau, was das eigentliche Ziel des Konstrukts war...
    Da hat aber jeder seine eigenen Vorlieben, bei den Gruppierungen führen echt viele Wege nach Rom :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: MacDad am 25 Februar 2016, 17:43:27
    Moin Reiner,

    Verbesserungen sind immer gerne willkommen  :)

    Meine Überlegung:
    _Sonos_Wohnzimmer ist immer der Master und besteht aus 2 x Play:1 (als Stereopaar) und 1 x Sub
    _Sonos_Schlafzimmer dient als Wecker (Slave)
    _Sonos_Bad dient zur Untermalung beim morgendlichem "aufstehen" (Slave)

    _Um X Uhr (Wecker) gehen alle Player an und ein bestimmter Radiosender wird abgespielt.
    _nach z.B. 45 Minuten soll Sonos_Schlafzimmer abgetrennt werden, da alle aufgestanden sind.
    _nach z.B. 90 Minuten soll Sonos_Bad abgetrennt werden, da alle im Bad fertig sind.
    _nach z.B. 120 Minuten soll der Master auf "STOP" gehen.
    _nach z.B. 130 Minuten werden alle Steckdosen der Player auf "aus" geschaltet, wenn Master nicht wieder manuel auf PLAY geschaltet wurde.

    Im DOIF würde es vereinfacht jetzt so aussehen, ohne Wecker und Steckdosen.

    ([06:00])
    (set Sonos Groups [Sonos_Wohnzimmer, Sonos_Schlafzimmer, Sonos_Bad])
    (set Sonos_Wohnzimmer StartRadio 1LIVE%20-%20Das%20junge%20Radio%20des%20WDR.%2096.0%20(Euro-Hits))
    (set Sonos_Wohnzimmer Volume 12)
    (set Sonos_Schlafzimmer Volume 15)
    (set Sonos_Bad Volume 8)
    DOELSEIF
    ([06:45])
    (set Sonos_Wohnzimmer RemoveMember Sonos_Schlafzimmer)
    DOELSEIF
    ([07:30])
    (set Sonos_Wohnzimmer RemoveMember Sonos_Bad)
    DOELSEIF
    ([08:00])
    (set Sonos_Wohnzimmer Stop)


    Eventuell werde ich mich von den vielen DOELSEIF wieder verabschieden und die Schaltzeiten mit "wait" realisieren.

    So sieht sie aus, meine Überlegung ;D

    Gruß Dirk
    Titel: Antw:Sonos steuern
    Beitrag von: Christian Uhlmann am 06 März 2016, 09:57:01
    Hallo,

    ich nutze das Sonos Modul mit insgesamt 3 Playern.
    Leider wird mein fhem Log immer mit vielen Infos aus dem Sonos Modul überschwemmt:
    2016.03.06 09:49:13 3: SONOS1: Event: Received Transport-Event for Zone "sys.sonos_Kueche".
    2016.03.06 09:49:13 3: SONOS1: Event: End of Transport-Event for Zone "sys.sonos_Kueche".
    2016.03.06 09:49:13 3: SONOS1: Event: Received Transport-Event for Zone "sys.sonos_Kueche".
    2016.03.06 09:49:13 3: SONOS1: Event: End of Transport-Event for Zone "sys.sonos_Kueche".
    2016.03.06 09:49:14 3: SONOS1: Event: Received Transport-Event for Zone "sys.sonos_Kueche".
    2016.03.06 09:49:14 3: SONOS1: Event: End of Transport-Event for Zone "sys.sonos_Kueche".
    2016.03.06 09:49:15 3: SONOS1: Event: Received Transport-Event for Zone "sys.sonos_Kueche".
    2016.03.06 09:49:15 3: SONOS1: Event: End of Transport-Event for Zone "sys.sonos_Kueche".
    2016.03.06 09:49:15 3: SONOS0: Connection accepted from localhost:36820
    2016.03.06 09:49:24 3: SONOS1: Event: Received Transport-Event for Zone "sys.sonos_Kueche".
    2016.03.06 09:49:24 3: SONOS1: Event: End of Transport-Event for Zone "sys.sonos_Kueche".
    2016.03.06 09:49:45 3: SONOS0: Connection accepted from localhost:36850
    2016.03.06 09:50:16 3: SONOS0: Connection accepted from localhost:36872
    2016.03.06 09:50:46 3: SONOS0: Connection accepted from localhost:36884


    trotz das ich ein eigenes Log definiert habe:
    list vom Sonos device
    Internals:
       CFGFN
       DELAYTIME  0
       DeviceName localhost:4711
       FD         254
       INTERVAL   30
       NAME       sys.sonos
       NR         1131
       NTFY_ORDER 50-sys.sonos
       PARTIAL
       STATE      opened
       TYPE       SONOS
       WAITTIME   8
       Readings:
         2016-03-06 09:33:17   MasterPlayer    ['sys.sonos_Bad','sys.sonos_Kueche','sys.sonos_Wohnzimmer']
         2016-03-06 09:33:17   MasterPlayerCount 3
         2016-03-06 09:49:25   MasterPlayerNotPlaying ['sys.sonos_Bad','sys.sonos_Kueche','sys.sonos_Wohnzimmer']
         2016-03-06 09:49:25   MasterPlayerNotPlayingCount 3
         2016-03-06 09:49:25   MasterPlayerPlaying []
         2016-03-06 09:49:25   MasterPlayerPlayingCount 0
         2016-03-06 09:47:50   ZoneGroupState  <ZoneGroups><ZoneGroup Coordinator="RINCON_B8E93781B65001400" ID="RINCON_B8E93781B65001400:6"><ZoneGroupMember UUID="RINCON_B8E93781B65001400" Location="http://192.168.127.154:1400/xml/device_description.xml" ZoneName="Küche" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="31.9-26010" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="62" WirelessMode="0" HasConfiguredSSID="1" ChannelFreq="2437" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9379A2CC401400" ID="RINCON_B8E9379A2CC401400:6"><ZoneGroupMember UUID="RINCON_B8E9379A2CC401400" Location="http://192.168.127.189:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="31.9-26010" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="8" WirelessMode="0" HasConfiguredSSID="1" ChannelFreq="2437" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFD45BB4801400" ID="RINCON_5CAAFD45BB4801400:1"><ZoneGroupMember UUID="RINCON_5CAAFD45BB4801400" Location="http://192.168.127.190:1400/xml/device_description.xml" ZoneName="Bad" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="31.9-26010" MinCompatibleVersion="29.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="29" WirelessMode="0" HasConfiguredSSID="1" ChannelFreq="2437" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" SonarState="4"/></ZoneGroup></ZoneGroups>
         2016-03-06 09:33:13   state           opened
    Attributes:
       room       sys.sonos


    dazu das FileLog
    Internals:
       CFGFN
       DEF        /var/log/fhem/sys.sonos-%Y-%m.log sys.sonos*
       NAME       FileLog_sys.sonos
       NR         1170
       NTFY_ORDER 50-FileLog_sys.sonos
       REGEXP     sys.sonos*
       STATE      active
       TYPE       FileLog
       currentlogfile /var/log/fhem/sys.sonos-2016-03.log
       logfile    /var/log/fhem/sys.sonos-%Y-%m.log
    Attributes:
       logtype    text
       room       sys.sonos


    als weitere Definiton noch einer der Player:
    Internals:
       CFGFN
       DEF        RINCON_B8E93781B65001400_MR
       NAME       sys.sonos_Kueche
       NR         1155
       NTFY_ORDER 50-sys.sonos_Kueche
       STATE      appeared
       TYPE       SONOSPLAYER
       UDN        RINCON_B8E93781B65001400_MR
       Readings:
         2016-03-06 09:33:17   AlarmList       {}
         2016-03-06 09:33:17   AlarmListIDs
         2016-03-06 09:33:17   AlarmListVersion RINCON_B8E93781B65001400:0
         2016-03-06 09:33:17   AlarmRunning    0
         2016-03-06 09:33:17   AlarmRunningID
         2016-03-06 09:33:16   Balance         0
         2016-03-06 09:33:17   Bass            0
         2016-03-06 09:33:17   CrossfadeMode   0
         2016-03-06 09:33:17   DailyIndexRefreshTime
         2016-03-06 09:33:17   FavouritesVersion RINCON_5CAAFD45BB4801400,20
         2016-03-06 09:33:17   GroupMute       0
         2016-03-06 09:33:17   GroupVolume     36
         2016-03-06 09:33:17   HeadphoneConnected 0
         2016-03-06 09:33:16   IsMaster        1
         2016-03-06 09:49:24   LastActionResult Pause: Success!
         2016-03-06 09:33:17   Loudness        1
         2016-03-06 09:33:17   MasterPlayer    sys.sonos_Kueche
         2016-03-06 09:33:17   Mute            0
         2016-03-06 09:33:17   OutputFixed     0
         2016-03-06 09:33:17   PlaylistsVersion RINCON_5CAAFD45BB4801400,0
         2016-03-06 09:33:17   QueueHash       9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
         2016-03-06 09:33:17   QueueVersion
         2016-03-06 09:33:17   RadiosVersion   RINCON_5CAAFD45BB4801400,20
         2016-03-06 09:33:17   Repeat          0
         2016-03-06 09:33:17   RepeatOne       0
         2016-03-06 09:33:17   Shuffle         0
         2016-03-06 09:33:16   SlavePlayer     []
         2016-03-06 09:33:17   SleepTimer      off
         2016-03-06 09:33:16   SleepTimerVersion
         2016-03-06 09:33:17   SubEnable       1
         2016-03-06 09:33:17   SubGain         0
         2016-03-06 09:33:17   SubPolarity     0
         2016-03-06 09:33:17   Treble          0
         2016-03-06 09:33:17   TruePlay        0
         2016-03-06 09:33:16   Volume          36
         2016-03-06 09:33:17   ZoneGroupID     RINCON_B8E93781B65001400:__
         2016-03-06 09:33:17   currentAlbum
         2016-03-06 09:33:17   currentAlbumArtURI ./www/images/default/SONOSPLAYER/sys.sonos_Kueche_AlbumArt.gif
         2016-03-06 09:33:17   currentAlbumArtURL http://192.168.127.154:1400/getaa?s=1&u=x-sonosapi-stream%3as99166%3fsid%3d254%26flags%3d32
         2016-03-06 09:33:17   currentAlbumArtist
         2016-03-06 09:33:17   currentArtist
         2016-03-06 09:44:22   currentNormalAudio 0
         2016-03-06 09:33:17   currentOriginalTrackNumber
         2016-03-06 09:33:17   currentSender   WDR2 Ruhrgebiet
         2016-03-06 09:33:17   currentSenderCurrent
         2016-03-06 09:49:25   currentSenderInfo
         2016-03-06 09:33:16   currentStreamAudio 1
         2016-03-06 09:33:17   currentTitle
         2016-03-06 09:33:16   currentTrack    1
         2016-03-06 09:33:16   currentTrackDuration 0:00:00
         2016-03-06 09:33:16   currentTrackPosition 0:00:00
         2016-03-06 09:44:16   currentTrackProvider Radio
         2016-03-06 09:44:16   currentTrackURI http://wdr-mp3-m-wdr2-dortmund.akacast.akamaistream.net/7/789/119456/v1/gnl.akacast.akamaistream.net/wdr-mp3-m-wdr2-dortmund
         2016-03-06 09:33:16   fieldType
         2016-03-06 09:49:25   infoSummarize1  WDR2 Ruhrgebiet:
         2016-03-06 09:49:25   infoSummarize2  STOPPED => WDR2 Ruhrgebiet:
         2016-03-06 09:33:17   infoSummarize3  Lautstärke: 36 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2016-03-06 09:33:17   infoSummarize4
         2016-03-06 09:33:16   location        http://192.168.127.154:1400/xml/device_description.xml
         2016-03-06 09:33:17   nextAlbum
         2016-03-06 09:33:17   nextAlbumArtURI ./www/images/default/SONOSPLAYER/sys.sonos_Kueche_NextAlbumArt.png
         2016-03-06 09:33:17   nextAlbumArtURL /fhem/sonos/cover/empty.jpg
         2016-03-06 09:33:17   nextAlbumArtist
         2016-03-06 09:33:17   nextArtist
         2016-03-06 09:33:17   nextOriginalTrackNumber
         2016-03-06 09:33:17   nextTitle
         2016-03-06 09:33:17   nextTrackDuration
         2016-03-06 09:33:17   nextTrackProvider
         2016-03-06 09:33:17   nextTrackURI
         2016-03-06 09:33:16   numberOfTracks  2
         2016-03-06 09:33:16   playerType      S1
         2016-03-06 09:33:16   presence        appeared
         2016-03-06 09:33:17   roomIcon        kitchen
         2016-03-06 09:33:16   roomName        Küche
         2016-03-06 09:33:16   roomNameAlias   Küche
         2016-03-06 09:33:16   saveRoomName    Kueche
         2016-03-06 09:33:16   serialNum       B8-E9-37-81-B6-50:4
         2016-03-06 09:33:16   softwareRevision 6.2
         2016-03-06 09:33:17   state           appeared
         2016-03-06 09:49:25   transportState  STOPPED
    Attributes:
       alias      Küche
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       group      Kueche
       icon       icoSONOSPLAYER_icon-S1.png
       minVolume  0
       model      Sonos_S1
       room       sys.sonos
       sortby     1
       stateVariable Presence
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("sys.sonos_Kueche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("sys.sonos_Kueche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("sys.sonos_Kueche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("sys.sonos_Kueche", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }


    weiß jemand, warum im fhem FileLog immer noch die SONOS* Einträge kommen?
    Was kann ich dagegen tun? Ich würde das gerne in das eigene Sonos Log schieben.


    Danke und Grüße

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 06 März 2016, 10:34:23
    Zitat von: christian.uhlmann am 06 März 2016, 09:57:01
    Was kann ich dagegen tun?
    kurz: attr TYPE=SONOS verbose 2
    lang: Das verbose Attribut der Sonos Hauptinstanz auf 2 oder weniger setzen. Diese Systemmeldungen in eine andere Datei zu schreiben ist nicht so einfach möglich.
    Titel: Antw:Sonos steuern
    Beitrag von: Andy89 am 06 März 2016, 13:11:44
    Zitat von: MacDad am 25 Februar 2016, 11:30:52
    vielen Dank für Deine weitere Hilfestellung  :)

    Man sollte Deine Hinweise nicht nur lesen, sonder auch "verstehen" und befolgen  :-[
    GetRadios: "1LIVE - Das junge Radio des WDR. 96.0 (Euro-Hits)"

    Somit ist mir auch klar geworden, warum "1LIVE" so nicht funktionieren konnte  ???
    Angepasst sieht es dann so aus ...
    (set Sonos_Wohnzimmer StartRadio 1LIVE%20-%20Das%20junge%20Radio%20des%20WDR.%2096.0%20(Euro-Hits))
    ... und funktioniert ohne Problemen!

    Hey,
    danke für diesen Hinweis, der hat mir heute viel Ärger und Zeit erspart =)
    Nun habe ich noch eine Frage, ich würde gerne auch 100'5 so starten, weil aber in dem Namen ein Apostroph ist, komm ich nicht weiter.
    Im Sonos Player steht als Favourit folgendes: ,'Title' => '100&apos;5 DAS HITRADIO.'

    Wenn ich folgendes direkt im Sonos Device ausführe, dann funktioniert es:
    set Sonos_Bad StartFavourite 100&apos;5%20DAS%20HITRADIO.

    Wenn ich das gleiche in der Konsole mache, klappt es natürlich nicht wegen des Semikolons... Fhem trennt nach dem Semikolon und beschwert sich dann Unknown command 5%20DAS%20HITRADIO.), try help. Wisst ihr wie ich dieses Semikolon-Problem umgehen kann? Zweck des Ganzen ist es 100'5 einer Liste zum Auswählen auf dem FTUI hinzuzufügen.

    Danke schon einmal.

    Beste Grüße
    Andy
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 März 2016, 15:04:15
    Hi Andy,

    was passiert denn, wenn du daraus ein ' machst?
    Alternativ mal mit %27 versuchen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Andy89 am 06 März 2016, 15:15:03
    Zitat von: Reinerlein am 06 März 2016, 15:04:15
    Hi Andy,

    was passiert denn, wenn du daraus ein ' machst?
    Alternativ mal mit %27 versuchen...

    Grüße
    Reiner
    Hey,
    danke für den Versuch, leider auch ein Fehler:
    LastActionResult

    StartFavourite: Favourite "100'5 DAS HITRADIO." not found. Choose one of: "100&apos;5 DAS HITRADIO.", [...]


    Beste Grüße
    Andy
    Titel: Antw:Sonos steuern
    Beitrag von: mike.d am 06 März 2016, 18:20:39
    hallo zusammen, seit einigen Tagen habe ich folgendes Problem:

    nach einiger Laufzeit bricht mein Sonos-System beim Abspielen von AppleMusic einen Fehler mit "unable to play - access denied" ab. Wenn ich den Sonos-Hauptprozess auf disable stelle, funktioniert es nach einem Neustart reproduzierbar wieder.

    Hatte schon mal jemand selbes Verhalten?

    Geändert habe ich nur: ein eigenes UserReading hinzugefügt (state2) in dem nach dem Vorbild hier im Forum "on off" in Abhängigkeit von jeweiligen MasterPlayer gesetzt wird. Aber auch wenn ich dazu passendes DOIF pausiere passiert obiges Verhalten.

    Weiter sehe ich in apptime folgendes:

    Sonos           SONOS_Read   2249      5     4235   847.00      0 HASH(Sonos)

    was immer wieder zum Aussetzen meines HMLAN führt.

    Wahrscheinlich sind es Läuse und Flöhe gleichzeitig, aber das Abbrechen des SONOS-Streams von AppleMusic ist das einschränkendste. Vielleicht hat ja jemand eine Idee?
    Titel: Antw:Sonos steuern
    Beitrag von: Kai-Alfonso am 07 März 2016, 16:13:05
    Hi,

    ich wollte mal mit Readingsgroups und Sonos rumspielen, komm aber irgendwie nicht zum Erfolg, wenn ich das Beispiel aus der Wiki testen wollte.

    in meine 99_myUtils.pm habe ich die Prozedur getListRG gespeichtert und eine RG angelegt

    define Sonos_Bad_RG readingsGroup Sonos_Bad:<{getListRG($DEVICE,"Radios",1)}@Radios>

    aber leider bleibt die RG leer, auch wenn ich ein get Sonos_Bad Radios mache. Weiß vielleicht jemand warum?

    Titel: Antw:Sonos steuern
    Beitrag von: Kai-Alfonso am 07 März 2016, 18:35:18
    Habs selber hinbekommen - ging dann mit get RadioswithCovers
    Titel: Mute-Status von allen Sonos-Playern
    Beitrag von: m0urs am 09 März 2016, 09:51:20
    Bei einem bestimmten Sonos-Player habe ich ja die Mögichkeit, den aktuellen Mute-Status abzufragen und dann am Ende wieder so zu setzen, wie er vorher war.

    Beim globalen Sonos-Device kann ich auch global Mute für alle Player ein- oder ausschalten. Gibt es hier auch die Möglichkeit den Mute-Status aller Player wieder so einzustellen, wie sie vor einem "Mute On" gewesen sind? Also, alle die schon auf Mute standen, sollten wieder auf Mute stehen, bei allen anderen sollte Mute ausgeschaltet werden wenn ein "Mute off" geschickt wird.
    Titel: Antw:Mute-Status von allen Sonos-Playern
    Beitrag von: dev0 am 09 März 2016, 10:30:09
    Zitat von: m0urs am 09 März 2016, 09:51:20
    Gibt es hier auch die Möglichkeit den Mute-Status aller Player wieder so einzustellen

    Ungetestet, aber so könnte man es umsetzen:

    sub setMuteOnAllSonosplyer($)
    {
      my ($state) = @_;
      foreach my $player (devspec2array("TYPE=SONOSPLYER")) {
        fhem("setreading $player _muteOld ".ReadingsVal($player,"Mute", ""));
      }
      fhem("set TYPE=SONOS Mute $state"); 
    }

    sub restoreMuteOnAllSonosplayer
    {
      foreach my $player (devspec2array("TYPE=SONOSPLYER")) {
        my $oldVal = ReadingsVal($player,"_muteOld", "");
        if ($oldVal ne "") {
          fhem("set $player Mute $oldVal");
          deletereading $player "_muteOld";
        }
      }
    }


    Aufruf:
    {setMuteOnAllSonosplyer on|off}
    {restoreMuteOnAllSonosplayer}

    Edit: ein $oldVal fehlte.
    Titel: Antw:Mute-Status von allen Sonos-Playern
    Beitrag von: m0urs am 09 März 2016, 14:55:44
    Zitat von: dev0 am 09 März 2016, 10:30:09
    Ungetestet, aber so könnte man es umsetzen:

    Es waren noch kleinere Typos drin, aber so funktioniert es jetzt:


    sub setMuteOnAllSonosplayer($)
    {
      my ($state) = @_;
      foreach my $player (devspec2array("TYPE=SONOSPLAYER")) {
        fhem("setreading $player _muteOld ".ReadingsVal($player,"Mute", ""));
      }
      fhem("set TYPE=SONOS Mute $state");
    }

    sub restoreMuteOnAllSonosplayer
    {
      foreach my $player (devspec2array("TYPE=SONOSPLAYER")) {
        my $oldVal = ReadingsVal($player,"_muteOld", "");
        if ($oldVal ne "") {
          fhem("set $player Mute $oldVal");
          fhem("deletereading $player _muteOld");
        }
      }
    }


    Vielen Dank dafür!
    Titel: Antw:Mute-Status von allen Sonos-Playern
    Beitrag von: dev0 am 09 März 2016, 15:45:35
    Zitat von: m0urs am 09 März 2016, 14:55:44
    aber so funktioniert es jetzt
    Dann habe ich meine Frühstückspause ja sinnvoll verbracht ;)
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 11 März 2016, 08:29:20
    Hallo Reiner,

    gibt es eine "einfache" Möglichkeit, ALLE Alarme eines Sonos-Players auf einmal zu aktivieren oder zu deaktivieren? Wenn nein, wäre das ein Verbesserungsvorschlag :) .

    Mit ist nur bekannt:


    set Sonos_Player Alarm Update ID { Enabled => 1 }
    set Sonos_Player Alarm Update ID { Enabled => 0 }


    ... um einen ausgewählten Alarm zu aktivieren (bzw. zu deaktivieren).

    Fein wäre


    set Sonos_Player Alarm Enable ID
    set Sonos_Player Alarm Disable ID
    set Sonos_Player Alarm Enable all
    set Sonos_Player Alarm Disable all


    In diesem Zusammenhang hätte ich auch einen Anwendungsfall für


    set Sonos_Player Alarm Delete all


    8)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 März 2016, 08:53:19
    Hi Ralli,

    ich schaue mir das mal an :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: MacDad am 16 März 2016, 18:24:24
    Zitat von: Andy89 am 06 März 2016, 13:11:44
    Hey,
    danke für diesen Hinweis, der hat mir heute viel Ärger und Zeit erspart =)
    Nun habe ich noch eine Frage, ich würde gerne auch 100'5 so starten, weil aber in dem Namen ein Apostroph ist, komm ich nicht weiter.
    ....
    Danke schon einmal.

    Beste Grüße
    Andy

    Moin Andy,

    hast Du es schon mal mit
    set Sonos_Bad StartRadio 100'5%20DAS%20HITRADIO.
    versucht?

    Gruß Dirk
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 März 2016, 18:32:41
    Hallo Andy,

    als letzte Alternative kannst du den Radiosender auch als Sonos-Favorit ablegen.
    Dessen Namen kann man im Sonos-Controller frei vergeben, und du kannst dem Radiosender einen Namen ohne Apostroph geben...

    In Fhem musst du das dann natürlich mit "StartFavourite" starten.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 März 2016, 18:57:47
    Hallo Andy,

    ich habe es gerade mal selber probiert.
    Du musst das folgende angeben:

    set Sonos_Player LoadRadio 100%26apos%3B5%20DAS%20HITRADIO.

    Sonos behandelt intern die Apostrophe immer als "&apos;". Wenn man das URL-encoded, kommt da "%26apos%3B" raus. Dann noch die Leerzeichen in %20 umwandeln, und los geht's :)

    Die optisch schönere Alternative ist mit einem regulären Ausdruck möglich:

    set Sonos_Player LoadRadio /(?i)das.hitradio/
    Damit läßt man einfach den Apostroph-Kram aussen vor (und mit dem "(?i)" ist die Groß-/Kleinschreibung egal).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Andy89 am 16 März 2016, 22:50:54
    Wow. Danke für die vielen Antworten. Hab mittlerweile (am Weekend) den Favoriten per PC App umbenannt und damit geht's nun auch ohne Probleme.
    Die Alternative mit einem regulären Ausdruck finde ich auch am schönsten :) werde ich mir auf jeden Fall im Hinterkopf behalten!
    Danke trotzdem für eure Mühe und Hilfe :)
    Beste Grüße
    Andy


    Gesendet von iPhone mit Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 März 2016, 13:27:44
    Hallo Ralli,

    ich habe gerade eine neue Version eingecheckt :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 19 März 2016, 14:15:09
    Hallo Reiner,

    Dankeschön  ;D !

    Klappt ! Sehr fein  8) .
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 31 März 2016, 15:55:10
    Hallo Reinerlein,

    zum Thema "Gruppieren" habe ich einige Fragen / bzw. ein Problem:

    Hintergrund: Meine Sonos -Player können alle über FS20 Funksteckdosen aus der Ferne eingeschaltet werden. Ich möchte auf Kommando alle einschalten, zu einer Gruppe zusammenfassen und dann ev. "unliebsame" Gäste "erschrecken".


    1. Der Befehl "addMember" kann als Argument wohl nur einen Player und keine Liste verarbeiten.

    set Sonos_Arbeitszimmer addMember Sonos_G_stezimmer,Sonos_Marinas_Zimmer,Sonos_Wohnzimmer

    2016.03.31 15:05:04 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to 'Sonos_G_stezimmer,Sonos_Marinas_Zimmer,Sonos_Wohnzimmer'. This should not happen!


    Wäre also ev. noch ein Erweiterungswunsch.

    Gut. Habe also als Workaround nun eine Schleife gebaut und rufe mit 1 Sek. Abstand den "addMember" Befehl nun auf.

    Leider funktioniert das nur unzuverlässig.
    Was anscheinend ein Problem  ist:
    An zwei Sonos-Player sind an den externen Eingängen TVs angeschlossen. Die werden natürlich auch mit eingeschaltet und das externe Signal schaltet den Player auf den externen Eingang automatisch um.

    Wenn ich nun den "set Sonos_Arbeitszimmer addMember Sonos_Wohnzimmer" - Befehl (Sonos_Wohnzimmer spielt den TV ab) passiert beim ersten Mal nichts, d.h. der Player spielt weiterhin das TV - Programm ab und nicht die Musik des Masters (Sonos_Arbeitszimmer).
    Beim zweiten Mal verstummt nun der Player ohne die Quelle des Masters abzuspielen. Dafür gibt es dann im log folgnde Einträge:

    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4241, <$client> line 9.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4241, <$client> line 9.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4248, <$client> line 9.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4249, <$client> line 9.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4241, <$client> line 9.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4241, <$client> line 9.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4248, <$client> line 9.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4249, <$client> line 9.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4241, <$client> line 9.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4241, <$client> line 9.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4248, <$client> line 9.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4249, <$client> line 9.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4241, <$client> line 9.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 4241, <$client> line 9.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4248, <$client> line 9.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 4249, <$client> line 9.



    Und danach reagiert Sonos überhaupt nicht mehr auf die "addMember" - Befehle.
    Ich kann den Master alerdings weiterhin über fhem bedienen, z.B. Radiosender umschalten oder Lautstärke ändern.
    Erst nach einem reboot von fhem gehts dann wieder.
    Zwei kleine Randbedingungen, die m.M.n. aber keine Rolle spielen sollten:
    a) der Sonos_Arbeitszimmer ist bereits ein Stereo-Paar.
    b) Seit zwei Wochen habe ich OpenVPN auf dem Cubie laufen. Damit ich über den Tunnel auch ins Internet komme, habe ich für TCP und UDP eine allow-Regel für iptables anlegen müssen. Muss wg. Sonos ev. da noch eine für ICMP dazu?
    Eigentlich ja nicht, da: pingType tcp

    Für Tipps wäre ich wie immer zu allertiefstem Danke verpflichtet....

    Elektrolurch


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 März 2016, 17:09:08
    Hallo Elektrolurch,

    das mit den mehreren Playern bei AddMember schaue ich mir an.

    Zwischenzeitlich kannst du aber auch mit dem Groups-Befehl am Sonos-Device arbeiten:

    set Sonos Groups [Sonos_Arbeitszimmer, Sonos_Wohnzimmer, Sonos_Schlafzimmer, Sonos_Bad]
    Das baut eine Gruppe mit den genannten Playern auf, wobei der erste (hier "Sonos_Arbeitszimmer") der Master wird.

    Die von dir beschriebene Fehlermeldung tritt bei einem Speak-Befehl auf. Warum sie allerdings auftritt, kann ich leider auch nicht sagen.
    Dazu bräuchte ich ein größeres Log (min. 4 oder 5) das sind ja anscheinend nur Einträge, die auf StdErr rausgekommen sind...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 31 März 2016, 19:52:48
    Hallo Reinerlein,

    danke schon Mal für die rasche Antwort.

    Zitat:
    set Sonos Groups [Sonos_Arbeitszimmer, Sonos_Wohnzimmer, Sonos_Schlafzimmer, Sonos_Bad]

    mit [] ? -> ok, das würde aber auch das tun, was ich möchte. Baue ich mal ein....

    Ja, mit dem Speak da muss wohl was damit passiert sein. Ich habe die Funktion (Einbrecher verjagen) gebaut und sie ging ja nicht. Beim Testen der Einzelschritte ist mir dann aufgefallen, dass das "speak" - directory falsche  Schreibrechte hatte. Beim "Sichermachen" des Bubies muss ich die wohl falsch gesetzt haben.
    Werde es morgen dann noch mal testen.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 März 2016, 20:59:28
    Hi Elektrolurch,

    ja, mit den Klammern. Man kann gleichzeitig mehrere Gruppen aufbauen/umbauen:

    set Sonos Groups [Sonos_Arbeitszimmer, Sonos_Bad, Sonos_Schlafzimmer], [Sonos_Kueche, Sonos_Kinderzimmer]


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Marius82 am 01 April 2016, 11:53:58
    Hallo,

    Wie stelle ich ein, das Sonos nicht jedes bisschen ins Logfile schreibt? Irgendwo soll man Verbose auf null setzen, aber ich weiß nicht wo/wie?

    Über Hilfe würde ich mich sehr freuen!
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 April 2016, 12:25:52
    Hi Marius82,

    allgemein für Fhem: entweder am Device "global" auf 0, oder direkt an jedem Device, für welches es wirken soll.

    In deinem Fall also mindestens am zentralen Sonos-Device, und bei Bedarf an jedem Sonosplayer-Device...
    Dann landen nur noch ein/zwei Zeilen beim Start des SubProzesses im Log. Wenn du es am "global"-Device definiert hast, dann noch nicht mal diese...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Marius82 am 01 April 2016, 12:52:33
    Besten Dank
    Titel: Antw:Sonos steuern
    Beitrag von: Benni am 02 April 2016, 06:33:44
    Zitat von: Reinerlein am 01 April 2016, 12:25:52
    Wenn du es am "global"-Device definiert hast, dann noch nicht mal diese...

    ... und auch keine mehr von anderen Devices.
    Das erschwert im Problemfall erst einmal die Suche nach möglichen Ursachen.
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 02 April 2016, 13:50:08
    Hallo Reinerlein,

    leider noch Mal mit dem Thema gruppieren:

    Wenn ich:

    set Sonos Groups [Sonos_Marinas_Zimmer,Sonos_G_stezimmer,Sonos_Arbeitszimmer,Sonos_Wohnzimmer]

    eingebe dann ist das Ergebnis relativ unvorhersehbar.
    get Sonos Groups liefert nach einiger Zeit dann:

    [Sonos_Arbeitszimmer, Sonos_Arbeitszimmer_RF], [Sonos_Marinas_Zimmer, Sonos_G_stezimmer], [Sonos_Wohnzimmer]

    d.h. nur das Gästezimmer wurde zu Marinas_Zimmer hinzugefügt.
    Wenn ich Pech habe, muss ich danach Sonos mit
    attr Sonos disable 1
    neu starten, da es überhaupt nicht mehr auf Gruppierungsbefehle reagiert.
    Ich habe mal für Sonos verbose auf 5 gesetzt und hänge das log-File hier an.

    Da es etwas länglich ist, habe ich noch ein logfile mit verbose 4
    erzeugt.


    Da mache ich folgendes:
    set Monitor Audio Volume=5 type=ALARM pause=60 Achtung! Unbefugte Personen befinden sich im Haus. Einbruch! |sounds/Daueralarm|


    Auszug aus dem SonosVerb4-log.log:

    2016.04.02 13:22:41 1: Alarmausgabe gestartet
    2016.04.02 13:22:41 1: main::AktivMon_Set: p Sonos_Marinas_Zimmer switch Mz_Media for ALARM
    2016.04.02 13:22:41 1: main::AktivMon_Set: p Sonos_Wohnzimmer switch Wz_Media for ALARM
    2016.04.02 13:22:42 1: main::AktivMon_Set: p Sonos_Arbeitszimmer switch Az_Media for ALARM
    2016.04.02 13:22:42 1: main::AktivMon_Set: p Sonos_G_stezimmer switch Gz_Media for ALARM
    2016.04.02 13:22:42 2: main::SonosCC_Attr: cmd set name SonosCC attr AutostartRadio val 0
    2016.04.02 13:22:42 1: main::AktivMon_Set: master Sonos_Marinas_Zimmer cmd: set Sonos Groups [Sonos_Marinas_Zimmer,Sonos_Wohnzimmer,Sonos_Arbeitszimmer,Sonos_G_stezimmer] 
    2016.04.02 13:22:42 1: main::AktivMon_Set: master Sonos_Marinas_Zimmer cmd: set Sonos_Marinas_Zimmer Speak 5 de |sounds/Gong| Achtung! Unbefugte Personen befinden sich im Haus. Einbruch! |sounds/Daueralarm| 

    Das sind die Befehle, wie sie in die interne Zeitsteuerung geschrieben werden.
    Danach werden sie entsprechnd der Zeitintervale an Sonos gesendet.

    1. Die Geräte werden eingeschaltet.
    2. Nach einer Minute werden alle Geräte gruppiert. (Befehl steht im log)
    3. Es wird ein Speak - Befehl an den Master gesendet.
    Der Text wird nur auf dem Sonos_G_stezimmer (und nicht auf allen Geräten) ausgegeben, die Abfrage der Gruppierung ergibt, dass nichts gruppiert wurde.

    Besonderheit: An Sonos_Wohnzimmer und Sonos_Marinas_Zimmer ist der externe Eingang über den TV aktiviert, Sonos_Arbeitszimmer ist ein Stereo-Paar.


    Ich hatte bei den Experimenten vor zwei Tagen vergessen, die Sonos-Prozesse zu beenden. Am nächsten Morgen stand fhem mit der Meldung im log, dass von Sonos ein thread mit der Nummer 19 versucht wurde zu starten. Leider hatte ich versehentlich das log gelöscht. Offensichtlich bringe ich irgendwie mit den Gruppierungsexperimenten einer der Sonos-Subprozesse aus dem Tritt.....

    LG

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 April 2016, 01:09:44
    Hi Elektrolurch,

    hmm... leider kann ich ausser einer (korrekt gelieferten und weitergereichten) Fehlerantwort vom Player (501er Fehler) nichts entdecken, was das Modul da falsch machen könnte...

    Hast du mal versucht, dieses Gruppieren Stück für Stück manuell aufzubauen? Also ausschließen, dass es ein Timing-Problem ist...
    Wenn das geht, dann beim "Set Groups"-Befehl erstmal einen Player dazunehmen, und Schritt für Schritt erweitern...

    Es kann schon was damit zu tun haben, dass du da eine TV-Quelle laufen hast (auf die auch automatisch umgeschaltet wird) die ja vielleicht von Sonos irgendwie Priorisiert wird...
    Aber das müssen wir leider erstmal eingrenzen.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 04 April 2016, 12:08:48
    Hallo Reinerlein,

    an ein timing-Problem hatte ich auch schon gedacht. Habe den Mechanismus für das Gruppieren nun abgändert:

    Ich triggere auf das Ereignis "appered" bei den Sonos-Playern. Den ersten, den ich nach dem Einschalten des Stroms finde, mache ich zum Master, alle anderen Player werden dann im "appeared" - Event mit
    set $master addMember $player
    hinzugefügt.

    Dabei konnte ich folgendes beobachten:
    Der zweite Player, der hinzugefügt werden sollte, wurde ignoriert.
    Der vierte Player ist ein zu einem Stereopaar gekoppelter Sonos Player1, damit scheint es überhaupt nicht zu gehen.
    Im log steht da z.B.
    2016.04.04 11:01:11 2: main::SonosCC_Player_not: Party füge Sonos_Marinas_Zimmer zu Sonos_Wohnzimmer hinzu
    2016.04.04 11:01:11 2: main::SonosCC_Group:  memplayer: Sonos_Marinas_Zimmer
    2016.04.04 11:01:11 2: main::SonosCC_Group: new member: set Sonos_Wohnzimmer AddMember  Sonos_Marinas_Zimmer
    # Marinas_Zimmer wurde erfolgreich hinzugefügt

    2016.04.04 11:01:14 2: main::SonosCC_Player_not: Party füge Sonos_G_stezimmer zu Sonos_Wohnzimmer hinzu
    2016.04.04 11:01:14 2: main::SonosCC_Group:  memplayer: Sonos_G_stezimmer
    2016.04.04 11:01:14 2: main::SonosCC_Group: new member: set Sonos_Wohnzimmer AddMember  Sonos_G_stezimmer
    # Der G_stezimmer ist nicht in Gruppe von Wohnzimmer

    Und nun das Stereo-Paar:
    2016.04.04 11:01:30 2: main::SonosCC_Player_not: Party füge Sonos_Arbeitszimmer zu Sonos_Wohnzimmer hinzu
    2016.04.04 11:01:30 2: main::SonosCC_Group:  memplayer: Sonos_Arbeitszimmer
    2016.04.04 11:01:30 2: main::SonosCC_Group: new member: set Sonos_Wohnzimmer AddMember  Sonos_Arbeitszimmer

    2016.04.04 11:32:57 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to 'Sonos_Arbeitszimmer_RS'. This should not happen!
    2016.04.04 11:37:17 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to 'Sonos_Arbeitszimmer_RS'. This should not happen!
    2016.04.04 11:39:10 1: SONOS0: The Method 'SONOS_getDeviceDefHash' cannot find the FHEM-Device according to 'Sonos_Arbeitszimmer_RS'. This should not happen!

    Ein list Sonos_.* ergibt jedoch:
    Sonos_Arbeitszimmer
    Sonos_Arbeitszimmer_RF
    Sonos_G_stezimmer
    Sonos_Marinas_Zimmer
    Sonos_Sauna
    Sonos_Wohnzimmer

    Sonos_Arbeitszimmer_RS gibt es also.


    Wenn ich seitens fhem mit dem Stereo-Paar rede, spreche ich eigentlich immer nur Sonos_Arbeitszimmer und nicht Sonos_Arbeitszimmer_RS an.

    Auch wenn ich mit

    set Sonos Groups [Sonos_Wohnzimmer,Sonos_Marinas_Zimmer,Sonos_G_stezimmer,Sonos_Arbeitszimmer]

    dann ist zwar nun das Gäöstezimmer mit in der Gruppe, Arbeitszimmer aber nicht.
    Habe alternativ statt Sonos_Arbeitszimmer mal Sonos_Arbeitszimmer_RS (oder auch beide) probiert -> geht auch nicht.

    set Sonos Groups [Sonos_Arbeitszimmer,Sonos_Wohnzimmer,Sonos_Marinas_Zimmer,Sonos_G_stezimmer]
    gruppiert gar nichts.

    Die Frage ist nun, lässt Sonos es überhaupt zu, ein Stereopärchen mit in eine Gruppe aufzunehmen und wie muss der korrekte Befehl lauten?

    P.S.: Habe mal mit dem Sonos-Controller die Gruppierung vom Stereopaar und einem anderen Sonos-Player durchgeführt und siehe da, fhem zeigt per get Sonos Groups folgendes an:

    [Sonos_Arbeitszimmer, Sonos_Arbeitszimmer_RS, Sonos_Wohnzimmer] bzw. wenn ich den Master anders herum definiere:
    [Sonos_Wohnzimmer, Sonos_Arbeitszimmer, Sonos_Arbeitszimmer_RS].
    Daraus folgt: Ein Stereo-Paar muss immer mit beiden Komponenten in eine Gruppe eingefügt werden, d.h. die Funktion
    set $master addMember $player
    geht schon mal nicht für ein Stereopaar.
    Ich habe dann mit dem Befehl
    set Sonos Groups [..]
    weiter herum experimentiert.
    Wenn ich zu der o.g. bestehenden Gruppe aus Arbeitszimmer / Wohnzimmer nun mit
    set Sonos Groups [Sonos_Arbeitszimmer, Sonos_Arbeitszimmer_RS, Sonos_Wohnzimmer, Sonos_G_stezimmer]
    den Player aus dem Gästezimmer hinzufügen will, dann zerfällt die Gruppe wieder in ihre Einzelnen Player ([][][][]).
    Das würde dann auch das o.g. Verhalten erklären.
    Also: Mit fhem kann ich derzeit wohl ein Stereopaar und einen Raum, aber nicht einen weiteren Raum gruppieren. Und es geht auch nur mit der set Sonos Groups - Funktion.
    Soweit mein bescheidener Erkenntnisstand :-)


    Gruß

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Dedi75 am 07 April 2016, 08:22:48
    Hallo,

    habe bei mir mal die Anrufsignalisierung, wie im Wiki beschrieben, vorgenommen.
    Allerdings funktioniert das VolumeRestore bei mir nur beim 1. Anruf. Wenn ich dann ein 2. Mal anrufe spielt er zwar weiter lässt die Lautstärke aber auf 5% nachdem das Telefonat beendet wurde.

    define fritzBox_anrufstartring_notify notify fritzBox:.*ring set Sonos_Wohnzimmer VolumeSave 5 \
    ;; set Sonos_Wohnzimmer PlayURITemp \\Server\Audio\RingRingRing.mp3 30
    define fritzBox_anrufstartcall_notify notify fritzBox:.*call set Sonos_Wohnzimmer VolumeSave +0
    define fritzBox_anrufende_notify notify fritzBox:.*disconnect set Sonos_Wohnzimmer VolumeRestore


    Jemand ne Idee woran das liegen könnte?
    Habe auch schon beim anrufende mal zusätzlich noch ein VolumeSave +0 angehängt in der Hoffnung, dass er nun wieder die aktuelle Lautstärke im Store hat, allerdings ohne Erfolg.

    Gruß
    Deti
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 April 2016, 08:57:29
    Hallo,

    @Elektrolurch: Ich muss das mal versuchen nachzustellen... da werde ich aber frühestens am Wochenende zu kommen. Also bitte etwas Geduld :)

    @Deti: jedes VolumeSave speichert die aktuelle Lautstärke ab (und überschreibt einen etwaig vorhanden Wert).
    Ich könnte mir vorstellen, dass das Problem darin besteht, dass es nur ein Notify für Ende gibt, aber zwei verschiedene Ereignisse damit beendet werden.
    Was passiert denn, wenn du einen Anruf startest, während Fhem noch mit dem Restaurieren der alten Lautstärke beschäftigt ist? Dann wird deine gepeicherte (hohe) Lautstärke mit der aktuellen (immer noch niedrigen) überschrieben...
    VolumeSave ist für solche Doppel-Events vermutlich nicht ganz das Richtige.

    Eine Lösung könnte vielleicht sein: Du merkst dir ständig mittels eines Notify und eines Dummy die gerade aktuelle Lautstärke. Das machst du solange, wie deine Telefonat-Notifies nicht aktiviert wurden (wenn also aktuell kein Telefonat läuft, weder raus noch rein).
    Dann hast du im Telefonat-Ende-Notify die Möglichkeit auf diesen Dummy-Wert zurückzugreifen.
    Auch dabei könnte es Timing Probleme geben, die kann man aber durch kleine Verzögerungen in den Griff bekommen (vielleicht eher ein verzögertes DoIf anstatt eines Notify für das Merken der aktuellen Lautstärke oder so...).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 08 April 2016, 16:17:14
    Ich versuche über die unten stehende Prozedur zu erreichen, dass ein Player, der mit dem gleichen Radiosender gestartet wird, wie eine bereits bestehende, laufende Gruppe, in diese Gruppe mit aufgenommen wird (um den störenden Echoeffekt zu vermoden).

    Das klappt im prinzip auch so, zumindest wenn ich Player einzeln starte.

    Gruppiere ich aber z.B. viele (alle) Player über die Sonos-App zu einem bestehenden Player hinzu, scheint sich diese Prozedur zu verselbständigen und immer wieder aufgerufen zu werden. Vermutlich überholt sich der Zustand PLAYING und die Gruppierung über die Sonos-App mit dem aktuellen Zustand den ich über FHEM abfrage (oder so etwa sin der Art ;-))

    Hier der Trigger:

    define xx.pruefe_sonos_gruppierung notify (SONOS_[a-zA-Z]+:transportState.*PLAYING) {\
    \
       Log 1,"SONOS Player aktiviert: ".$NAME." Status:".$EVENT;;\
       my $groupedWith=SONOS_GroupWithExistingPlayer($NAME);;\
       return($NAME." wurde mit ".$groupedWith." gruppiert");;\
    }


    und die Subroutine:

    sub SONOS_GroupWithExistingPlayer($) {
    ### Gruppiere neuen Player in bereits existierende gruppe, wenn gleicher Sender gespielt wird

        my $newPlayer = shift;
        my $groupedWith = "";

        if    ( ($newPlayer ne "SONOS_Wohnzimmer") && (ReadingsVal("SONOS_Wohnzimmer","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Wohnzimmer","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Wohnzimmer AddMember $newPlayer; sleep 5; get SONOS Groups"); $groupedWith="SONOS_Wohnzimmer";   }
        elsif ( ($newPlayer ne "SONOS_Michael") && (ReadingsVal("SONOS_Michael","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Michael","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Michael AddMember $newPlayer; sleep 5; get SONOS Groups"); $groupedWith="SONOS_Michael"; }
        elsif ( ($newPlayer ne "SONOS_Sabine") && (ReadingsVal("SONOS_Sabine","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Sabine","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Sabine AddMember $newPlayer; sleep 5; get SONOS Groups"); $groupedWith="SONOS_Sabine"; }
        elsif ( ($newPlayer ne "SONOS_Schlafzimmer") && (ReadingsVal("SONOS_Schlafzimmer","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Schlafzimmer","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Schlafzimmer AddMember $newPlayer; sleep 5; get SONOS Groups"); $groupedWith="SONOS_Schlafzimmer"; }
        elsif ( ($newPlayer ne "SONOS_Kueche") && (ReadingsVal("SONOS_Kueche","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Kueche","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Kueche AddMember $newPlayer; sleep 5; get SONOS Groups"); $groupedWith="SONOS_Kueche"; }
        elsif ( ($newPlayer ne "SONOS_Bad") && (ReadingsVal("SONOS_Bad","currentTrackURI","") eq ReadingsVal($newPlayer,"currentTrackURI","")) && (ReadingsVal("SONOS_Bad","transportState","") eq "PLAYING") )
              { fhem("set SONOS_Bad AddMember $newPlayer; sleep 5; get SONOS Groups"); $groupedWith="SONOS_Bad"; }
        else {$groupedWith="keinem Player"}
       
    return($groupedWith);



    Hat jemand einen Verbesserungsvorschlag oder vielleicht sogar schon eine fertige Prozedur, die genau dies tut? (m.E. müsste das SONOS selber schon von Haus aus so machen, aber die Funktion gibt es leider ja nicht).

    Danke!
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 09 April 2016, 13:12:26
    Hast Du meinen Post oben drüber gelesen?
    Ich bekomme z.B. Probleme beim Gruppieren, wenn sich ein Stereopaar in der Gruppe befindet.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 09 April 2016, 15:32:31
    Zitat von: Elektrolurch am 09 April 2016, 13:12:26
    Hast Du meinen Post oben drüber gelesen?
    Ich bekomme z.B. Probleme beim Gruppieren, wenn sich ein Stereopaar in der Gruppe befindet.

    Elektrolurch

    Ich habe keine Stereo-Paare.  Ich denke eher, die Routine und das Gruppieren, das die SONOS-App macht "überholen" sich irgendwie gegenseitig. Passiert scheinbar nur, wenn mehrere Player gleichzeitig anfangen zu spielen und damit parallel die Routine aufgerufen wird, die die Player in die richtige Gruppe schieben will. Gleichzeitig schiebt sie Sonos aber auch in eine Gruppe und so gibt es dann irgendwie ein Endlos-Aufruf. Oder so ähnlich ;-)
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 09 April 2016, 15:48:46
    "Oder so ähnlich" ist nicht hilfreich. Das Problem wirst nur Du lösen können, indem Du es gründlich untersucht. Sonos Verbose Level hochdrehen und in dein Script logging einbauen.
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 09 April 2016, 16:02:36
    Zitat von: dev0 am 09 April 2016, 15:48:46
    "Oder so ähnlich" ist nicht hilfreich. Das Problem wirst nur Du lösen können, indem Du es gründlich untersucht. Sonos Verbose Level hochdrehen und in dein Script logging einbauen.

    Werde ich dann auch machen. Ich hatte nur gehofft, jemand hat vielleicht schon die gleiche Funktion mal umgesetzt ...
    Titel: Antw:Sonos steuern
    Beitrag von: uniqueck am 17 April 2016, 19:44:11
    Cover wird bei mir nicht richtig angezeigt.

    Das Cover kommt von Amazon Music Bibliothek.

    http://192.168.178.61:1400/getaa?s=1&u=x-sonos-http%3aamz%3atr%3a3b8d75d8-ef86-4b39-8f37-26ccbf93f456.mp3%3fsid%3d26%26flags%3d8224%26sn%3d1 (http://192.168.178.61:1400/getaa?s=1&u=x-sonos-http%3aamz%3atr%3a3b8d75d8-ef86-4b39-8f37-26ccbf93f456.mp3%3fsid%3d26%26flags%3d8224%26sn%3d1)

    Im Browser, meldet die Console 404 Resource nicht vorhanden.

    Das Cover wird mir in der Sonos App aufm Handy allerdings angezeigt.

    Anbei auch ein list des entsprechenden Sonos devices.


    Internals:
       CFGFN
       DEF        RINCON_5CAAFD2E695E01400_MR
       NAME       Sonos_Schlafzimmer
       NR         12089
       NTFY_ORDER 50-Sonos_Schlafzimmer
       STATE      appeared
       TYPE       SONOSPLAYER
       UDN        RINCON_5CAAFD2E695E01400_MR
       Readings:
         2016-04-17 19:37:53   AlarmList       {'15' => {'Recurrence_Saturday' => 0,'ProgramURI' => 'x-rincon-cpcontainer:0004206camz%3aaal%3aSCHILLER%3aFUTURE','Duration' => '02:00:00','Recurrence_Once' => 1,'Enabled' => '0','Recurrence_Wednesday' => 0,'IncludeLinkedZones' => '0','Shuffle' => 1,'Recurrence_Tuesday' => 0,'Recurrence_Sunday' => 0,'Recurrence_Friday' => 0,'Recurrence_Thursday' => 0,'ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="0004206camz%3aaal%3aSCHILLER%3aFUTURE" parentID="000d2064browse%3aalbums" restricted="true"><dc:title>Future</dc:title><upnp:class>object.container.album.musicAlbum</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON6663_X_#Svc6663-0-Token</desc></item></DIDL-Lite>','StartTime' => '06:00:00','RoomUUID' => 'RINCON_5CAAFD2E695E01400','Volume' => '25','Recurrence_Monday' => 0,'Repeat' => 0},'13' => {'Recurrence_Saturday' => 0,'ProgramURI' => 'x-rincon-cpcontainer:0004206camz%3aaal%3aSCHILLER%3aFUTURE','Duration' => '02:00:00','Recurrence_Once' => 0,'Enabled' => '0','Recurrence_Wednesday' => 1,'IncludeLinkedZones' => '0','Shuffle' => 1,'Recurrence_Tuesday' => 1,'Recurrence_Sunday' => 0,'Recurrence_Friday' => 1,'Recurrence_Thursday' => 1,'ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="0004206camz%3aaal%3aSCHILLER%3aFUTURE" parentID="000d2064browse%3aalbums" restricted="true"><dc:title>Future</dc:title><upnp:class>object.container.album.musicAlbum</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON6663_X_#Svc6663-0-Token</desc></item></DIDL-Lite>','StartTime' => '07:45:00','RoomUUID' => 'RINCON_5CAAFD2E695E01400','Volume' => '25','Recurrence_Monday' => 0,'Repeat' => 0}}
         2016-04-17 19:37:53   AlarmListIDs    13,15
         2016-04-17 19:37:53   AlarmListVersion RINCON_5CAAFD2E5FF801400:19
         2016-04-17 19:37:50   AlarmRunning    0
         2016-04-17 19:37:50   AlarmRunningID
         2016-04-17 19:37:46   Balance         0
         2016-04-17 19:37:54   Bass            0
         2016-04-17 19:37:50   CrossfadeMode   0
         2016-04-17 19:37:53   DailyIndexRefreshTime
         2016-04-17 19:37:53   FavouritesVersion RINCON_5CAAFD2E5FF801400,3
         2016-04-17 19:37:53   GroupMute       0
         2016-04-17 19:37:53   GroupVolume     17
         2016-04-17 19:37:50   HeadphoneConnected 0
         2016-04-17 19:37:46   IsMaster        1
         2016-04-17 19:37:54   Loudness        1
         2016-04-17 19:37:53   MasterPlayer    Sonos_Schlafzimmer
         2016-04-17 19:37:50   Mute            0
         2016-04-17 19:37:54   OutputFixed     0
         2016-04-17 19:37:54   PlaylistsVersion RINCON_5CAAFD2E5FF801400,12
         2016-04-17 19:37:54   QueueHash       4d21c7be70b0c659b341c1999f04837a
         2016-04-17 19:37:54   QueueVersion    11
         2016-04-17 19:37:54   RadiosVersion   RINCON_5CAAFD2E5FF801400,3
         2016-04-17 19:37:50   Repeat          0
         2016-04-17 19:37:50   RepeatOne       0
         2016-04-17 19:37:50   Shuffle         0
         2016-04-17 19:37:46   SlavePlayer     []
         2016-04-17 19:37:50   SleepTimer      off
         2016-04-17 19:37:49   SleepTimerVersion
         2016-04-17 19:37:54   SubEnable       1
         2016-04-17 19:37:54   SubGain         0
         2016-04-17 19:37:54   SubPolarity     0
         2016-04-17 19:37:54   Treble          0
         2016-04-17 19:37:54   TruePlay        0
         2016-04-17 19:37:46   Volume          17
         2016-04-17 19:37:53   ZoneGroupID     RINCON_5CAAFD2E695E01400:__
         2016-04-17 19:37:50   currentAlbum    Cave Rave
         2016-04-17 19:37:50   currentAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_AlbumArt.jpg
         2016-04-17 19:37:50   currentAlbumArtURL http://192.168.178.64:1400/getaa?s=1&u=x-sonos-http%3aamz%3atr%3a9590dd12-ed47-4c3a-bd84-18484f4383fa.mp3%3fsid%3d26%26flags%3d8224%26sn%3d1
         2016-04-17 19:37:50   currentAlbumArtist Crystal Fighters
         2016-04-17 19:37:50   currentArtist   Crystal Fighters
         2016-04-17 19:37:46   currentNormalAudio 1
         2016-04-17 19:37:50   currentOriginalTrackNumber
         2016-04-17 19:37:50   currentSender
         2016-04-17 19:37:50   currentSenderCurrent
         2016-04-17 19:37:50   currentSenderInfo
         2016-04-17 19:37:46   currentStreamAudio
         2016-04-17 19:37:50   currentTitle    Wave
         2016-04-17 19:37:46   currentTrack    1
         2016-04-17 19:37:46   currentTrackDuration 0:03:29
         2016-04-17 19:37:46   currentTrackPosition 0:00:00
         2016-04-17 19:37:46   currentTrackProvider Amazon Music
         2016-04-17 19:37:50   currentTrackURI x-sonos-http:amz%3atr%3a9590dd12-ed47-4c3a-bd84-18484f4383fa.mp3?sid=26&amp;flags=8224&amp;sn=1
         2016-04-17 19:37:46   fieldType
         2016-04-17 19:37:50   infoSummarize1  (Crystal Fighters) 'Wave' vom Album 'Cave Rave'
         2016-04-17 19:37:50   infoSummarize2  STOPPED => (Crystal Fighters) 'Wave' vom Album 'Cave Rave'
         2016-04-17 19:37:50   infoSummarize3  Lautstärke: 17 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2016-04-17 19:37:50   infoSummarize4
         2016-04-17 19:37:46   location        http://192.168.178.64:1400/xml/device_description.xml
         2016-04-17 19:37:50   nextAlbum       Cave Rave
         2016-04-17 19:37:50   nextAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_NextAlbumArt.jpg
         2016-04-17 19:37:50   nextAlbumArtURL http://192.168.178.64:1400/getaa?s=1&u=x-sonos-http%3aamz%3atr%3a30871f3e-8d6d-437d-95f4-3c5760a2d947.mp3%3fsid%3d26%26flags%3d8224%26sn%3d1
         2016-04-17 19:37:50   nextAlbumArtist
         2016-04-17 19:37:50   nextArtist      Crystal Fighters
         2016-04-17 19:37:50   nextOriginalTrackNumber
         2016-04-17 19:37:50   nextTitle       LA Calling
         2016-04-17 19:37:50   nextTrackDuration 0:03:49
         2016-04-17 19:37:50   nextTrackProvider Amazon Music
         2016-04-17 19:37:50   nextTrackURI    x-sonos-http:amz%3atr%3a30871f3e-8d6d-437d-95f4-3c5760a2d947.mp3?sid=26&amp;flags=8224&amp;sn=1
         2016-04-17 19:37:46   numberOfTracks  10
         2016-04-17 19:37:46   playerType      S1
         2016-04-17 19:37:46   presence        appeared
         2016-04-17 19:37:53   roomIcon        masterbedroom
         2016-04-17 19:37:46   roomName        Schlafzimmer
         2016-04-17 19:37:46   roomNameAlias   Schlafzimmer
         2016-04-17 19:37:46   saveRoomName    Schlafzimmer
         2016-04-17 19:37:46   serialNum       5C-AA-FD-2E-69-5E:5
         2016-04-17 19:37:46   softwareRevision 6.2
         2016-04-17 19:37:50   state           appeared
         2016-04-17 19:37:46   transportState  STOPPED
    Attributes:
       alias      Schlafzimmer
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       group      Schlafzimmer
       icon       icoSONOSPLAYER_icon-S1.png
       minVolume  0
       model      Sonos_S1
       room       Sonos
       sortby     1
       stateVariable Presence
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }

    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 29 April 2016, 10:16:46
    Hallo Reinerlein,

    hat sich für das Problem mit dem Gruppieren von Playern über fhem, wenn einer der Player ein Stereo-Pärchen ist, schon etwas im "Erkenntnisstand" ergeben?
    (Zur Erinnerung: Ich kann beliebige Player hintereinander zu einer Gruppe hinzufügen, solange es sich nicht um ein Stereo-Pärchen handelt, dann ist die Gruppe "kaputt")

    Gruß

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: guhu am 29 April 2016, 17:52:20
    Hallo zusammen,

    ein tolles Modul. Läuft auch bei mir soweit alles. Allerdings bekomme ich recht viele Fehlermeldungen im Log-File, die ich mir nicht erklären kann.
    Über die Suchfunktion habe ich ein solches Verhalten nicht entdecken können. Hat jemand einen Tipp, woran das liegen könnte?

    Mit Dank im voraus ..


    Use of uninitialized value $location in concatenation (.) or string at /usr/local/FHEM/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 308, <$client> line 8.
    400-URL-Absolute-Error! Location: "", Content: "400 URL missing
    " at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 400 URL missing at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 3747 thread 1.


    Edit: habe 2 Gruppen, 1x Wohnzimmer, 1x "Mobil". Mobil hat nur eine Play5, die i.d.R. vom Netz ist. Vielleicht liegt's daran?
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 05 Mai 2016, 12:01:42
    Woran kann es liegen, wenn die Sonos-Geräte nicht mehr in der FHEM-Oberfläche angezeigt werden?

    Ich habe alle Lautsprecher dem Raum "Sonos" zugeordnet, da taucht aber scheinbar zufällig entweder nur Lautsprecher A auf oder Lautsprecher B-E. Nie alle zusammen. Bei Unsorted sind sie auch nicht. FHEM-Neustart hilft nicht. Ich kann sämtliche Lautsprecher ansteuern, sie sind als nicht wirklich weg  ???
    Titel: Antw:Sonos steuern
    Beitrag von: AmunRe am 05 Mai 2016, 13:52:06
    Zitat von: dantist am 05 Mai 2016, 12:01:42
    Woran kann es liegen, wenn die Sonos-Geräte nicht mehr in der FHEM-Oberfläche angezeigt werden?

    Ich habe alle Lautsprecher dem Raum "Sonos" zugeordnet, da taucht aber scheinbar zufällig entweder nur Lautsprecher A auf oder Lautsprecher B-E. Nie alle zusammen. Bei Unsorted sind sie auch nicht. FHEM-Neustart hilft nicht. Ich kann sämtliche Lautsprecher ansteuern, sie sind als nicht wirklich weg  ???

    Was sagt denn das Gerät SONOS?

    Was sagt der Log? Irgendwelche Fehler?



    Ich hab aber auch eine Anfrage:
    In einem beispiel war die Übernahme eines Tracks in eine andere Playlist möglich, ich würde gern, wenn was im Internetradio läuft, das einer Spotifyplaylist hinzufügen, gibt es da eine Möglichkeit?
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 06 Mai 2016, 08:47:36
    Hallo Reinerlein

    Besteht die Möglichkeut einen Wert für startFavourite mit anfürungszeiehcen abzusetzen.
    Wenn ich in meiner Favouriten-Liste den Inhalt  "94.1FM GOLD COAST | (Unterhaltungsmusik)" kann ich den an Sonos Player nur wie folgt übergeben:
    set Sonos_Wohnzimmer startFavourite 94.1FM%20GOLD%20COAST%20%7C%20%28Unterhaltungsmusik


    Wenn ich den z. Bsp.in Anführungszeichen übergeben könnte wäre es besser, da ich eine DropDown liste habe und die Werte so besser lesbar wären.
    Titel: Antw:Sonos steuern
    Beitrag von: AmunRe am 06 Mai 2016, 17:37:17
    Hallo ich habe noch eine Anfrage

    Und zwar wäre es für das Tablet UI Modul schön, wenn ich die Favouriten direkt aus einem Reading auslesen könnte.

    Ich hab es jetzt versucht mit einem notify ein Reading zu erstellen, leider liefert der "get Favourites" einen leeren Wert zurück, weil der Wert im "Last Action" Reading landet. Somit kann ich das Reading nicht selbst setzen.

    hat sich erledigt, wer das WIKI richtig liest, findet auch eine Lösung.
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 06 Mai 2016, 20:34:33
    Leider hab ich ein kleines Problemchen mit SONOS.

    Bisher lief das Modul auf einem RasPi per F2F an den Cubie angebunden.
    Heute habe ich bemerkt das sich die Lautsprecher über FHEM und F2F nicht mehr ansprechen lassen - nicht weiter tragisch wollte ja eh das Modul auf den Cubie umziehen.
    Wiki und commandref geöffnet, unter Softwarevoraussetzungen die Perl-Module nachinstalliert und los gings:

    define Sonos SONOS wurde quittiert mit einem
    Zitat2016.05.06 19:26:36 1: define Sonos SONOS: Usage: define <name> SONOS [[[[upnplistener] interval] waittime] delaytime]
    Ok, auch nicht weiter schlimm dann eben ein
    define Sonos SONOS localhost:4711 45
    eingeworfen.
    Das Device SONOS wurde dann auch angelegt und die Player gesucht aber ... alle disappeard.
    Und das Logfile sieht so aus (kleiner Auszug aus dem Logfile):
    Zitat2016.05.06 20:28:13 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'RINCON_B8E937B3EB6A01400_MR'. This should not happen!
    2016.05.06 20:28:13 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChangedNoTrigger: RINCON_B8E937B3EB6A01400_MR:OutputFixed:0
    2016.05.06 20:28:13 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'RINCON_B8E937B3EB6A01400_MR'. This should not happen!
    2016.05.06 20:28:13 0: SONOS0: Fehlerhafter Aufruf von GetReadingsToCurrentHash: RINCON_B8E937B3EB6A01400_MR:1
    2016.05.06 20:28:13 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'RINCON_B8E937B3EB6A01400_MR'. This should not happen!
    2016.05.06 20:28:13 0: SONOS0: Fehlerhafter Aufruf von GetReadingsToCurrentHash: RINCON_B8E937B3EB6A01400_MR:0
    2016.05.06 20:28:13 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'RINCON_B8E937B3EB6A01400_MR'. This should not happen!
    2016.05.06 20:28:13 0: SONOS0: Fehlerhafter Aufruf von ReadingsSingleUpdateIfChanged: RINCON_B8E937B3EB6A01400_MR:SleepTimerVersion:
    2016.05.06 20:28:13 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'RINCON_B8E937B3EB6A01400_MR'. This should not happen!
    2016.05.06 20:28:13 0: SONOS0: Fehlerhafter Aufruf von ProcessCover: RINCON_B8E937B3EB6A01400_MR:0:/getaa?s=1&u=x-sonosapi-stream%3as79627%3fsid%3d254%26flags%3d32%26sn%3d0:http://192.168.2.48:1400
    2016.05.06 20:28:13 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'RINCON_B8E937B3EB6A01400_MR'. This should not happen!
    2016.05.06 20:28:13 0: SONOS0: Fehlerhafter Aufruf von ProcessCover: RINCON_B8E937B3EB6A01400_MR:1::http://192.168.2.48:1400
    2016.05.06 20:28:13 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'RINCON_B8E937B3EB6A01400_MR'. This should not happen!
    2016.05.06 20:28:13 0: SONOS0: Fehlerhafter Aufruf von CurrentBulkUpdate: RINCON_B8E937B3EB6A01400_MR

    Ich hab die Lautsprecher mit der Sonos-Software nur benannt aber sonst nichts damit gemacht (ausser ein- und ausgeschaltet was auch klappt, also über die Sonos-Software - in FHEM sind sie ja noch immer disappeard).
    FHEM ist auf dem aktuellen Stand da ich um 20 Uhr ein update eingeworfen und danach neu gestartet habe (nur die commandref hab ich per exclude vom update ausgeschlossen).

    Vermutlich würde mir ein kleiner Schubs in die richtige Richtung schon reichen  8)

    Edith: Einzig die Bridge ist appeared, grad gesehen - alle SonosPlayer sind vom Type dummy  :o
    ZitatInternals:
       NAME       Sonos_Buero
       NR         983
       STATE      Pause
       TYPE       dummy
       Readings:
         2016-04-15 19:42:21   state           Pause
    Attributes:
       alias      Büro
       group      Buero
       icon       icoSONOSPLAYER_icon-S1.png
       room       Sonos
       sortby     1
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Buero", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Buero", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Buero", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Buero", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }
       webCmd     Lauter:Play:Pause:Leiser

    Edith1: SONOS auf dem RasPi ist disabled und die Geräte auch alle disappeared.
    Edith2: Ok, wenn ich SONOS disable, den Player (Type=dummy) lösche und einen SONOSPLAYER mit der UDN erstelle kann ich den Player auch per FHEM bedienen.
    Ich mach mal so weiter würde aber gerne sehen wo mein Fehler ist/war/liegt  :-[
    Edith3: So, nu hab ichs dann aber  ::) global verbose steht auf 1 aber Sonos schreibt immer noch mit 3 ins Logfile
    Zitat2016.05.06 21:14:13 3: SONOS0: Connection accepted from localhost:34423
    Ah, ok. Grad nochmal im Wiki gelesen das SONOS selbst auf verbose < 3 gesetzt werden soll - wird global nicht ausgewertet?
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 06 Mai 2016, 21:16:10
    Waren die dummy devices vielleicht schon angelegt wg. F2F?
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 06 Mai 2016, 21:38:10
    Zitat von: dev0 am 06 Mai 2016, 21:16:10
    Waren die dummy devices vielleicht schon angelegt wg. F2F?
    Shame on me  :-[ :-[ :-[

    Grad in einer alten fhem.cfg geschaut und Tatsache - ich hatte doch glatt die Dummy-Geräte zur Steuerung über F2F gleich benannt wie Sonos es macht.
    Über F2F war das ja kein Problem aber nachdem ich Sonos auf dem Cubie definiert hatte hat es doch glatt die Dummy-Geräte eingebunden.

    Also mal wieder viel Lärm um nichts von mir.
    Danke dev0 für den Tritt in mein Hinterteil  ::)
    Titel: Antw:Sonos steuern
    Beitrag von: Devender am 16 Mai 2016, 13:37:20
    Hallo zusammen,

    ich bräuchte mal Hilfe mit meinem Sonos Play3...
    Vorab - nach einem rereadcfg verändert sich nichts. Erst ein restart von FHEM löst die unten beschrieben Probleme.
    Mein Sonos wird bei nicht Benutzung auch von FHEM per Funksteckdose ausgeschaltet und durch z.b Presence wieder angeschaltet. Je nach Zeit dazwischen geht es dann noch oder nicht.
    Status des Player ist aber meistens "opend" und appeared!.
    Auch habe ich hier gelesen, dass dies ein Problem sein kann. Allerdings müssten das ja viele andere Nutzer auch haben  :( 

    Grundsätzlich funktioniert es, bis auf die Tatsache, dass er aus unerfindlichen Gründen nicht mehr gesteuert werden kann (FHEM Weboberfläche). Sonos App ist kein Problem.
    Dazu gehört z.b, das der Befehl Pause oder Play zwar im Log korrekt erkannt wird der Player aber nicht darauf reagiert.
    Der Play ist in den meisten Fällen "open" und apperaed.

    Auch mit dem obigen korrekten Status lässt sich der Speak Befehl absetzen (File wird auch generiert) im Log als abgespielt beschrieben aber es passiert nichts.
    Hier mal mein Auszug aus dem Log:

    2016.05.16 13:21:05 4: SONOS11: SONOS_Client_Data_Retreive(RINCON_000E587C47EE01400_MR, reading, location, ) -> http://192.168.178.21:1400/xml/device_description.xml
    2016.05.16 13:21:05 5: SONOS11: Location: http://192.168.178.21:1400/xml/device_description.xml
    2016.05.16 13:21:05 5: SONOS11: PingType: icmp
    2016.05.16 13:21:05 4: SONOS11: 192.168.178.21 is alive
    2016.05.16 13:21:14 5: SW: 446f576f726b3a52494e434f4e5f30303045353837433437454530313430305f4d523a737065616b303a3335c382c2a340c382c2a37e6465c382c2a340c382c2a37e57696c6c6b6f6d6d656e207a752048617573650d0a
    2016.05.16 13:21:14 5: SONOS0: Received: 'DoWork:RINCON_000E587C47EE01400_MR:speak0:35£@£~de£@£~Willkommen zu Hause'
    2016.05.16 13:21:34 3: SONOS0: Connection accepted from localhost:57544
    2016.05.16 13:21:34 5: SONOS0: Received: 'hello'
    2016.05.16 13:21:34 5: SONOS0: Received: 'goaway'
    2016.05.16 13:21:34 4: SONOS0: Got correct Answer from Subprocess...
    2016.05.16 13:21:35 4: SONOS11: IsAlive-Event UDN=RINCON_000E587C47EE01400_MR
    2016.05.16 13:21:35 4: SONOS11: SONOS_Client_Data_Retreive(RINCON_000E587C47EE01400_MR, reading, location, ) -> http://192.168.178.21:1400/xml/device_description.xml
    2016.05.16 13:21:35 5: SONOS11: Location: http://192.168.178.21:1400/xml/device_description.xml
    2016.05.16 13:21:35 5: SONOS11: PingType: icmp
    2016.05.16 13:21:35 4: SONOS11: 192.168.178.21 is alive
    2016.05.16 13:21:52 5: SW: 446f576f726b3a52494e434f4e5f30303045353837433437454530313430305f4d523a737065616b303a3335c382c2a340c382c2a37e6465c382c2a340c382c2a37e57696c6c6b6f6d6d656e207a0d0a
    2016.05.16 13:21:52 5: SONOS0: Received: 'DoWork:RINCON_000E587C47EE01400_MR:speak0:35£@£~de£@£~Willkommen z'
    2016.05.16 13:22:04 3: SONOS0: Connection accepted from localhost:57550
    2016.05.16 13:22:04 5: SONOS0: Received: 'hello'
    2016.05.16 13:22:04 4: SONOS0: Got correct Answer from Subprocess...
    2016.05.16 13:22:04 5: SONOS0: Received: 'goaway'
    2016.05.16 13:22:05 4: SONOS11: IsAlive-Event UDN=RINCON_000E587C47EE01400_MR
    2016.05.16 13:22:05 4: SONOS11: SONOS_Client_Data_Retreive(RINCON_000E587C47EE01400_MR, reading, location, ) -> http://192.168.178.21:1400/xml/device_description.xml
    2016.05.16 13:22:05 5: SONOS11: Location: http://192.168.178.21:1400/xml/device_description.xml
    2016.05.16 13:22:05 5: SONOS11: PingType: icmp
    2016.05.16 13:22:05 4: SONOS11: 192.168.178.21 is alive
    2016.05.16 13:22:08 5: SONOS0: FhemWebCallback: /sonos/cover/empty.jpg
    2016.05.16 13:22:08 5: SONOS0: Cover: /empty.jpg
    2016.05.16 13:22:10 5: SW: 446f576f726b3a52494e434f4e5f30303045353837433437454530313430305f4d523a70617573653a0d0a
    2016.05.16 13:22:10 5: SONOS0: Received: 'DoWork:RINCON_000E587C47EE01400_MR:pause:'
    2016.05.16 13:22:13 5: SW: 446f576f726b3a52494e434f4e5f30303045353837433437454530313430305f4d523a70617573653a0d0a
    2016.05.16 13:22:13 5: SONOS0: Received: 'DoWork:RINCON_000E587C47EE01400_MR:pause:


    Ich habe bereits diverse Tipps befolgt und auch den Pingtype auf icmp (nebst root für FHEM) umgestellt.
    Leider habe ich bisher keinerlei Verbessung bekommen.

    Anders Phänomen ist auch der Hinweis nach dem Absetzen des Speak Befehl die Meldung " another Playing is in work...."


    2016.05.16 13:17:29 5: SONOS0: Received: 'DoWork:RINCON_000E587C47EE01400_MR:speak0:35£@£~de£@£~Willkommen zu Hause'
    2016.05.16 13:17:30 4: SONOS10: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileHashCache, 0) -> DEFAULT
    2016.05.16 13:17:30 4: SONOS10: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakFileTimestamp, 0) -> 1
    2016.05.16 13:17:30 4: SONOS10: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakDir, .) -> /home/SonosSpeak
    2016.05.16 13:17:30 4: SONOS10: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakURL, ) -> \\192.168.178.28\SonosSpeak
    2016.05.16 13:17:30 4: SONOS10: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakMP3FileDir, ) -> /home/SonosSpeak
    2016.05.16 13:17:30 5: SONOS10: Chunks: [' Willkommen zu Hause lieber Dirk']
    2016.05.16 13:17:30 4: SONOS10: SONOS_Client_Data_Retreive(SONOS, attr, SpeakGoogleURL, http://translate.google.com/translate_tts?tl=%1$s&client=tw-ob&q=%2$s) -> DEFAULT
    2016.05.16 13:17:30 3: SONOS10: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=%20Willkommen%20zu%20Hause" to "/home/SonosSpeak/RINCON_000E587C47EE01400_MR_Speak_20160516-131730.mp31"
    2016.05.16 13:17:30 3: SONOS10: Combine loaded chunks into "/home/SonosSpeak/RINCON_000E587C47EE01400_MR_Speak_20160516-131730.mp3"
    2016.05.16 13:17:30 4: SONOS10: SONOS_Client_Data_Retreive(SONOS, attr, targetSpeakMP3FileConverter, ) -> DEFAULT
    2016.05.16 13:17:30 4: SONOS10: SONOS_Client_Data_Retreive(SONOS, attr, SpeakCover, /opt/fhem/www/images/default/fhemicon.png) -> DEFAULT
    2016.05.16 13:17:30 4: SONOS10: SONOS_Client_Data_Retreive(SONOS, reading, UserID_Spotify, -) -> DEFAULT
    2016.05.16 13:17:30 4: SONOS10: SONOS_Client_Data_Retreive(SONOS, reading, UserID_Napster, -) -> DEFAULT
    2016.05.16 13:17:30 3: SONOS10: Temporary playing of "\\192.168.178.28\SonosSpeak/RINCON_000E587C47EE01400_MR_Speak_20160516-131730.mp3" must wait, because another playing is in work...
    2016.05.16 13:18:04 3: SONOS0: Connection accepted from localhost:57508
    2016.05.16 13:18:04 5: SONOS0: Received: 'hello'
    2016.05.16 13:18:04 5: SONOS0: Received: 'goaway'


    Mach ich noch irgendwas falsch?
    Hab ich etwas falsch konfiguriert?

    Gerade heute habe ich den Sonso Player von der noch 4er Version auf die 6.2 geupdated. Da sich hier aber auch nichts verändert hat würde ich wohl eher wieder downgraden wollen.

    Grüße,
    Dirk
    Titel: Antw:Sonos steuern
    Beitrag von: Otto am 16 Mai 2016, 14:30:02
    Hi,

    ist es eigentlich möglich, in einer Musikquelle (zugefügt über Dienste) z.B. Deezer eine Auswahl zu treffen, so wie in der Sonos Software?

    Ich habe also keine Sonos Playlist, sondern wähle die Playlist des Dienstes.
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 18 Mai 2016, 16:00:00
    Hallo Reiner

    Besteht die Möglichkeut einen Wert für startFavourite mit anfürungszeiechen abzusetzen.
    Wenn ich in meiner Favouriten-Liste den Inhalt  "94.1FM GOLD COAST | (Unterhaltungsmusik)" kann ich den an Sonos Player nur wie folgt übergeben:
    set Sonos_Wohnzimmer startFavourite 94.1FM%20GOLD%20COAST%20%7C%20%28Unterhaltungsmusik


    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 18 Mai 2016, 16:13:16
    nimm die regex variante. z.b. /GOLD.COAST/ sollte schon reichen.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 24 Mai 2016, 09:35:40
    verwendet jemand sonos und hat ein problem mit dem 65000 titel limit? oder verwendet jemand sonos und plex?

    wenn ja ist das hier vielleicht interessant: https://forum.fhem.de/index.php/topic,43052.msg453874.html#msg453874 (https://forum.fhem.de/index.php/topic,43052.msg453874.html#msg453874).

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: FHEm2005 am 26 Mai 2016, 10:37:41
    Hallo Andre
    ich hatte mal mit der Service-Hotline gesprochen und gefragt, warum das Limit begrenzt sei. Man antwortete mir, dass im Umfeld mannigfaltiger Audiodienste, das Vorhalten von großen Musikdatenbanken nur bei einem zu geringen Prozentsatz der User zu finden sei. Ich selber merke diesen Wandel auch in meinem Musik-Hör-Verhalten.  Vieleicht hat es auch damit zu tun, dass ich nicht genau weiß, was in der Sonos-DB drin ist oder nicht. Umsomehr wäre (für mich wenigstens) eine Lösung sinnvoll.

    Flex habe ich zwar schon gehört aber noch nicht benutzt. Ich werde mich mal schlau machen. Im ersten Blick habe ich einen umfangreichen Download für Symology-Server gesehen, bei dem auch für meine DS409+ (Freescale PowerPC) was dabei sein könnte.

    BTW: Mich frist bei Sonos die umständliche Bedienung total an. Ich liebe meine Squeezeboxen mit einer kleinen RC. Bei mir haben die SONOS-Boxen so viel Ressourcen gefressen, dass ich sie letztendlich auf einen 2. Raspi auslagern musste.   Das am Rande.

    Gruß Eberhard

    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 26 Mai 2016, 10:47:30
    die erste version des plex moduls mit sonos/pms integration ist inzwischen eingecheckt. eine beschreibung findet sich hier: https://forum.fhem.de/index.php/topic,43052.msg454474.html#msg454474 (https://forum.fhem.de/index.php/topic,43052.msg454474.html#msg454474).

    das schöne an der kombination ist das es zum einen das sonos modul gibt um die player komplett zu steuern und das plex modul mit dem man sich in der plex mediathek austoben kann. es gibt also sehr viel potential für automatisierung.

    den plex server und diverse clients gibt es als download für alle möglichen platformen. so lange es nur um musik geht ist die server platform fast egal. falls auch video mit rein soll kommt es auf den client an wie leistungsfähig der plex server sein muss da eventuell transkodiert werden muss.

    aber wir kapern glaube ich gerade den sonos thread :).

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: FHEm2005 am 26 Mai 2016, 12:22:31
    Für Alle, die eine DS409+ haben und mit dem gleichen Gedanken spiel(t)en:

    Plex-Server auf DS409+ geht nicht. Es kommt eine Meldung DSM 5.x oder höher erforderlich. Die DS409+ kann nur bis 4.2  . Schade, das war's.

    Gruß Eberhard
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 26 Mai 2016, 12:35:09
    schade.

    eventuell mit einer älteren plex version. irgendwo gibt es ein archiv.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: FHEm2005 am 26 Mai 2016, 13:07:01
    Habe das Archiv gefunden.  Die älteste Version ist 0.9.8.18.290 und meckert schon. Ich versuch's mal mit nem Raspi2.
    Gruß Eberhard
    Titel: Antw:Sonos steuern
    Beitrag von: v.i.p.e.r am 27 Mai 2016, 19:01:02
    Hi,

    wie kann ich deine Songs Umgebung am saubersten komplett aus FHEM löschen?

    Ich dachte einfach das Device löschen, aber nach dem erneuten hinzufügen hab ich jetzt SONOS0 und SONOS1 im log ..
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 27 Mai 2016, 19:22:15
    delete <devspec>
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 03 Juni 2016, 20:35:54
    Hallo

    Bei mir steht das ständig im log
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    2016.06.03 18:50:15 1: checkFritzMACpresent (FritzBox_7490): mac_xxxxxxxxx gefunden, Gerät heißt >inesa (WLAN, 72 / 49 Mbit/s, 44)<.
    2016.06.03 18:50:15 3: SONOS0: Connection accepted from localhost:44642
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    2016.06.03 18:50:45 3: SONOS0: Connection accepted from localhost:44654
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    2016.06.03 18:51:15 3: SONOS0: Connection accepted from localhost:44660
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    2016.06.03 18:51:45 1: checkFritzMACpresent (FritzBox_7490): mac_xxxxxxxxxx gefunden, Gerät heißt >inesa (WLAN, 72 / 51 Mbit/s, 44)<.
    2016.06.03 18:51:45 3: SONOS0: Connection accepted from localhost:44686
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    2016.06.03 18:52:01 2: ROOMMATE set rr_HandyAndre absent
    2016.06.03 18:52:03 2: ROOMMATE set rr_HandyAndre location parken
    2016.06.03 18:52:04 3: msg rr_HandyAndre: ID=1464972724.01364.1 TYPE=push ROUTE=Pushover1 STATUS=OK PRIORITY=0 TITLE='Fw: Parkplatz für parken' MSG='Das Auto wurde hier geparkt'
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    2016.06.03 18:52:15 3: SONOS0: Connection accepted from localhost:44698
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    2016.06.03 18:52:45 3: SONOS0: Connection accepted from localhost:44706
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    2016.06.03 18:53:15 1: checkFritzMACpresent (FritzBox_7490): mac_xxxxxxxxxxxxxx  gefunden, Gerät heißt >inesa (WLAN, 69 / 56 Mbit/s, 42)<.
    2016.06.03 18:53:15 3: SONOS0: Connection accepted from localhost:44714
    Loading device description failed with error: 500 Can't connect to 192.168.1.1:5000 at ./FHEM/00_SONOS.pm line 3747 thread 1.

    Was ist das für eine ip die da nicht connect werden kann ?
    Mein Netz ist 192.168.178
    Andre
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 03 Juni 2016, 21:06:27
    Vermutlich dein Router, exclude mal die "normale" ip des routers.
    Titel: Antw:Sonos steuern
    Beitrag von: JoWiemann am 12 Juni 2016, 12:08:48
    Hallo,

    ich habe vor zwei Tagen eine Sonos Play:1 in Fhem bekannt gemacht. Seither habe inflationär folgenden Log-Eintrag:

    Loading device description failed with error: 500 read timeout at /usr/share/fhem/FHEM/00_SONOS.pm line 3747 thread 1

    Hier mit LogLevel 4

    2016.06.12 12:10:13 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, presence, disappeared) -> appeared
    2016.06.12 12:10:13 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2016.06.12 12:10:13 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, ZoneGroupName, ) -> DEFAULT
    2016.06.12 12:10:13 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, roomName, ) -> Wohnzimmer
    2016.06.12 12:10:13 4: SONOS1: Retrieved TopoType:
    2016.06.12 12:10:13 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, def, NAME, RINCON_5CAAFD4E852601400_MR) -> Sonos_Wohnzimmer
    2016.06.12 12:10:13 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, fieldType, ) ->
    2016.06.12 12:10:13 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, ZoneGroupID, ) -> RINCON_5CAAFD4E852601400:__
    2016.06.12 12:10:13 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, ZonePlayerUUIDsInGroup, ) -> DEFAULT
    2016.06.12 12:10:13 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, TransportState, -) -> PLAYING
    2016.06.12 12:10:13 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, def, NAME, RINCON_5CAAFD4E852601400_MR) -> Sonos_Wohnzimmer
    2016.06.12 12:10:13 4: SONOS1: ZoneGroupTopology-Event: All correct with this service-call till now. UDN='uuid:RINCON_5CAAFD4E852601400_MR'
    2016.06.12 12:10:13 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2016.06.12 12:10:13 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, attr, disable, 0) -> DEFAULT
    2016.06.12 12:10:13 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, def, NAME, RINCON_5CAAFD4E852601400_MR) -> Sonos_Wohnzimmer
    Loading device description failed with error: 500 read timeout at /usr/share/fhem/FHEM/00_SONOS.pm line 3747 thread 1
    2016.06.12 12:10:04 4: SONOS2: 192.168.0.71 is alive
    2016.06.12 12:10:04 4: SONOS2: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, location, ) -> http://192.168.0.71:1400/xml/device_description.xml
    2016.06.12 12:10:04 4: SONOS2: IsAlive-Event UDN=RINCON_5CAAFD4E852601400_MR
    2016.06.12 12:09:55 4: SONOS0: Got correct Answer from Subprocess...
    2016.06.12 12:09:55 3: SONOS0: Connection accepted from localhost:54402
    2016.06.12 12:09:53 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, presence, disappeared) -> appeared
    2016.06.12 12:09:53 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2016.06.12 12:09:53 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, ZoneGroupName, ) -> DEFAULT
    2016.06.12 12:09:52 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, roomName, ) -> Wohnzimmer
    2016.06.12 12:09:52 4: SONOS1: Retrieved TopoType:
    2016.06.12 12:09:52 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, def, NAME, RINCON_5CAAFD4E852601400_MR) -> Sonos_Wohnzimmer
    2016.06.12 12:09:52 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, fieldType, ) ->
    2016.06.12 12:09:52 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, ZoneGroupID, ) -> RINCON_5CAAFD4E852601400:__
    2016.06.12 12:09:52 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, ZonePlayerUUIDsInGroup, ) -> DEFAULT
    2016.06.12 12:09:52 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, reading, TransportState, -) -> PLAYING
    2016.06.12 12:09:52 4: SONOS0: DoWorkAnswer arrived for Sonos_Wohnzimmer->LastActionResult: 'Play: Success!'
    2016.06.12 12:09:52 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, def, NAME, RINCON_5CAAFD4E852601400_MR) -> Sonos_Wohnzimmer
    2016.06.12 12:09:52 4: SONOS1: ZoneGroupTopology-Event: All correct with this service-call till now. UDN='uuid:RINCON_5CAAFD4E852601400_MR'
    2016.06.12 12:09:52 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnzimmer".
    2016.06.12 12:09:52 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, attr, disable, 0) -> DEFAULT
    2016.06.12 12:09:52 4: SONOS1: SONOS_Client_Data_Retreive(RINCON_5CAAFD4E852601400_MR, def, NAME, RINCON_5CAAFD4E852601400_MR) -> Sonos_Wohnzimmer
    Loading device description failed with error: 500 read timeout at /usr/share/fhem/FHEM/00_SONOS.pm line 3747 thread 1


    Irgendeine Idee?

    Grüße Jörg
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 13 Juni 2016, 21:06:57
    So, ich mal wieder  :-[

    Ich hab nach Wiki: http://www.fhemwiki.de/wiki/SONOS#Einrichtung_von_Samba_f.C3.BCr_Sprachausgabem.C3.B6glichkeit (http://www.fhemwiki.de/wiki/SONOS#Einrichtung_von_Samba_f.C3.BCr_Sprachausgabem.C3.B6glichkeit)
    eine Samba-Freigabe eingerichtet.
    Auf diese kann ich auch wunderbar über den Windoof-Explorer zugreifen.
    Aber ....
    das will ich ja eigentlich nicht.
    Ich will ja nur den Speak-Befehel verwenden und nun scheitere ich an den beiden Attributen
    targetSpeakDir und
    targetSpeakURL

    Ich hab targetSpeakDir mit
    /mnt/SonosSpeak
    versucht als auch mit
    /SonosSpeak
    Ich hab auch targetSpeakURL mit
    \\192.168.2.29\mnt\SonosSpeak
    versucht als auch mit
    \mnt\SonosSpeak
    als auch mit
    /mnt/SonosSpeak
    sowie
    /SonosSpeak
    aber ich bekomm keine Sprachnachricht hin.

    Der Player ist aus - ich werf ein Speak
    20 de Hallo
    als set-Befehl am Sonosplayer Sonos_Hobbyraum ein (über das FHEM-Frontend) und der Player geht auf Play und spielt den zuletzt eingestellten Sender ab aber kein Hallo.

    Für einen passenden Tritt wär ich mal wieder dankbar.
    Titel: Antw:Sonos steuern
    Beitrag von: krikan am 13 Juni 2016, 21:23:04
    Probiere es mal mit folgenden Attributen (RASPBERRYPI natürlich entsprechend ersetzen):

    targetSpeakDir /mnt/SonosSpeak
    targetSpeakURL \\RASPBERRYPI\SonosSpeak


    Bei mir funktioniert es. Die Rechte für SonosSpeak müssen aber auch passen.

    Gruß, Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Devender am 13 Juni 2016, 21:41:58
    Also es geht defintiv mit:

    Als Beispiel natürlich mit meinen Verzeichnisnamen:

    Einstellungen unter dem Sonos im FHEM:
    targetSpeakDir = /home/SonosSpeak
    targetSpeakMP3FileDir = /home/SonosSpeak
    targetSpeakURL = \\192.168.11.11\SonosSpeak


    Freigaben im samba: smb.conf
    [SonosSpeak]
    read only = false
    path = /home/SonosSpeak
    guest ok = yes
    create mask = 0777
    directory mask = 0777


    Berechtigungen des Verzeichnisses auf dem Pi:
    drwxrwxrwx  2 pi   pi   12288 Jun 13 19:43 SonosSpeak

    Du schreibst, der Player spielt das "HAllo" nicht ab, richtig? Wird er denn für den Moment gemutet?
    Also sobald du den Speakbefehl absendest sollte der aktuelle Playvorgang unterbrochen werden und dein Speak wird ausgegeben.

    Folgendes Problem habe ich allerdings weiterhin (bisher keine Lösung gefunden):

    Die Interaktion mit dem Player funktioniert NUR nach einem Restart von FHEM und beim ersten Einschalten des Players. Ab da kann ich Ihn Steuern und per Speak quasseln lassen.
    Sobald ich den Player ausschalte - etwas warte (in meinem Fall , Abends durch Presence wieder Ein) ist er zwar vorhanden und kann per Sonos App bedient werden. Eine Interaktion ist aber erst wieder nach einem Restart von FHEM möglich.

    Kurz gesagt: Klappt es bei dir, wenn du das FHEM per Restart startest und dann den Player per Steckdose z.b hin zu schaltest?


    Grüße,
    Dirk
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 13 Juni 2016, 21:49:13
    Danke Christian für die Rückmeldung,

    ich hab nun als Attribute im SONOS_Device
    targetSpeakDir /mnt/SonosSpeak
    targetSpeakURL \\192.168.2.29\SonosSpeak

    gesetzt.
    192.168.2.29 ist die IP des Cubie und auf dem läuft auch SONOS resp. FHEM.

    Dann im Device Sonos_Hobbyraum erst ein Pause eingeworfen da ich dort FFH Top 40 höre.
    Der Sonos:3 was dann auch aus.
    Dann in FHEMWEB im Device Sonos_Hobbyraum unter set das Speak ausgewählt und
    17 de Hallo
    eingetragen.
    Nun spielt der eingestellte Sender mit Volume 17 weiter aber es war für mich kein Hallo zu hören  :-\

    Die Rechte für den Ordner SonosSpeak unter /mnt stehen auf
    Zitatdrwxrwxrwx 2 root root 4096 Jun 13 12:13 SonosSpeak

    Edith: Die smb.conf habe ich lt. Wiki angepasst / erweitert.
    Und den Samba habe ich auch neu gestartet so wie im Wiki angegeben.
    Titel: Antw:Sonos steuern
    Beitrag von: krikan am 13 Juni 2016, 22:16:19
    Die Rechte habe ich entsprechend (777) und Attribute sollten auch passen.

    Meine Ergänzung zu smb.conf sieht so aus:
    [SonosSpeak]
      comment = Audio-Files for SonosPlayer to Speak
      public = yes
      read only = false
      path = /mnt/SonosSpeak
      guest ok = yes


    Das habe ich nicht eingebaut
    [global]
      security = share


    Abschließend habe ich den Raspi neu gebootet.
    Titel: Antw:Sonos steuern
    Beitrag von: guhu am 14 Juni 2016, 20:48:43
    Sonos produziert bei mir jede Menge Fehlermeldungen im Log:

    Ich weiß beim besten Willen nicht, was das sein kann. Ist hier der Maintainer mit im Thread?

    Schöne Grüße


    Use of uninitialized value $location in concatenation (.) or string at /usr/local/FHEM/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 308, <$client> line 8.
    400-URL-Absolute-Error! Location: "", Content: "400 URL missing
    " at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 400 URL missing at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 3747 thread 1.
    Use of uninitialized value $location in concatenation (.) or string at /usr/local/FHEM/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 308, <$client> line 8.
    400-URL-Absolute-Error! Location: "", Content: "400 URL missing
    " at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 400 URL missing at /usr/local/FHEM/share/fhem/FHEM/00_SONOS.pm line 3747 thread 1.
    Use of uninitialized value $location in concatenation (.) or string at /usr/local/FHEM/share/fhem/FHEM/lib/UPnP/ControlPoint.pm line 308, <$client> line 8.
    400-URL-Absolute-Error! Location: "", Content: "400 URL missing
    "


    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 14 Juni 2016, 21:39:21
    @Puschel74
    Ihr operiert an der Samba Freigabe, diese Einrichtung sieht aus meiner Sicht gut aus.
    Du versuchst aber Sprachausgabe, werden denn MP3 Files in der Freigabe erzeugt? Sind die abspielbar? z.B. mit Mediaplayer  8)
    Kann ja sein das Problem liegt dort.

    Kann Sonos selbst denn die Freigabe sehen und dort MP3 Dateien lesen?
    Du kannst in der Sonos App den Ordner in die Musikbibliothek hinzufügen.
    Oder Du nimmst Windows und den Mediaplayer/Dateiexplore: Freigabe/ Datei auswählen und dann mit rechter Maustaste und auf Gerät abspielen. Wäre ein ähnlicher Weg wie FHEM das tun...

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: pitman am 14 Juni 2016, 22:34:36
    Mein FHEM Log wird alle paar Sekunden mit folgenden Meldungen gefüllt:
    Zitat2016.06.14 22:30:48 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'undef'. This should not happen!
    2016.06.14 22:30:48 0: SONOS0: Fehlerhafter Aufruf von ReadingsBeginUpdate: undef
    2016.06.14 22:30:48 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'undef'. This should not happen!
    2016.06.14 22:30:48 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: undef:MasterPlayerPlaying:[]
    2016.06.14 22:30:48 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'undef'. This should not happen!
    2016.06.14 22:30:48 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: undef:MasterPlayerPlayingCount:0
    2016.06.14 22:30:48 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'undef'. This should not happen!
    2016.06.14 22:30:48 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: undef:MasterPlayerNotPlaying:['Sonos_BRIDGE','Sonos_Bad','Sonos_Kueche']
    2016.06.14 22:30:48 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'undef'. This should not happen!
    2016.06.14 22:30:48 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: undef:MasterPlayerNotPlayingCount:3
    2016.06.14 22:30:48 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'undef'. This should not happen!
    2016.06.14 22:30:48 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: undef:MasterPlayer:['Sonos_BRIDGE','Sonos_Bad','Sonos_Kueche']
    2016.06.14 22:30:48 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'undef'. This should not happen!
    2016.06.14 22:30:48 0: SONOS0: Fehlerhafter Aufruf von ReadingsBulkUpdateIfChanged: undef:MasterPlayerCount:3
    2016.06.14 22:30:48 1: SONOS0: The Method 'SONOS_getSonosPlayerByUDN' cannot find the FHEM-Device according to 'undef'. This should not happen!
    2016.06.14 22:30:48 0: SONOS0: Fehlerhafter Aufruf von ReadingsEndUpdate: undef

    Die Sonos-Einbindung in FHEM funktioniert allerdings tadellos.
    Könnt ihr mir eventuell sagen, was diese Fehlermeldungen bedeuten? Kann ich diese irgendwie beheben?
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 15 Juni 2016, 19:41:01
    Zitat von: Otto123 am 14 Juni 2016, 21:39:21
    Ihr operiert an der Samba Freigabe, diese Einrichtung sieht aus meiner Sicht gut aus.
    Du versuchst aber Sprachausgabe, werden denn MP3 Files in der Freigabe erzeugt?
    Kann ja sein das Problem liegt dort.

    Kann Sonos selbst denn die Freigabe sehen und dort MP3 Dateien lesen?
    Du kannst in der Sonos App den Ordner in die Musikbibliothek hinzufügen.
    Oder Du nimmst Windows und den Mediaplayer/Dateiexplore: Freigabe/ Datei auswählen und dann mit rechter Maustaste und auf Gerät abspielen. Wäre ein ähnlicher Weg wie FHEM das tun...

    Gruß Otto

    Hallo Otto,

    es werden im Verzeichniss keine Files erstellt - das hat mich ja verwundert.

    Die Freigabe selbst kann ich in der Sonos-App aufrufen und sie wird auch eingebunden - ich kann mal ein .mp3-File dahin verschieben und versuchen über die App abzuspielen (werd ich gleich mal machen).
    Im Windoof-Explorer habe ich die Freigabe auch einwandfrei einbinden können - wenn ich am Cubie eine Datei anlege wird die im Explorer auch sofort sichtbar.

    @Dirk
    Zitat
    Also es geht defintiv mit:

    Du schreibst, der Player spielt das "HAllo" nicht ab, richtig? Wird er denn für den Moment gemutet?
    Also sobald du den Speakbefehl absendest sollte der aktuelle Playvorgang unterbrochen werden und dein Speak wird ausgegeben.

    Kurz gesagt: Klappt es bei dir, wenn du das FHEM per Restart startest und dann den Player per Steckdose z.b hin zu schaltest?

    Grüße,
    Dirk
    Sorry -erst jetzt gelesen.
    Das es geht davon geh ich aus und ich bin mir sicher das der Fehler einwandfrei 50 cm vor dem Bildschirm zu orten ist  ;D

    Der Player wird nicht gemutet er spielt dann einfach in der - per Speak - übergebenen Lautstärke weiter.
    Die Ausgabe wird auch nicht angehalten oder irgendwas - es ändert sich nur die Lautstärke auf den per Speak übergebenen Wert.

    Hm, ich bin ein Feind der FHEM-Restarts wenn es nicht unbedingt sein muss (update oder wirklich ununmgänglich)  :-X.
    Daher bearbeite ich meine Konfig auch nur noch per Frontend - wenn ich sie den mal bearbeite (und jetzt bin ich eben grad an den Sprachausgaben dran).

    Ah - ich hab als "Holzhammer" fhem mal der Gruppe root zugeordnet und den Benutzer für das Verzeichniss mal fhem zugeordnet.
    Zitatdrwxrwxrwx 2 fhem root 4096 Jun 13 12:13 SonosSpeak
    Keine Änderung - Sonos spielt in der per Speak übergebenen Lautstärke den Stream weiter ab.

    Ich schieb mal ein .mp3-File auf die Freigabe und schau ob ich das über die App abspielen kann.
    Titel: Antw:Sonos steuern
    Beitrag von: h-man-kl am 17 Juni 2016, 10:24:48
    Hallo, nachdem ich mit dem Modul recht viel rumexperimentiert habe, würde ich gerne alles was mit sonos zu tun hat löschen und das ganze nochmal sauber aufziehen. Gibt es da eine Möglichkeit, wie ich zuverlässig alle Einstellungen, Namen, Player etc. wegbekomme? Irgendwie finde ich das nicht.....
    Danke!
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 17 Juni 2016, 11:05:18
    Mit list SONOS.*
    schauen ob es die richtigen Geräte erwischt.
    Mit delete SONOS.* oder passendem regexp dann löschen was du löschen willst.

    Edith: Ein abschließendes speichern nicht vergessen.
    Titel: Antw:Sonos steuern
    Beitrag von: h-man-kl am 17 Juni 2016, 11:12:43
    TOP! Danke!
    Ich hatte den . Vergessen - was so ein kleiner . Doch ausmacht!
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 17 Juni 2016, 11:37:04
    Zitat von: Puschel74 am 15 Juni 2016, 19:41:01
    es werden im Verzeichniss keine Files erstellt - das hat mich ja verwundert.
    Dann geht der Aufruf zur Sprachausgabe nicht, Du brauchst bestimmt nicht weiter in der Samba Freigabe und Verbindung zu Sonos zu suchen. Zumindest wenn der Test mit MP3 Datei extern geklappt hat.

    Irgendwie glaube ich Dein System hat ein Problem mit dem Aufruf der Google Sprach Synthese. Wobei es schon beim Aufruf klemmen muss sonst würde wenigsten eine Datei geschrieben. Wenn es mit Google klemmt (kommt manchmal vor) dann steht Müll in der MP3 Datei.
    Das Sonos Modul an sich funktioniert? Du kannst die Player steuern?
    Hast Du mal das Logging vom Sonos Modul hochgedreht?
    Funktioniert das Text2Speech Modul auf dem System? Das verwendet ja den gleichen Mechanismus.

    Wenn Du willst kannst Du noch in meinen Notizen (http://heinz-otto.blogspot.de/2015/01/fhem-sprachausgabe-uber-sonos.html) lesen, vielleicht fällt Dir da was auf.
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 17 Juni 2016, 17:19:53
    Hallo Otto,

    ZitatDann geht der Aufruf zur Sprachausgabe nicht, Du brauchst bestimmt nicht weiter in der Samba Freigabe und Verbindung zu Sonos zu suchen. Zumindest wenn der Test mit MP3 Datei extern geklappt hat.
    Ich hab per WinSCP eine mp3-Datei auf die Samba-Freigabe \\192.168.2.29\SonosSpeak kopiert - die Datei war logischerweise sofort im Dateiexplorer von Windows sichtbar.
    Die Freigabe habe ich dann per SONOS-App eingebunden und ich konnte das File auch einwandfrei an einem beliebigen Player abspielen.
    Ich hatte eigentlich gehofft das es ein Rechte-Problem ist und FHEM die Datei nicht anlegen kann/darf.

    ZitatDas Sonos Modul an sich funktioniert? Du kannst die Player steuern?
    Ich kann alle Player eiwandfrei mit FHEM steuern.

    ZitatHast Du mal das Logging vom Sonos Modul hochgedreht?
    Noch nicht - mach ich jetzt.

    ZitatFunktioniert das Text2Speech Modul auf dem System? Das verwendet ja den gleichen Mechanismus.
    Öh, das muss ich erst einrichten um es testen zu können.
    Ich hatte ja gehofft das ich das mit dem Speak-Befehl umgehen kann  8)

    Deine Notizen werd ich mir auch gleich mal durchlesen.
    Danke.

    Edith: Hmmmm, die Datei wird erstellt aber unter /opt/fhem  ???
    Zitat2016.06.17 17:23:50.985 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=%20Hallo" to "./RINCON_B8E937355CDC01400_MR_Speak.mp31"
    2016.06.17 17:23:51.107 3: SONOS1: Combine loaded chunks into "./RINCON_B8E937355CDC01400_MR_Speak.mp3"
    2016.06.17 17:23:51.649 3: SONOS1: Start temporary playing of "/RINCON_B8E937355CDC01400_MR_Speak.mp3"
    2016.06.17 17:23:52.360 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Hobbyraum".
    2016.06.17 17:23:52.375 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Hobbyraum".
    2016.06.17 17:23:52.580 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Hobbyraum".
    2016.06.17 17:23:52.593 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Hobbyraum".
    2016.06.17 17:23:54.018 3: SONOS3: Restorethread has found a job. Waiting for stop playing...

    Edith1: @Otto
    Ist das aus deinem Blog noch notwendig?
    Zitatsudo apt-get install libdigest-sha-perl
    Ich hab im Wiki dazu nichts gesehen.

    Edith2: Screenshot der Attribute hinzugefügt - sieht gleich aus wie bei Otto (bis auf das Attribut room und verbose  ;D ).
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 17 Juni 2016, 18:07:44
    @Puschel74:
    Bitte danach noch einmal alles Dokumentieren :-)

    Ich habe die gleichen Probleme bei meinen bis dato 2 Versuchen gehabt :-( Aber keinerlei weitere Aktivitäten reingesteckt ...

    Nach Wiki alles gemacht - es kommen keine MP3's in das Verzeichnis rein zum abspielen
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 17 Juni 2016, 18:10:41
    Es klappt  8)
    Wusst ich doch das das Problem mal wieder vor dem Bildschirm sitzt  8)

    Edith: Letzte Änderung die ich gemacht habe:
    Ich habe den User fhem zur Gruppe dialout hinzugefügt und das Verzeichniss /mnt/SonosSpeak dem User fhem und der Gruppe dialout zugeordnet.
    sudo usermod -aG dialout fhem
    sudo chown -cR fhem:dialout /mnt/SonosSpeak
    Ich muss noch schauen unter welchem User fhem läuft - aber vermutlich nicht mit dem richtigen sonst wäre dieser Schritt bei mir wohl nicht notwendig gewesen.

    Evtl. könnte man das Wiki ja dahingehend anpassen das bei der Erklärung der beiden Attribute targetSpeakDir und targetSpeakURL als Beispiel die Werte aus dem erstellen der Samba-Freigabe genommen werden.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 18 Juni 2016, 00:36:42
    Zitat von: Puschel74 am 17 Juni 2016, 17:19:53
    Edith1: @Otto
    Ist das aus deinem Blog noch notwendig?Ich hab im Wiki dazu nichts gesehen.
    Hallo Puschel74

    naja die Installation von "libdigest-sha-perl" ist quasi die Alternative zu "sudo cpan install Digest::SHA1".

    Mein Artikel im Blog ist ja auch schon ein Jahr alt, damals wusste ich noch etwas weniger. Bei dem Aufruf von cpan bekam ich damals die Info das cpan zu alt ist. Ich hatte keine Ahnung wie ich das aktualisieren sollte. Ich komme eben aus der Windows Ecke und Perl ist für mich auch ein relatives Fremdwort  8)
    Mit apt-get install konnte ich relativ schnell umgehen. Mittlerweile weiß ich:
    Man kann beides machen, das SONOS Modul kann mit der SHA1.pm und der SHA.pm umgehen. Der im Artikel erwähnte "Wrapper" ist quasi im SONOS Modul enthalten.

    Das mit dem User fhem und der Gruppe dialout verstehe ich nicht so richtig...
    Komisch, bei mir hat das damals (und bisher immer wieder) eigentlich nach Wiki immer direkt funktioniert.

    Es war jetzt quasi doch ein Rechteproblem!? fhem konnte nicht schreiben? Da muss ich morgen nochmal drüber nachdenken.

    Gute Nacht
    Otto

    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 18 Juni 2016, 18:47:54
    ZitatEs war jetzt quasi doch ein Rechteproblem!? fhem konnte nicht schreiben?
    So sieht es wohl aus.

    Zitatnaja die Installation von "libdigest-sha-perl" ist quasi die Alternative zu "sudo cpan install Digest::SHA1".
    Das habe ich schon gelesen in deinem Blog.
    Meine Frage war eher - ist SHA bzw. SHA1 für SONOS überhaupt (noch) nötig da ich im Wiki nichts davon gelesen habe.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 18 Juni 2016, 18:55:44
    Naja also ich lese den Wiki Artikel (http://www.fhemwiki.de/wiki/SONOS#Set-Befehle_an_den_SONOSPLAYER)
    Da steht, dass damit die FileHash erzeugt werden, damit bei wiederholtem Text nicht neu generiert werden muss.
    Das Ganze steht unter der Erklärung zum Attribut targetSpeakFileHashCache(0,1)

    Ich hatte mir seiner Zeit das Modul angeschaut und gesehen, dass es auch SHA nimmt...

    Kann sein, da ist was an mir vorbei gegangen?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 18 Juni 2016, 19:04:04
    Ah, ok.
    Ich hab mich auf diese Stelle im SONOS-Wiki bezogen: http://www.fhemwiki.de/wiki/SONOS#Softwarevoraussetzungen (http://www.fhemwiki.de/wiki/SONOS#Softwarevoraussetzungen)
    und da konnte ich nichts finden das SHAx installiert werden muss aber vermutlich wird das in einem der Pakete dabei sein.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 18 Juni 2016, 19:13:55
    Naja wie so oft, "oben" stehen die Voraussetzungen damit es überhaupt geht und "unten" steht dann am Attribut: "Ach ja damit das geht braucht man noch...."

    Wir lesen ja dasselbe Wiki, mach einfach crtl-F und suche nach SHA1  8)

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: JoWiemann am 18 Juni 2016, 19:22:38
    Hm, Digest::SHA1 steht für wheezy doch seit einiger Zeit nicht mehr zur Verfügung?! Im Source wird bei fehlendem Digest::SHA1 dann  Digest::SHA versucht.

    Grüße Jörg
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 18 Juni 2016, 19:25:02
    Zitat von: Otto123 am 18 Juni 2016, 19:13:55
    Wir lesen ja dasselbe Wiki, mach einfach crtl-F und suche nach SHA1  8)
    Gruß Otto

    Werd ich machen  ;D ;)
    Danke nochmal allen für die Hilfe hier.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 18 Juni 2016, 19:38:03
    Zitat von: JoWiemann am 18 Juni 2016, 19:22:38
    Hm, Digest::SHA1 steht für wheezy doch seit einiger Zeit nicht mehr zur Verfügung?! Im Source wird bei fehlendem Digest::SHA1 dann  Digest::SHA versucht.
    Richtig! Sag ich doch  8) Aber eins von beiden braucht man!

    Aber im Wiki steht es halt drin... Ich könnte das ändern, allerdings bin ich für das Thema SHA /SHA1 und das richtige Modul und auch für Sonos immer noch der Lehrling  ;D

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 18 Juni 2016, 20:38:30
    Zitat von: Puschel74 am 17 Juni 2016, 18:10:41
    Edith: Letzte Änderung die ich gemacht habe:
    Ich habe den User fhem zur Gruppe dialout hinzugefügt und das Verzeichniss /mnt/SonosSpeak dem User fhem und der Gruppe dialout zugeordnet.
    Was mir irgendwie kein Ruhe lies: Ich dachte immer fhem ist von "Natur" aus in der Gruppe dialout? Wieso war denn das bei Dir nicht so?  :o

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Puschel74 am 18 Juni 2016, 20:53:35
    Zitat von: Otto123 am 18 Juni 2016, 20:38:30
    Was mir irgendwie kein Ruhe lies: Ich dachte immer fhem ist von "Natur" aus in der Gruppe dialout? Wieso war denn das bei Dir nicht so?  :o

    Gruß Otto
    Du kannst Sachen fragen - woher soll ich das wissen  ???  ;D
    FHEM hab ich per .deb-Paket mit wget auf meinem Cubie installiert.
    Kann auch sein das fhem der Gruppe dialout bereits zugerodnet war aber die SambaFreigabe gehört anfangs root:root und nicht fhem:dialout
    Erst nach zuweisen von fhem:dialout funktioniert Speak bei mir.
    Ich kann ja morgen mal versuchen wieder root:root zuzuweisen und schauen was dann passiert.
    Nu muss ich aber Häppchen richten helfen und dann EM schauen.
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 26 Juni 2016, 23:08:25
    Ich versuche grade, ein paar Regeln zu bauen, abhängig davon, ob ein bestimmter Sonos-Player gestartet/gestoppt wird. Kann ich irgendwie ein notify auf "transportState" setzen? Schon wenn ich ein notify ohne Filter auf den Player setze bekomme ich als $EVENT nur Folgendes:

    readingsUpdate(Sonos_Wohnzimmer,currentTrackPosition,0:00:01) missed to call readingsBeginUpdate first.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 27 Juni 2016, 09:00:48
    Zitat von: dantist am 26 Juni 2016, 23:08:25
    Schon wenn ich ein notify ohne Filter auf den Player setze bekomme ich als $EVENT nur Folgendes:
    readingsUpdate(Sonos_Wohnzimmer,currentTrackPosition,0:00:01) missed to call readingsBeginUpdate first.
    Das hat nichts mit einem Notify ansich zutun, sondern mit dem, was Du in dem Notify aufrufst und uns nicht gezeigt hast. Ausserdem bezweifel ich noch, dass $EVENT diese Meldung beinhaltet.
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 27 Juni 2016, 09:10:05
    Das notify ist minimal und sieht so aus:

    define ReceiverInputSourceSonosOn notify Sonos_Wohnzimmer { Log(2, "$EVENT"); }

    Aber du hast recht, die Fehlermeldung ist ein Level 1-Logeintrag, kommt also nicht aus dem notify.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 27 Juni 2016, 09:58:49
    Da die gezeigte Syntax nicht aus dem DEF Editor ist, sondern die Eingabe am FHEM Prompt oder aus der fhem.cfg ist, mußt Du das Semikolon verdoppeln oder weglassen. Weitere Fragen dazu besser im Anfänfgerbereich stellen, hat nix mit Sonos zu tun.
    Titel: Antw:Sonos steuern
    Beitrag von: rtv am 28 Juni 2016, 17:14:24
    Nutzt jemand den Sonos Wecker und steuert diesen über FHEM, bzw. zeigt dessen Status an?
    Ich fänd' ein paar Codeschnipsel (z.B. notify um Alarmzeit und Status in einem Dummy zu aktualisieren) hilfreich...
    Titel: Antw:Sonos steuern
    Beitrag von: stera am 01 Juli 2016, 19:26:36
    Hallo,

    hat jemand auch Probleme, dass das transportState nicht mehr ordentlich angezeigt wird. Ich meine das ist seit einem SonosUpdate letzte Woche.. Play und Pause usw... funktioniert, die Box reagiert darauf. Aber im transportState steht immer:  STOPPED

    Gruß,
    SteRa
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 01 Juli 2016, 23:07:12
    transportState reagiert bei mir, allerdings muss man aktualisieren drücken.
    Update von gestern ...
    Titel: Antw:Sonos steuern
    Beitrag von: Niko1987 am 11 Juli 2016, 21:27:06
    Hallo,

    Ich hab  ein Problem.... vermutlich mit irgendwelchen Rechten.
    Mein Fhem läuft auf einem NUC mit Ubuntu. Vor dem Umzug von Raspberry auf den Nuc lief alles Super.
    Nach dem einbinden kommt folgender Fehler im logfile:
    Insecure dependency in require while running setuid at ./FHEM/00_SONOS.pm line 179.
    BEGIN failed--compilation aborted at ./FHEM/00_SONOS.pm line 179.
    Vielleicht kann mir jemand weiter helfen?
    Gruß
    Niko
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 12 Juli 2016, 08:38:57
    Hallo Niko,

    hast Du alle notwendigen Perl Module installiert? setuid - schau mal was in Zeile 179 aufgerufen wird.

    Aber ist jetzt alles nur ins Blaue geraten...

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Niko1987 am 13 Juli 2016, 14:22:16
    Hallo,

    Perl wurde installiert. In Zeile 179 sind irgendwelche Dinge (Alles möglichen Verrenkungen unternehmen um Sonos zum laufen zu bekommen) ?!

    Leider bin ich nicht so fit das ich daraus etwas entnehmen kann.
    Danke & Gruß
    Florian
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 14 Juli 2016, 20:54:10
    Ob Du Perl installiert hast, habe ich nicht gefragt. Ohne Perl würde ja gar nichts gehen  :-X
    Ich meinte alle notwendige zusätzlichen Perl Module die für Sonos notwendig  (http://www.fhemwiki.de/wiki/SONOS)sind.

    Ich habe nochmal gegoogelt und das zu setuid  (https://de.wikipedia.org/wiki/Setuid) gefunden. Klingt mir also so als ob Du ein Rechte Problem hast? Welcher Art kann ich auch nicht sagen ... Am Besten Du kontrollierst nochmal Deine Installationsschritte für die Vorbereitung der FHEM Installation.

    In Zeile 179 wird aus meiner Sicht auf UPnP zugegriffen. Das Sonos Modul verwendet meines Wissens einen separaten Prozess um über UPnP mit dem Sonos System zu kommunizieren. Offenbar ist dies bei Dir gestört?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Grimm80 am 15 Juli 2016, 07:57:37
    Hallo,

    ich habe ein Problem mit den Readings der Sonos.
    Die einzelnen Readings werden nicht sofort aktualisiert, ist das so gewollt?
    Hier durch habe ich Probleme mit dem Abrufen der Werte in Echtzeit für eine Anwendung (Angular Frontend). Die Readings werden nur mit F5 sofort in FHEM aktualisiert, nicht aber sofort nach der Änderung z.B. Volume.

    Ich bitte um Hilfe/Aufklärung
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 15 Juli 2016, 08:41:00
    Zitat von: Grimm80 am 15 Juli 2016, 07:57:37
    Die einzelnen Readings werden nicht sofort aktualisiert
    Doch, werden sie ;)
    Eine Ausnahme bildet currentTrackPosition, aber das ist von Reiner so gewollt.
    Titel: Antw:Sonos steuern
    Beitrag von: Grimm80 am 15 Juli 2016, 09:41:15
    Wo genau werden die denn aktualisiert?
    Erst nachdem ich F5 drücke passiert das, vorher ändert sich nur "LastActionResult" und der alte Wert (als Beispiel: Volume) bleibt bestehen.

    Probier das doch mal aus und mach ein "set sonos volume 8" oder so un beobachte mal in FHEM die Readings von der Sonos.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 15 Juli 2016, 09:47:37
    Zitat von: Grimm80 am 15 Juli 2016, 09:41:15
    Probier das doch mal aus und mach ein "set sonos volume 8" oder so un beobachte mal in FHEM die Readings von der Sonos.
    Brauch ich nicht, ich bin mir sicher.
    Das Atrribut generateVolumeEvent hast Du gesetzt?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 15 Juli 2016, 09:53:12
    Wiki  (http://www.fhemwiki.de/wiki/SONOS#Readings_von_SONOSPLAYER)Leser sind klar im Vorteil  8) zugegeben: ;) viel zu lesen
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 17 Juli 2016, 10:45:06
    Mir ist eine kleine Unschönheit aufgefallen ...

    Situation:
    Der Player ist im Status PAUSED_PLAYBACK (transportState)
    Jetzt wird ein kurzer Hinweis ausgegeben (PlayURITemp)
    Danach wird Titel, Position im Titel, Lautstärke usw. wieder richtig eingestellt

    Aber: der Status (transportState) wird auf STOPPED gesetzt, obwohl er eigentlich im PAUSED Zustand ist
    Titel: Sonos Button Event ohne physisches Drücken der Tasten?
    Beitrag von: m0urs am 23 Juli 2016, 13:24:48
    Kann es denn unter welchen Umständen auch immer möglich sein, dass für ein Sonos-Device ein Button Event ausgelöst wird, ohne dass jemand tatsächlich eine Taste drückt? Ich habe eine Sub definiert, die auf einen Tastendruck für Volume down/up reagiert und gerade gesehen, dass diese Routine aufgerufen wurde ohne dass jemand an dem Gerät war. Das einzige was passiert ist, der Sonos-Player war Teil einer Gruppe und der Master-Player kam von einem Alarm-Snooze zurück und es wurde per Kommando für jeden Player der Gruppe die Lautstärke gesetzt (jeweils einzeln für jeden Player der Gruppe).
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 06 August 2016, 14:23:29
    Bzgl. eines hier früher mal erwähnten Beitrag zu einem kombinierten State-Reading (state2 genannt):

    Ich habe den Codeschnipsel dazu aktualisiert.

    Die Infos zum stateAV userReading finden sich jetzt hier:
    https://forum.fhem.de/index.php/topic,42116.0.html (https://forum.fhem.de/index.php/topic,42116.0.html)


    Darin enthalten ist jetzt auch ein Beispiel für eine Structure, um alle Sonos Geräte darin zusammenzufassen.
    Titel: Antw:Sonos steuern
    Beitrag von: schlingi am 17 August 2016, 17:15:44
    Mal eine Zwischenfrage: Ich steuer meine Sonos bei bestimmten Ereignissen so an, dass eine Sprachausgabe erfolgt oder ein mp3-File abgespielt wird. Manchmal funktioniert es, dann wieder nicht . nach einiger Zeit dann erneut. Es funktioniert immer, wenn ich den raspberry und die Sonos stromlos stelle, dann erst fhem starte und nach einer Weile die Sonos-Boxen unter Strom stelle. Woran könnte das liegen? Kann ich irgendwas einstellen, dass das System besser läuft? Vielen Dank für Mithilfe
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 18 August 2016, 09:12:58
    Manchmal funktioniert, manchmal nicht....

    Damit kann man manchmal auch nichts einstellen.

    1. systematisch vorgehen und das logging für Sonos einstellen.
    2. systematisch herausfinden, nach welchem Vorgang es dann nicht mehr funktioniert. Ich hatte bspw. das Problem, dass bei playURITemp mit Pfadangabe zu einer mp3-Datei sich der Sonos-Subprozess grußlos verabschiedete. Gesendete Befehle wurden danach einfach nicht mehr ausgeführt. Ursache dafür war, dass ich den Pfad falsch angegeben hatte. Wohingegen die Sprachausgabe immer funktionierte.
    3. Das Neustarten ist nicht notwendig. Mit
    attr Sonos disable 1
    werden die Sonos-Subprozessse beendet. Warte dann 1 Minute und setze

    attr Sonos disable

    startet dann alles neu.
    Dann kannst Du weiter versuchen, die Ursache für die Disfunktionalität herauszufinden.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: schlingi am 18 August 2016, 09:24:19
    Vielen Dank. Ich werde das probieren
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 18 August 2016, 09:32:13
    Das mit den Sonos Subprozessen neu starten ist eine gute Idee! Das werde ich bei mir mal einbauen.
    Ich habe auch den Effekt, das nach längerer Laufzeit (ich sage mal Wochen) plötzlich ein paar Dinge nicht mehr gehen. Nach einem kompletten Neustart geht dann alles wieder.
    Z.B. steure ich früh drei Sonos Lautsprecher einzeln mit einer Rampe von leise nach laut. Die letzten Tage wurde der dritte im Bunde nicht mehr "bedient". Obwohl das Lautstärke auf null fahren in Nacht problemlos funktioniert.
    Hintergrund: Ich mag die Werbung nicht, die beim Start des Radiostreams vorangestellt wird. Ich drehe also die Lautstärke ganz zeitig früh auf null und starte den Stream. Bei Aufwachen wird dann nur laut gedreht.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 18 August 2016, 14:30:25
    Wegen dem relativ hohem Stromverbrauch der Player (je nach Typ zwischen 8 - 12 W), schalte ich meine 5 Player über FS20 Dosen ein und aus. Mit dem schalten der FS20 weiß ich ja dann, ddass nach ca. 30 bis 40 s ein presence - Event vom Player kommen sollte. Wenn das nicht kommt, setze ich das
    attr Sonos disable 1
    und nach ca. 1 Minute wieder auf 0.
    Damit halte ich das Sonos-System aus fehm - Sicht am Leben.

    Da die meisten Sonos - Befehle bzgl. fhem ein "result" - Ereignis zurück liefern, könnte man auch das während des laufendem Betriebs zur Funktionskontrolle verwenden. Zumindest hätte man sofort beim ersten Ausbleiben des results den Befehl, der den Sonos-Subprozess zum hängen gebracht hätte.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: schlingi am 18 August 2016, 15:04:01
    Das ist eine interessante Idee. Würdest Du mir einen Auszug aus Deiner cfg. zukommen lassen? Dann könnte ich mir das auch aufbauen...
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 19 August 2016, 09:51:37
    Geht leider nicht, da ich mir ein Modul SonosCC gebastelt habe, um die Sonos-Gruppierungen für Durchsagen und die angeschlossenen SAT-Receiver zu verwalten.
    Im Prinzip geht das so:
    a) Einschalten der Steckdose -> ein Timer wird gestartet, der dann nach 120 s eine perl-Routine aufrufen soll.
    b) kommt vorher das presence present - Ereignis für den Player, dann wird der timer gelöscht.
    c) wird die Routine aufgerufen, so wird die Sequenz von attr Sonos disable 1 / 0 aufgerufen und damit die sub-Prozesse neu gestartet.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: schlingi am 19 August 2016, 15:48:29
    Vielen Dank. Dann probier ich das mal.
    Titel: Antw:Sonos steuern
    Beitrag von: Devender am 22 August 2016, 21:28:01
    Hallo!

    da ich auch immer Probleme mit dem Ausschalten des SonosDevice hatte habe ich die Angaben von Elektrolurch mal schriftlich im Sonos Wiki festgehalten.
    Bei mir ist das DOIF seit Vorgestern im Einsatz und es funktioniert endlich nach jedem An und Aus. -Schalten.

    http://www.fhemwiki.de/wiki/SONOS#Betrieb_des_Sonos_an_einer_Funksteckdose_.28regelm.C3.A4.C3.9Figes_Ausschalten.29_-_Verbindungsprobleme (http://www.fhemwiki.de/wiki/SONOS#Betrieb_des_Sonos_an_einer_Funksteckdose_.28regelm.C3.A4.C3.9Figes_Ausschalten.29_-_Verbindungsprobleme)


    define RebootSonosDOIF DOIF ([FunksteckerSonos:state] eq "on" )(deleteattr MeinSonosDevice disable) (save)
                           DOELSEIF ([FunksteckerSonos:state] eq "off" )(attr MeinSonosDevice disable 1)(save)


    Vielleicht hilft es dem Ein oder Anderem trotzdem noch!

    Grüsse,
    Dirk
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 12 September 2016, 07:09:27
    Hallo Reiner,

    ich möchte gerne einen Spotify-Titel starten, der im Reading currentTrackURI den folgenden Eintrag hat:


    x-sonos-spotify:spotify:track:42SCX70vvdFxSNIsrEBh7a?sid=9&amp;flags=8224&amp;sn=5


    Aufgrund der Sonderzeichen scheitere ich daran, diesen Titel mit einem PlayURI oder PlayURITemp auszulösen. Auch mit gedoppeltem Semikolon habe ich keinen Erfolg. Was tun?
    Titel: Antw:Sonos steuern
    Beitrag von: marko67 am 13 September 2016, 16:44:14
    Hallo guten Tag,

    ich habe ein Problem beim Anlegen meiner Box (Play1)

    Fhem läuft im Netzwerk an einem Kable Router. Mein Wlan macht eine Fritzbox am Router. Die Box wurde eingerichtet mit der Sonos App und läuft im Wlan und lässt sich mit dem Handy steuern.

    Nun zum Problem:

    Wenn die Box im Wlan ist und ich im Fhem lt. Wiki definiere wird das Modul angelegt und sucht die Box. Nach einiger Zeit wenn ich refresh im Browser mache geht das Modul auf opend. Sonst wird nichts angelegt.

    Als ich die Box mit dem Lan Kabel angeschlossen habe wurde mit dem gl. Vorgang alles sauber angelegt und ich konnte die Box mit Fhem steuern. Allerdings ist sie dann nicht mehr im Wlan und lässt sich nicht mehr per App steuern was ich aber parallel machen möchte.

    Ich habe dies bezgl. nichts in Google o.ä. gefunden, auch der Sonossupport konnte mir bisher nicht helfen.

    Hätte jemand einen Tipp für mich was ich ändern müsste / sollte??

    Danke schon mal im voraus

    Marko
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 13 September 2016, 21:22:16
    Hallo Marko,

    wie ist Deine Fritzbox angebunden? Als IP-Client oder als Router?

    Hintergrund FHEM (Sonos Modul) und die Box (Play1) müssen sich per UPnP erreichen. Ich vermute deine FB verhindert das, getrennte Netzwerke?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: marko67 am 18 September 2016, 11:42:38
    Hallo Otto,

    deine Vermutung wird wohl richtig sein. Die fritzbox hängt am Kabelmodem und erzeugt mein WLan (Kosten bei Kable Deutschland 5€ extra p/Monat).
    Eingerichtet ist sie (fritzbox) nach einer der vielen Anleitungen im WWW https://www.router-faq.de/?id=router_fb&router=kabelmodem_2
    Von Sonos habe ich mitlerweile auch eine Antwort bekommen die das gleiche aussagt:

    Einfach den Player per LAN in das selbe Netzwerk hängen, auf das Ihr I-Phone per WIFI zugreift.

    Das geht aber bei mir nicht. Der Kabelrouter versorgt über Lan alle Zimmer. Die fritzbox hat durch den Betrieb "Internetzugang über Lan1" keinen Ausgang mehr frei um an die Sonosbox zu kommen. Folglich muss ich einen Tod sterben, ich weiss nur noch nicht welchen. Vermutlich werde ich das Fhem Modul fallen lassen... leider.

    Sollte jemand noch eine Idee haben wie ich evtl. die fritzbox tunen kann dann bin ich über Ideen dankbar.

    Viele Grüße Marko
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 18 September 2016, 11:56:46
    Ein zusätzlicher Mini-Switch kostet zwischen 5 und 10 Euro.
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 18 September 2016, 11:59:52
    Vermutlich hast Du auch zweinmal DHCP einmal vom Kabelmodem, einmal von der Fritte.
    Ich vermute, dass Du Clients über LAN in einem Netz und über WLAN in einem anderen hast.
    Musst halt mal anders konfigurieren.

    Oder da shier ändern:
    Zitat von: marko67 am 18 September 2016, 11:42:38
    Das geht aber bei mir nicht. Der Kabelrouter versorgt über Lan alle Zimmer. Die fritzbox hat durch den Betrieb "Internetzugang über Lan1" keinen Ausgang mehr frei um an die Sonosbox zu kommen.

    Kabelrouter per LAN an Fritte LAN1 und dann die Fritte zum "Verteilen" nehmen.
    Wenn die Ports nicht reichen, einfach einen kleinen 20 EUR Switch dran, fertig.

    Welche Fritte ist es denn? Nimm doch die Kabelversion, dann sparst Du gleich noch das Kabelmodem.
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 18 September 2016, 12:32:24
    Hallo,

    ich habe eine ähnliche Konfig. Eine zweite FB spannt ein WLan mit gleichem Namen aber anderem Funkkanal auf.
    Man kann die FB aber so konfigurieren, dass sie kein weiteres Subnetz aufmacht.
    Ich habe da auch etwas länger gesucht, um das zu finden.
    Internet -> Zugangsdaten: weiterer Anbieter -> externes Modem oder LAN1
    Betriebsart:   Vorhandene Internetverbindung mitbenutzen (IP-Client-Modus)
    Dann auf alle Fälle DHCP auf der Box aus und eine feste IP-Adresse vergeben.

    Heimnetz -> Netzwerkeinstellungen:
    Das hier aktivieren:   Statusinformationen über UPnP übertragen
    Über Universal Plug & Play (UPnP) werden im Heimnetz Statusinformationen der FRITZ!Box zum

    Einfach mal alles durchklicken. Ich habe das auch erst im zweiten Anlauf geschafft.

    Eelktrolurch

    Titel: Antw:Sonos steuern
    Beitrag von: marko67 am 18 September 2016, 13:00:32
    Vielen Dank an alle für die Ratschläge. Ich werde die Idee von Elektrolurch mal genauer ins Auge fassen.

    Marko
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 18 September 2016, 14:01:40
    Hallo Marko,

    genau die Anleitung von Elektrolurch ist die zielführende! Du darfst keine zwei Netzwerksegmente aufmachen, brauchst Du aber auch nicht.
    Nochmal zur Sicherheit: Du hast ein Kabelrouter und kein Kabelmodem!?
    Was Du mit der Anleitung aus der RouterFAQ gemacht hast sind zwei geroutete Netzwerke hintereinander, die Anleitung geht nämlich wirklich von einem Modem aus.
    Das mit dem DHCP, ich bin nicht ganz sicher: ich glaube in dem Moment wo Du IP-Client Modus machst, schaltet die FB ihren DHCP Server sowieso aus.
    Die eigene IP Konfiguration in den Verbindungseinstellungen kannst Du entweder per DHCP oder fest machen.
    Ich will Dich nicht verwirren, aber ich rede mit dem DHCP von zwei verschiedenen Stellen.
    Hier nochmal die offizielle Anleitung von AVM (https://avm.de/service/fritzbox/fritzbox-7390/wissensdatenbank/publication/show/106_FRITZ-Box-fuer-Betrieb-mit-anderem-Router-einrichten/)

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: marko67 am 18 September 2016, 19:54:36
    Hallo Otto,

    du bringst mich jetzt doch noch mal ins Schleudern. Nachdem ich jetzt nochmal auf der Seite war kann ich sagen dass es sich um einen Hitronhub Modell Hitron CVE-30360 handelt und es wohl ein Modem ist. Die Anleitung für die Fritzbox von damals habe ich nicht mehr... im Grunde waren esso :

    1. Lan von DSLbuchse auf Lan 1 und dann

    Anschluss einstellen auf  Internetzugang über LAN 1  (bzw. LAN A).

    Betriebsart einstellen auf  Internetverbindung selbst aufbauen (NAT-Router mit PPPoE oder IP) .

    Zugansdaten einstellen auf  Zugangsdaten werden nicht benötigt (IP) .

    Welche Einstellung (Auf der AVM Seite soll ich nutzen

    -1 FRITZ!Box als IP-Client einrichten (empfohlen)
    -2 FRITZ!Box als kaskadierten Router einrichten

    Bin jetzt etwas durcheinander...

    Nochmal ein dickes Dankeschön an alle
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 18 September 2016, 20:29:38
    Naja wenn ich das Handbuch richtig lese (auch dort wird von Modem und Router in einem Satz geredet  :-X ) und deine Beschreibung, dann hast Du genau das falsche gemacht und hast nun zwei Subnetze.
    Also mach jetzt bitte die Anleitung 1. IP Client

    Kaskadierte Router hast Du ja schon, damit geht das nicht.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 18 September 2016, 22:28:09
    Hallo Reinerlein,


    für das vor Zeiten mal erwähnte Problem, dass die Coverart-Links bei einer FHEMWEB Instanz mit webname != "fhem" nicht korrekt sind und somit das Cover u.U. nicht angezeigt werden kann, habe ich wohl eine pragmatische Lösung:


    Im ONKYO_AVR Modul habe ich den Infix einfach mit einem ? voran benannt, so dass bei Verwendung des Links in HTML dann später der vordere Teil der URL inkl. des vom User aufgerufenen Webname erhalten bleibt und nur durch die URI für den Abruf des Covers geändert wird. Nach meinen Tests hat das problemlos funktioniert, vielleicht änderst du das für das Sonos Modul auch bei Gelegenheit?




    Gruß
    Julian
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 25 September 2016, 10:30:08
    Hallo Zusammen

    Seit einiger Zeit habe ich folgende Meldung in meinem Log:
        Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 5396 thread 1.

    Hat Jemand dies auch, bzw. an was könnte dies liegen?

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: marko67 am 10 Oktober 2016, 22:08:03
    Feadback zu meinem Problem von oben mit der Fritzbox und Sonos.

    Leider waren die letzten Wochen sehr verplant und ich kam erst heute zu der Problemlösung meines oben beschriebenen Problems.
    Danke nochmal an Elektrolurch und Otto ... beide hatten den richtigen Tipp. Beide vorgeschlagene Lösungen führt zum Ziel.
    Nochmals vielen Dank es läuft jetzt alles wie es soll!

    Marko
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 17 Oktober 2016, 07:45:29
    Ist es inzwischen möglich, zuverlässig das Abspielen auf einer einzelnen Sonos zu starten, die zum Zeitpunkt des Befehls noch in einer Gruppe steckt?

    Wenn ich vor dem Abspielbefehl die einzelne Sonos in eine eigene Gruppe stecke, funktioniert es nicht. Sie wird zwar ausgegliedert, aber gespielt wird dann auf den verbleibenden Mitgliedern der ursprünglichen Gruppe. Man kann natürlich ein Delay von 10 Sekunden zwischen die Befehle legen, aber das macht die Sache ziemlich träge.

    Gibt es da keine elegante Lösung?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 17 Oktober 2016, 09:13:20
    Zitat von: dantist am 17 Oktober 2016, 07:45:29
    Man kann natürlich ein Delay von 10 Sekunden zwischen die Befehle legen, aber das macht die Sache ziemlich träge.
    Hi,
    aber so ist doch Sonos! Das Umgruppieren ist doch auch in der Sonos App keine Sache die verzögerungsfrei läuft. Das dauert immer ein paar Sekunden.
    Kann man nicht das Reading IsMaster verwenden um festzustellen, das die Umgruppierung abgeschlossen ist?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 17 Oktober 2016, 10:34:38
    Hallo Otto,

    das ist eine gute Idee - habe es grade getestet, es scheint ein zuverlässiger Indikator dafür zu sein, dass die Gruppierung abgeschlossen wurde.

    Das macht die entsprechende Funktion natürlich etwas umständlicher, da man nach dem Gruppierungs-Befehl zusätzlich ein Notify erstellen muss, das auf IsMaster lauscht. Ich hatte gehofft, man könnte irgendwie einen einzelnen Befehl à la "Spiele dieses Webradio auf folgenden Lautsprechern ab" umsetzen.

    Viele Grüße
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 17 Oktober 2016, 11:17:31
    Hallo Dan,

    vielleicht ne kleine "Subroutine" konstruieren, ich "rede" jetzt mal bloß als Ablauf:
    Aufgabe: Starte Radio auf SonosX
    Ist SonosX Mitglied einer Gruppe? - Ja -> Solo stellen -> warten auf Gruppierung beendet
    Spiele Radio

    Vielleicht ne Aufgabe für DOIF? Oder als 99_myUtils. Man muss bloß aufpassen, dass es FHEM nicht blockiert.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: hartgeldgeier am 19 Oktober 2016, 18:20:36
    Guten Abend!

    Ich brächte einmal eure Hilfe. Ich würde gerne Via Sonos ButtonEvents den Radiosender setzen und im gleichen Atemzug die Lautstärke setzen.
    Das mit dem Radiosender funktioniert schon einmal. Hier mein Code:

    Sonos_Bad:ButtonEvent:.(UUD) {
    if ($EVTPART1 eq 'UUD') {
        fhem("set Sonos_Bad LoadRadio /Antenne.Niedersachsen/ && set Sonos_Bad Volume 12");
      }
    }


    Wie lautet die korrekte Syntax für eine und Verknüpfung?

    Liebe Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: JoWiemann am 19 Oktober 2016, 18:38:40
    Zitat von: hartgeldgeier am 19 Oktober 2016, 18:20:36
    Guten Abend!

    Ich brächte einmal eure Hilfe. Ich würde gerne Via Sonos ButtonEvents den Radiosender setzen und im gleichen Atemzug die Lautstärke setzen.
    Das mit dem Radiosender funktioniert schon einmal. Hier mein Code:

    Sonos_Bad:ButtonEvent:.(UUD) {
    if ($EVTPART1 eq 'UUD') {
        fhem("set Sonos_Bad LoadRadio /Antenne.Niedersachsen/ && set Sonos_Bad Volume 12");
      }
    }

    Wie lautet die korrekte Syntax für eine und Verknüpfung?

    Zunächst bitte code-Tags bei Sourcecode nutzen. Dann, warum möchtest Du etwas mit "und" verknüpfen ohne einen logische Ausdruck zu haben?!

    Du musst einfach nur zwei mal ein fhem(set..) machen.

    Grüße Jörg
    Titel: Antw:Sonos steuern
    Beitrag von: hartgeldgeier am 20 Oktober 2016, 10:49:29
    Hey,
    danke für die schnelle Antwort.

    müsste das ganze dann folgendermaßen aussehen?

    Sonos_Bad:ButtonEvent:.(UUD) {
    if ($EVTPART1 eq 'UUD') {
        fhem("set Sonos_Bad LoadRadio /Antenne.Niedersachsen/");
         fhem("set Sonos_Bad Volume 12");

      }
    }
    Titel: Antw:Sonos Favoriten und Playlist
    Beitrag von: lewej am 23 Oktober 2016, 10:32:23
    Hallo Zusammen,

    ich habe schon gesucht aber nichts gefunden. Wie kann ich aus der Sonos meine Aktuellen Playlisten bzw. Favoriten auslesen und die in einem Reading oder einer Readinggroup speichern.

    Das ganze soll dann in der FTUI weiter genutzt werden.

    Grüsse und Danke
    lewej
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 23 Oktober 2016, 10:43:34

    ReadingsVal("device","Playlists","");
    ReadingsVal("device","Favourites","");

    Kannst Du dann z.B. mit eval in einen Hash schreiben. Ist aber glaube ich auch so im Wiki beschreiben.
    Titel: Antw:Sonos steuern
    Beitrag von: gloob am 26 Oktober 2016, 10:58:46
    Hallo,

    Zur Zeit bekomme ich relativ viele Fehler vom SONOS Modul in FHEM

    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 10.100.1.1:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.1.9:52767 at ./FHEM/00_SONOS.pm line 3747 thread 1.


    Hat jemand eine Idee, wo das her kommen könnte? Die IP 10.100.1.1 habe ich bei mir im System überhaupt nicht drin und 192.168.1.9 ist bei mir auch kein Sonos Gerät.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 26 Oktober 2016, 12:13:35
    Irgendein routing process leitet multicast traffic mit diesen source Adressen in Dein lokales Netz. Dein FHEM Rechner kennt aber das Gateway zu diesen IPs nicht, deshalb: can't connect...
    Virtualisierungssoftware?
    Titel: Antw:Sonos steuern
    Beitrag von: gloob am 26 Oktober 2016, 12:20:58
    Ne. Läuft alles auf einem Raspberry Pi und hängt im gleichen WLAN wie die Sonos Boxen.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 26 Oktober 2016, 12:41:29
    Dein gesamtes Netzwerk besteht aus einem Raspi und Sonos, sonst nix?
    Titel: Antw:Sonos steuern
    Beitrag von: gloob am 26 Oktober 2016, 13:08:59
    Naja sonst gibt es noch ein paar Handys, einen iMac, TV, Sonoff Module und ESP.

    Warum kommt das Modul aber auf die Idee, sich mit 192.168.1.9 oder einen anderen IP verbinden zu wollen? Ich habe meine Sonos Geräte doch angelegt und dann braucht es nicht ständig nach neuen Sachen suchen.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 26 Oktober 2016, 13:29:26
    Auf dem Mac iat auch kein VMware Fusion oder Parallels Desktop installiert? Dein Internet-Router wäre auch ein Kandidat für solche "fremdem" IPs.
    Wenn Dich nur die Meldung im Log stört, dann sollte das Attribut ignoredIPs helfen. Wenn Du rausbekommen möchtest , welches Gerät die Pakete schickt, dann mußt Du etwas tiefer einsteigen: beispielsweise mit Wireshark in die empfangenen Pakete nach der source Mac schauen. Wenn Dir die MAC Adresse nichts sagt, dann auf dem (managebaren) Switch gucken auf welchem Port sie reinkommt. Auf einem Cisco Switch sieht man das z.B. mit: 'sh mac address-table address <MAC>'.
    Titel: Antw:Sonos steuern
    Beitrag von: raspklaus am 29 Oktober 2016, 17:50:29
    Hallo,

    bisher hatte ich drei Player, die auch in FHEM gut erkannt wurden. Nun habe ich einen zusätzlichen gekauft und wollte ihn zur vorhandenen Konfiguration hinzufügen.

    In der App und dem Sonos PC Player wird er auch erkannt, in fhem nicht.

    Autocreate steht auf 1, rascan network bringt als Ergebnis nur dass als Anzahl 4 Player angezeigt werden aber im Raum Sonos wird der Player nicht angelegt. Ein shutdown restart hilft auch nicht.

    Wie kann ich fhem dazu überreden den Player zusätzlich anzulegen ?
    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 30 Oktober 2016, 11:32:14
    Hallo zusammen,

    habe mitterweile 3 Sonos Player in verschiedenen Räumen, welche jeweils per Funksteckdose geschalten werden.
    Nach dem Einschalten lass ich dann automatisch einen Radiosender abspielen (Presence Appeared)
    Was mir jetzt noch fehlt ist eine automatisch Gruppierung der Player und nach ausschalten eines Players die Aufhebung der Gruppierung.

    Hat jemand mit nen Tipp wie ich das realisieren könnte ?

    Gruß Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 01 November 2016, 11:11:09
    Hallo Christoph,

    mit set Sonos Groups  kannst Du Player gruppieren. Als auslösenden Event kannst Du ja die Steuerung der Steckdosen nehmen.

    Ich würde da immer Zeitverzögerungen von einigen Sekunden (probieren) einbauen, da das Sonos "System" Zeit braucht um die neu eingeschalteten Player zu ermitteln

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 03 November 2016, 11:25:12
    Hallo Otto,

    Wenn ich alle 3 Player gleichzeitig einschalten würde, wäre das gruppieren kein Problem...  ;)
    Möchte das aber automatisch gruppieren, je nachdem ob ein oder mehrere Player eingeschaltet sind.


    Gruß Christoph
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 03 November 2016, 12:01:15
    Hallo Christoph,

    Naja die Player haben ja auch Statusinformationen
    presence appeared sagt mir vorhanden. Kannst Du schauen was drin steht wenn er bei Dir aus ist (Bin zu faul die Stecker zu ziehen  ;D )

    Dann kann man darauf reagieren mit einer gewünschten Logik und den Gruppenbefehl ausführen. Also so in der Art:
    define n_Gruppe notify Player:presence.appeared set Sonos Groups  a b c

    Aber ist nur ein Ansatz, nicht geprüft. Ich weiß nicht mal ob der Event so entsteht, aber kannst Du ja leicht ausprobieren.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: DeeSPe am 06 November 2016, 19:40:09
    Ich spiele mit PlayURI einen Stream ab.
    Leider geht das nur bis zum nächsten PlayURITemp. Danach wird nicht der Stream wieder abgespielt.
    Gibt es dafür eine Lösung?

    Danke.

    Gruß
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 06 November 2016, 19:44:36
    Zitat von: DeeSPe am 06 November 2016, 19:40:09
    Ich spiele mit PlayURI einen Stream ab.
    Leider geht das nur bis zum nächsten PlayURITemp. Danach wird nicht der Stream wieder abgespielt.
    Gibt es dafür eine Lösung?

    Danke.

    Gruß
    Dan
    Hi Dan,

    ist bei mir auch so, scheinbar geht der Stream nicht sauber in den "Keller" um ihn dann wieder rauszuholen. Klappt nur bei Playlisten. Also ich habe da aufgegeben und denke das geht nicht ...
    Aber vielleicht weiß ja einer was.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: DeeSPe am 06 November 2016, 21:53:58
    Zitat von: Otto123 am 06 November 2016, 19:44:36
    Hi Dan,

    ist bei mir auch so, scheinbar geht der Stream nicht sauber in den "Keller" um ihn dann wieder rauszuholen. Klappt nur bei Playlisten. Also ich habe da aufgegeben und denke das geht nicht ...
    Aber vielleicht weiß ja einer was.

    Gruß Otto

    Schade!
    Diesen Umstand kann ich gerade bei dem neuen Soundcloud Modul gar nicht gebrauchen!

    Danke für die Info Otto.

    Gruß
    Dan

    P.S. Hat evtl. jemand mal Reinerlein auf diesen Umstand angesprochen?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 06 November 2016, 22:09:00
    Schau mal hier https://forum.fhem.de/index.php/topic,10033.msg314809.html#msg314809
    Titel: Antw:Sonos steuern
    Beitrag von: DeeSPe am 06 November 2016, 22:13:24
    Hmm, ich steige nicht durch.
    Die Streams der einzelnen Tracks bei Soundcloud haben ja eine vordefinierte Länge, also sollte es doch funktionieren...!?

    Gruß
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 06 November 2016, 22:23:25
    ich auch nicht  ;)
    Vielleicht habe ich ja Unrecht mit meiner Idee.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: DeeSPe am 07 November 2016, 00:16:29
    Hab mal Reinerlein diesbezüglich per PN angeschrieben.
    Mal schauen was er dazu sagt.

    Gruß
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 07 November 2016, 10:31:33
    Moin Dan,

    ich helfe gerne beim untersuchen und testen!

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: speex am 11 November 2016, 15:58:43
    Hallo ich hab leider unbedacht die neue BetaController Software von Sonos in meinem System eingespielt nun lässt sich die Sonos nicht mehr per Fhem steuern.

    Der definierte Lautpsrecher erscheint als appeared aber wenn ich einen Befehl absetze tut sich nichts auch das Log hält sich hier vollständig zurück keine fehler nichts, hat da jemand rat? Laut Sonos kann ich leider auch kein Downgrade der Controller software vor nehmen.

    Um hilfe wäre ich sehr dankbar, beste grüße und schönes wochenende
    Titel: Antw:Sonos steuern
    Beitrag von: AmunRe am 11 November 2016, 16:16:14
    Zitat von: speex am 11 November 2016, 15:58:43
    Hallo ich hab leider unbedacht die neue BetaController Software von Sonos in meinem System eingespielt nun lässt sich die Sonos nicht mehr per Fhem steuern.

    Der definierte Lautpsrecher erscheint als appeared aber wenn ich einen Befehl absetze tut sich nichts auch das Log hält sich hier vollständig zurück keine fehler nichts, hat da jemand rat? Laut Sonos kann ich leider auch kein Downgrade der Controller software vor nehmen.

    Um hilfe wäre ich sehr dankbar, beste grüße und schönes wochenende

    ich hab auch die neuste Beta, aber keinerlei Probleme. Sicher das es an der Firmware liegt?
    Titel: Antw:Sonos steuern
    Beitrag von: Christoph am 11 November 2016, 16:18:46
    Bei mir läuft die Beta auch problemlos...
    Titel: Antw:Sonos steuern
    Beitrag von: speex am 11 November 2016, 17:26:35
    Ich muss mich auch korrigieren ich habe das System nun erneut neugestartet hatte ich vorher auch aber irgendwas muss wohl gehakt haben nun läuft es wieder wie gewohnt.

    Das einzige was ich in den Logs zu Sonos finde ist folgendes, diese Meldung erhalte ich auch nur nach einem Neustart des fhem Servers:
    2016.11.11 17:18:01 2: harmonyhub: disconnect
    2016.11.11 17:18:01 3: harmonyhub: connected
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2016.11.11 17:18:02 3: harmonyhub: new config
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 12 November 2016, 15:34:37
    Hi,

    ich blicke leider noch nicht ganz, wie ich mit SONOS arbeiten kann.

    Ich habe meine Lautsprecher alle erfolgreich in FHEM drin.
    Nehmen wir als Beispiel Wohnzimmer.

    Nun hab ich per APP mein Sonos System mit Amazon Prime Music verbunden. Dort gibt es fertige Playlisten zu allem möglichen. Ich möchte später erreichen das wenn meine Szene Kochen beginnt, dann automatisch Playlist XY von Amazon Prime Music gespielt wird.

    Ist das möglich ? Wie geht man da am besten vor ? Also ich meine wie kann ich eine bestimmte Playlist abspielen lassen ?
    Geht das überhaupt in Verbindung mit Amazon Prime Musis aus FHEM raus ?

    Grüße,
    Visionsurfer
    Titel: Antw:Sonos steuern
    Beitrag von: AmunRe am 12 November 2016, 17:08:52
    ZitatHi,

    ich blicke leider noch nicht ganz, wie ich mit SONOS arbeiten kann.

    Ich habe meine Lautsprecher alle erfolgreich in FHEM drin.
    Nehmen wir als Beispiel Wohnzimmer.

    Nun hab ich per APP mein Sonos System mit Amazon Prime Music verbunden. Dort gibt es fertige Playlisten zu allem möglichen. Ich möchte später erreichen das wenn meine Szene Kochen beginnt, dann automatisch Playlist XY von Amazon Prime Music gespielt wird.

    Ist das möglich ? Wie geht man da am besten vor ? Also ich meine wie kann ich eine bestimmte Playlist abspielen lassen ?
    Geht das überhaupt in Verbindung mit Amazon Prime Musis aus FHEM raus ?

    Grüße,
    Visionsurfer
    Ich hab dafür Sonos favouriten angelegt und starte diese dann über fhem. Den Namen kannst dann mit get <device> favourites auslesen. Werden dann in ein Reading geschrieben.


    Gesendet von iPhone mit Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 13 November 2016, 10:07:39
    War die Antwort an mich gemeint mit den Favoriten?
    Titel: Antw:Sonos steuern
    Beitrag von: AmunRe am 13 November 2016, 11:55:48
    Zitat von: visionsurfer am 13 November 2016, 10:07:39
    War die Antwort an mich gemeint mit den Favoriten?
    Ja, ich hatte falsch zitiert.


    Gesendet von iPhone mit Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 03 Dezember 2016, 12:10:39
    Hallo,

    ich habe folgendes Problem:

    an meinem Sonos-Player ist am externen Eingang ein SAT-Receiver angeschlossen. Sagen wir mal, die aktuelle Abspiellautstärke am Sonos-Player ist 60, da der SAT-Receiver  ein relativ schwaches Signal liefert.
    Nun unterbreche ich die aktuelle Wiedergabe mit dem "Speak" - Befehl (es wird intern playURItemp aufgerufen), um eine Durchsage auszugeben. Danach sollte  ja wieder die alte Lautstärke von 60 wieder eingestellt werden.
    Tu es aber nicht. Die Lautstärke wird auf 25 eingestellt.
    In der Routine, die playURITemp behandelt, steht folgndes:
             $old{Volume} = $SONOS_GroupRenderingControlProxy{$udn}->GetGroupVolume(0)->getValue('CurrentVolume');
    # Elektrolurch
    SONOS_Log ($udn,1," alte Gruppenlautstaerke: " . $old{Volume});

    Da wird schon die Lautstärke mit 25 abgeholt und nicht, wie ReadingsVal('Player','Volume','') -> 60 liefert.
    Der Player ist auch nicht gruppiert. Möglicherweise hat es was damit zu tun, dass der Player den externen Eingang abspielt.

    Elektrolurch
     

    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 07 Dezember 2016, 09:43:15
    Hallo Reinerlein,


    gibt es bereits Pläne die Audioausgabe auf die neue Spotify Direct Play Funktion hin abzustimmen (ist gestern mit Sonos v7.0 allgemein verfügbar geworden)?
    Aktuell wird die Audioausgabe nach einer Durchsage nicht wieder angestartet, wenn man gerade Spotify Direct Play verwendet.




    Gruß
    Julian
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 07 Dezember 2016, 11:24:55
    Hallo Reinerlein

    Seit einiger Zeit habe ich folgende Meldung in meinem Log:
        Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 5396 thread 1.

    Hat Jemand dies auch, bzw. an was könnte dies liegen?

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Bernhard-IN am 10 Dezember 2016, 11:55:38
    Servus,

    ich hoffe dass ich hier richtig bin...ich suche eine Möglichkeit, den Set Sonos_Raum speak 45 de Blabla Text...bequemer über ein Webformular an fhem zu senden.

    Es sollte der Raum, die Lautstärke und der Text gewählt werden können.
    Die Auswahl der Räume und Lautstärke soll über Dropdown Menü gewählt werden.

    Leider komme ich trotz Suche nicht weiter. Kann mir jemand auf die Sprünge helfen?


    Gruß Bernhard-IN
    Titel: Antw:Sonos steuern
    Beitrag von: RadioJames am 11 Dezember 2016, 08:53:06
    Hallo,

    ich möchte auch eine Fehlermeldung in den Raum stellen, die in meinem Log sehr häufig vorkommt:

    "Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 1."

    Sie kommt aus der Funktion _createDevice im Modul ControlPoint.pm. Hat jemand eine Idee, was hier schiefgeht oder wie ich dem Ganzen weiter auf die Spur kommen kann?

    Grüße
    James
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 Dezember 2016, 21:43:46
    Hallo zusammen,

    @James:
    du könntest die Zeile 309 (die mit der Loading-Device-Fehlermeldung) in folgendes umschreiben:

    carp("Loading device description failed with error: " . $response->code . " " . $response->message . ' (Location: ' . $location . ')') if ($response->code != 200);

    Damit erhältst du eine Angabe der Ziel-IP-Adresse, und kannst diese u.U. auf die Ignored-Liste setzen...

    @Julian:
    Das muss ich erstmal bei mir zum Laufen bringen. Das hatte bei mir nicht auf Anhieb geklappt. Dann schaue ich mal, was das Modul damit so macht :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Dezember 2016, 23:50:26
    Hallo Julian,

    mal ein Zwischenstand:
    Das mit Spotify Directplay ist ein Problem.
    Ich bekomme zwar die Info, dass DirectSound gerade aktiv ist (und setze jetzt auch ein passendes Reading dazu), kann aber nicht vom Player aus die Wiedergabe vom Smartphone/Tablet aus wieder anstarten... ist eigentlich ja auch logisch, da dazu ein Zugriff auf das entsprechende Gerät erfolgen müsste...

    Was ich machen kann, ist den gerade abgespielten Titel wieder weiterlaufen zu lassen (da die Spotify-ID des Titels ja bekannt ist). Die Verbindung zu Spotify Connect dürfte aber verloren sein.
    Ich muss mal probieren, was dann mit dem nächsten Titel so passiert. Es sieht so aus, als würde die normale Wiedergabeliste weitergehen...

    Ich probiere mal weiter...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 16 Dezember 2016, 08:43:59
    Hi Reiner,


    danke fürs Update :-)
    Wenn die den Wechsel zurück zur Spotify Connect Liste nicht vorgesehen haben wäre das natürlich suboptimal :-/
    Andere Spotify Connect fähige Geräte können das, wenn Spotify einmal über einen Spotify Client angestoßen wurde und dieser noch im Netzwerk auffindbar ist und läuft (z.B. mein ONKYO Receiver). Ich wünschte ich hätte das noch während der Beta an Sonos melden können, aber da konnte ich ja hier noch nichts drüber sagen... :-/


    In der aktuellen Beta wird aber auch noch daran geschraubt, wenn wir das also etwas genauer beschrieben kriegen, dann kann ich das nochmal in die Community dort mit einbringen.




    Gruß
    Julian

    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 16 Dezember 2016, 22:55:50
    Hallo,

    ich weiß nicht ob ich hier richitg bin...

    Ich habe die Frage bereits in einem neu eröffnetem Thread vor einigen Tagen bereits erwähnt, aber keine Antwort bekommen:

    Habe von dem Sonos Modul Zeilen Lange Errors...

    Habe keine Ahnung was das Modul mir mitteilen willl, hat da jemand eine Idee?

    Loading device description failed with error: 500 Status read failed: Connection reset by peer at ./FHEM/00_SONOS.pm line 3747 thread 13.
    Loading device description failed with error: 500 Status read failed: Connection reset by peer at ./FHEM/00_SONOS.pm line 3747 thread 13.
    Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 13.
    Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 13.
    Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 13.
    Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 13.
    Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 13.
    Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 13.
    Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 13.
    Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 13.


    Danke und Grüße

    Felix
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Dezember 2016, 02:55:54
    Hallo Felix,

    du könntest testweise die weiter oben beschriebene Log-Ausgabenerweiterung einbauen, um die IP-Adresse zu sehen, bei der das Problem auftritt.
    Dann weißt du erstmal etwas mehr...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 17 Dezember 2016, 15:13:12
    Zitat von: Reinerlein am 17 Dezember 2016, 02:55:54
    Hallo Felix,

    du könntest testweise die weiter oben beschriebene Log-Ausgabenerweiterung einbauen, um die IP-Adresse zu sehen, bei der das Problem auftritt.
    Dann weißt du erstmal etwas mehr...

    Grüße
    Reiner

    Habe bisher nur einen Sonos, und von dem kenne ich die IP. ALso ist das nicht nötig.

    Was hat denn der Error zu bedeuten? Kann man den Error einfach aus dem Log löschen, bzw blockieren dass er nicht mehr ins log geschrieben wird? Falls ja, wie?

    Danke und Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Dezember 2016, 15:17:33
    Hallo Felix,

    doch, das könnte wichtig sein. Es ist überhaupt nicht sicher, dass die Fehlermeldung von deinem Player herrührt. Es könnte auch eine Fremdkomponente sein, die sich auf die Sonos-Suchmeldung hin meldet, und dann natürlich nicht wie ein Sonos-Player steuern läßt.
    Das wäre das, was erstmal ausgeschlossen werden muss...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 17 Dezember 2016, 15:22:16
    Zitat@James:
    du könntest die Zeile 309 (die mit der Loading-Device-Fehlermeldung) in folgendes umschreiben:

    carp("Loading device description failed with error: " . $response->code . " " . $response->message . ' (Location: ' . $location . ')') if ($response->code != 200);

    Damit erhältst du eine Angabe der Ziel-IP-Adresse, und kannst diese u.U. auf die Ignored-Liste setzen...

    Achso, ok verstehe.

    Sorry für die dumme Frage, aber wo muss ich die Zeile hinzufügen? In der Sonos 00_Sonos.pm?
    Titel: Antw:Sonos steuern
    Beitrag von: octek0815 am 17 Dezember 2016, 17:44:40
    Zitat von: uniqueck am 17 April 2016, 19:44:11
    Cover wird bei mir nicht richtig angezeigt.

    Das Cover kommt von Amazon Music Bibliothek.

    http://192.168.178.61:1400/getaa?s=1&u=x-sonos-http%3aamz%3atr%3a3b8d75d8-ef86-4b39-8f37-26ccbf93f456.mp3%3fsid%3d26%26flags%3d8224%26sn%3d1 (http://192.168.178.61:1400/getaa?s=1&u=x-sonos-http%3aamz%3atr%3a3b8d75d8-ef86-4b39-8f37-26ccbf93f456.mp3%3fsid%3d26%26flags%3d8224%26sn%3d1)

    Im Browser, meldet die Console 404 Resource nicht vorhanden.

    Das Cover wird mir in der Sonos App aufm Handy allerdings angezeigt.

    Anbei auch ein list des entsprechenden Sonos devices.


    Internals:
       CFGFN
       DEF        RINCON_5CAAFD2E695E01400_MR
       NAME       Sonos_Schlafzimmer
       NR         12089
       NTFY_ORDER 50-Sonos_Schlafzimmer
       STATE      appeared
       TYPE       SONOSPLAYER
       UDN        RINCON_5CAAFD2E695E01400_MR
       Readings:
         2016-04-17 19:37:53   AlarmList       {'15' => {'Recurrence_Saturday' => 0,'ProgramURI' => 'x-rincon-cpcontainer:0004206camz%3aaal%3aSCHILLER%3aFUTURE','Duration' => '02:00:00','Recurrence_Once' => 1,'Enabled' => '0','Recurrence_Wednesday' => 0,'IncludeLinkedZones' => '0','Shuffle' => 1,'Recurrence_Tuesday' => 0,'Recurrence_Sunday' => 0,'Recurrence_Friday' => 0,'Recurrence_Thursday' => 0,'ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="0004206camz%3aaal%3aSCHILLER%3aFUTURE" parentID="000d2064browse%3aalbums" restricted="true"><dc:title>Future</dc:title><upnp:class>object.container.album.musicAlbum</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON6663_X_#Svc6663-0-Token</desc></item></DIDL-Lite>','StartTime' => '06:00:00','RoomUUID' => 'RINCON_5CAAFD2E695E01400','Volume' => '25','Recurrence_Monday' => 0,'Repeat' => 0},'13' => {'Recurrence_Saturday' => 0,'ProgramURI' => 'x-rincon-cpcontainer:0004206camz%3aaal%3aSCHILLER%3aFUTURE','Duration' => '02:00:00','Recurrence_Once' => 0,'Enabled' => '0','Recurrence_Wednesday' => 1,'IncludeLinkedZones' => '0','Shuffle' => 1,'Recurrence_Tuesday' => 1,'Recurrence_Sunday' => 0,'Recurrence_Friday' => 1,'Recurrence_Thursday' => 1,'ProgramMetaData' => '<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="0004206camz%3aaal%3aSCHILLER%3aFUTURE" parentID="000d2064browse%3aalbums" restricted="true"><dc:title>Future</dc:title><upnp:class>object.container.album.musicAlbum</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON6663_X_#Svc6663-0-Token</desc></item></DIDL-Lite>','StartTime' => '07:45:00','RoomUUID' => 'RINCON_5CAAFD2E695E01400','Volume' => '25','Recurrence_Monday' => 0,'Repeat' => 0}}
         2016-04-17 19:37:53   AlarmListIDs    13,15
         2016-04-17 19:37:53   AlarmListVersion RINCON_5CAAFD2E5FF801400:19
         2016-04-17 19:37:50   AlarmRunning    0
         2016-04-17 19:37:50   AlarmRunningID
         2016-04-17 19:37:46   Balance         0
         2016-04-17 19:37:54   Bass            0
         2016-04-17 19:37:50   CrossfadeMode   0
         2016-04-17 19:37:53   DailyIndexRefreshTime
         2016-04-17 19:37:53   FavouritesVersion RINCON_5CAAFD2E5FF801400,3
         2016-04-17 19:37:53   GroupMute       0
         2016-04-17 19:37:53   GroupVolume     17
         2016-04-17 19:37:50   HeadphoneConnected 0
         2016-04-17 19:37:46   IsMaster        1
         2016-04-17 19:37:54   Loudness        1
         2016-04-17 19:37:53   MasterPlayer    Sonos_Schlafzimmer
         2016-04-17 19:37:50   Mute            0
         2016-04-17 19:37:54   OutputFixed     0
         2016-04-17 19:37:54   PlaylistsVersion RINCON_5CAAFD2E5FF801400,12
         2016-04-17 19:37:54   QueueHash       4d21c7be70b0c659b341c1999f04837a
         2016-04-17 19:37:54   QueueVersion    11
         2016-04-17 19:37:54   RadiosVersion   RINCON_5CAAFD2E5FF801400,3
         2016-04-17 19:37:50   Repeat          0
         2016-04-17 19:37:50   RepeatOne       0
         2016-04-17 19:37:50   Shuffle         0
         2016-04-17 19:37:46   SlavePlayer     []
         2016-04-17 19:37:50   SleepTimer      off
         2016-04-17 19:37:49   SleepTimerVersion
         2016-04-17 19:37:54   SubEnable       1
         2016-04-17 19:37:54   SubGain         0
         2016-04-17 19:37:54   SubPolarity     0
         2016-04-17 19:37:54   Treble          0
         2016-04-17 19:37:54   TruePlay        0
         2016-04-17 19:37:46   Volume          17
         2016-04-17 19:37:53   ZoneGroupID     RINCON_5CAAFD2E695E01400:__
         2016-04-17 19:37:50   currentAlbum    Cave Rave
         2016-04-17 19:37:50   currentAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_AlbumArt.jpg
         2016-04-17 19:37:50   currentAlbumArtURL http://192.168.178.64:1400/getaa?s=1&u=x-sonos-http%3aamz%3atr%3a9590dd12-ed47-4c3a-bd84-18484f4383fa.mp3%3fsid%3d26%26flags%3d8224%26sn%3d1
         2016-04-17 19:37:50   currentAlbumArtist Crystal Fighters
         2016-04-17 19:37:50   currentArtist   Crystal Fighters
         2016-04-17 19:37:46   currentNormalAudio 1
         2016-04-17 19:37:50   currentOriginalTrackNumber
         2016-04-17 19:37:50   currentSender
         2016-04-17 19:37:50   currentSenderCurrent
         2016-04-17 19:37:50   currentSenderInfo
         2016-04-17 19:37:46   currentStreamAudio
         2016-04-17 19:37:50   currentTitle    Wave
         2016-04-17 19:37:46   currentTrack    1
         2016-04-17 19:37:46   currentTrackDuration 0:03:29
         2016-04-17 19:37:46   currentTrackPosition 0:00:00
         2016-04-17 19:37:46   currentTrackProvider Amazon Music
         2016-04-17 19:37:50   currentTrackURI x-sonos-http:amz%3atr%3a9590dd12-ed47-4c3a-bd84-18484f4383fa.mp3?sid=26&amp;flags=8224&amp;sn=1
         2016-04-17 19:37:46   fieldType
         2016-04-17 19:37:50   infoSummarize1  (Crystal Fighters) 'Wave' vom Album 'Cave Rave'
         2016-04-17 19:37:50   infoSummarize2  STOPPED => (Crystal Fighters) 'Wave' vom Album 'Cave Rave'
         2016-04-17 19:37:50   infoSummarize3  Lautstärke: 17 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2016-04-17 19:37:50   infoSummarize4
         2016-04-17 19:37:46   location        http://192.168.178.64:1400/xml/device_description.xml
         2016-04-17 19:37:50   nextAlbum       Cave Rave
         2016-04-17 19:37:50   nextAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_NextAlbumArt.jpg
         2016-04-17 19:37:50   nextAlbumArtURL http://192.168.178.64:1400/getaa?s=1&u=x-sonos-http%3aamz%3atr%3a30871f3e-8d6d-437d-95f4-3c5760a2d947.mp3%3fsid%3d26%26flags%3d8224%26sn%3d1
         2016-04-17 19:37:50   nextAlbumArtist
         2016-04-17 19:37:50   nextArtist      Crystal Fighters
         2016-04-17 19:37:50   nextOriginalTrackNumber
         2016-04-17 19:37:50   nextTitle       LA Calling
         2016-04-17 19:37:50   nextTrackDuration 0:03:49
         2016-04-17 19:37:50   nextTrackProvider Amazon Music
         2016-04-17 19:37:50   nextTrackURI    x-sonos-http:amz%3atr%3a30871f3e-8d6d-437d-95f4-3c5760a2d947.mp3?sid=26&amp;flags=8224&amp;sn=1
         2016-04-17 19:37:46   numberOfTracks  10
         2016-04-17 19:37:46   playerType      S1
         2016-04-17 19:37:46   presence        appeared
         2016-04-17 19:37:53   roomIcon        masterbedroom
         2016-04-17 19:37:46   roomName        Schlafzimmer
         2016-04-17 19:37:46   roomNameAlias   Schlafzimmer
         2016-04-17 19:37:46   saveRoomName    Schlafzimmer
         2016-04-17 19:37:46   serialNum       5C-AA-FD-2E-69-5E:5
         2016-04-17 19:37:46   softwareRevision 6.2
         2016-04-17 19:37:50   state           appeared
         2016-04-17 19:37:46   transportState  STOPPED
    Attributes:
       alias      Schlafzimmer
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       group      Schlafzimmer
       icon       icoSONOSPLAYER_icon-S1.png
       minVolume  0
       model      Sonos_S1
       room       Sonos
       sortby     1
       stateVariable Presence
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }


    Hi,

    die Cover von Prime Music werden bei mir leider auch nicht angezeigt. Gibt es hierfür inzwischen eine Lösung?

    Grüße
    Olli
    Titel: Antw:Sonos steuern
    Beitrag von: RadioJames am 18 Dezember 2016, 21:03:11
    Hallo Reinerlein,

    Zitat@James:
    du könntest die Zeile 309 (die mit der Loading-Device-Fehlermeldung) in folgendes umschreiben:
    Code: [Auswählen]

    carp("Loading device description failed with error: " . $response->code . " " . $response->message . ' (Location: ' . $location . ')') if ($response->code != 200);

    Damit erhältst du eine Angabe der Ziel-IP-Adresse, und kannst diese u.U. auf die Ignored-Liste setzen...

    Danke schön, hab den bzw. einen der Übeltäter erwischt. Es ist mein Sat-Receiver.
    Habe die IP, wie von dir geraten, im SONOS Device unter dem Attribut ignoredIPs gespeichert. Jetzt sollte Ruhe sein  :)
    Die entsprechende Stelle im Wiki hab ich inzwischen auch gefunden.

    @Fixel2012:
    Es ist Zeile 309 im Modul 'ControlPoint.pm' (Funktion '_createDevice'), die du ändern musst. Das Modul befindet sich im Ordner '/opt/fhem/FHEM/lib/UPnP'

    Grüße James
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 19 Dezember 2016, 21:49:40
    Zitat von: RadioJames am 18 Dezember 2016, 21:03:11
    Hallo Reinerlein,

    Danke schön, hab den bzw. einen der Übeltäter erwischt. Es ist mein Sat-Receiver.
    Habe die IP, wie von dir geraten, im SONOS Device unter dem Attribut ignoredIPs gespeichert. Jetzt sollte Ruhe sein  :)
    Die entsprechende Stelle im Wiki hab ich inzwischen auch gefunden.

    @Fixel2012:
    Es ist Zeile 309 im Modul 'ControlPoint.pm' (Funktion '_createDevice'), die du ändern musst. Das Modul befindet sich im Ordner '/opt/fhem/FHEM/lib/UPnP'

    Grüße James

    Danke euch beiden!

    Das Problem verursachte ein Router im ersten Stock...

    Habe nun auch das Attribut ignoredIps gesetzt, mal schauen ob geholfen hat!

    Grüße Felix
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Dezember 2016, 22:15:21
    Hi,

    schön, dass die Log-Ausgabe geholfen hat. Ich habe sie auch in den Code übernommen, sodass auch andere in Zukunft diese Info vorfinden werden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 20 Dezember 2016, 08:54:40
    Hi,
    Auf meinem FHEM-Server sind auch iptables aktiviert da noch jede Menge anderes Zeugs drauf läuft und dieser Von Außen zugänglich ist.
    Problem ist nun, das mit aktivierten IP-Tables die Sonos Connection gestört ist. Ohne aktivierte IPTables wird mein Player bei einem RescanNetwork sofort gefunden, auch alle Steuerungen zum Player funktionieren.
    Mit aktivierten IPTables funktioniert beides nicht. Irgendwann steht der Player auf disappered.

    Da ich in den letzten Tagen an FHEM geschraubt und geupdated habe vermute ich, das am SonosModul was geändert wurde denn bis vor ein paar Tagen hat es mit den IPTables problemlos funktioniert.

    Also ist die Preisfrage: Was muss ich in den IPTables eintragen?
    In /etc/default/iptables habe ich zb. solche Einträge:
    # smtp, submission
    -A INPUT -p tcp --dport 25 -j ACCEPT
    -A INPUT -p tcp --dport 587 -j ACCEPT

    # pop3, pop3s
    -A INPUT -p tcp --dport 110 -j ACCEPT
    -A INPUT -p tcp --dport 995 -j ACCEPT

    # imap, imaps
    -A INPUT -p tcp --dport 143 -j ACCEPT
    -A INPUT -p tcp --dport 993 -j ACCEPT


    Laut Sonos wird mit diesen Protokollen/Ports gearbeitet. Was benötigt davon FHEM? Wie lautet der korrekte Eintrag?
    https://sonos.custhelp.com/app/answers/detail/a_id/692/~/configuring-your-firewall-to-work-with-sonos
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 20 Dezember 2016, 10:25:52
    Du musst noch den Multicast auf 239.255.255.250:1900 aufmachen (wikipedia upnp)
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 20 Dezember 2016, 12:32:25
    ok, verstanden... und wie müsste dann der korrekte iptables Eintrag aussehen ohne etwas kaputt bzw Tür- und Tor zu öffnen?
    zb: -A INPUT -s 239.255.255.250/24 -p udp -m udp --dport 1900 -j ACCEPT

    reicht das dann? Wer nutzt noch iptables??
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 20 Dezember 2016, 14:00:54
    Zitat von: Tobias am 20 Dezember 2016, 12:32:25
    ok, verstanden... und wie müsste dann der korrekte iptables Eintrag aussehen ohne etwas kaputt bzw Tür- und Tor zu öffnen?
    zb: -A INPUT -s 239.255.255.250/24 -p udp -m udp --dport 1900 -j ACCEPT

    reicht das dann? Wer nutzt noch iptables??

    Du ;-)

    das Discovery findet über den Port statt, worauf der dann entsprechend antwortet kann ich Dir auch nicht sagen :-) Sollten aber bestimmt genügend Beispiele im Niet zu googeln sein

    https://en.community.sonos.com/advanced-setups-229000/sonos-with-homemade-linux-routerbridge-11848

    Ansonsten Logging anwerfen und schauen welche Pakete geblockt werden
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 21 Dezember 2016, 10:45:46
    So, jetzt hab ich es hinbekommen... in /etc/default/iptables bzw /etc/sysconfig/iptables muss folgendes drinstehen:

    # Sonos Kommunikation
    -A INPUT -m pkttype --pkt-type multicast -j ACCEPT
    -A INPUT -s 224.0.0.0/8 -j ACCEPT

    # alles im lokalen LAN
    -A INPUT -s 192.168.0.0/16 -j ACCEPT


    Wär was fürs Wiki ;)
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 21 Dezember 2016, 11:23:54
    Hi,
    ich habe hier ein komisches Problem...
    Ich habe meine Musiksammlung im NAS und über meinen Webserver im lokalen Netz freigegeben.
    Meine Playlist liegt im cache Verzeichnis von fhem und sieht zb so aus:
    http://192.168.10.30/music/Deutsch/Ich&Ich_-_Vom_Selben_Stern/Ich_und_Ich__-__Ich_atme_ein,_ich_atme_aus.mp3
    Meinen Sonosplayer starte ich an mit: set <player> StartPlaylist file:cache/playlist.m3u

    Allerdings wird nichts abgespielt :(

    Liegt in der Playlist dieser Pfad vor, wird die playlist korrekt abgespielt:
    \\NAS/music/Deutsch/Ich&Ich_-_Vom_Selben_Stern/Ich_und_Ich__-__Ich_atme_ein,_ich_atme_aus.mp3

    Der über den Webserver freigegebene Datei wird auf meinem Laütop sauber  geladen und abgespielt.
    Aufgefallen ist noch, das der Sonos "currentTrackProvider" von "Bibliothek" auf "Radio" springt. Ev. hängt es damit auch zusammen.

    Ist das ein kleiner Bug im Sonos Modul?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Dezember 2016, 11:36:51
    Hallo Tobias,

    da die Playliste nicht von Sonos selbst verstanden wird, interpretiere ich die selber.
    Dabei sind Einträge die mit "http://" beginnen automatisch Streams.

    Als Grundlage kann hier das Verhalten bei PlayURI herangezogen werden, da diesselben Erkennungsprozeduren verwendet werden...
    Das Sonos-System basiert auf Windows-UNC-Freigaben für direktes Abspielen von Dateien und http-Streams für Radiostreams...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 21 Dezember 2016, 13:52:34
    Hallo Rainer, danke für die Antwort.
    Das heißt also das das Sonsos System die per http bereitgestellten dateien garnicht abspielen kann?

    Ok, dann muss in meinem MediaList Modul bzgl den Pfadumformatierungen von fhem-lokalen Pfad zu MP3 Datei und Cover unterscheiden.
    Eine jpg Datei kann ich in tabletUI nicht mit UNC Freigabe einbinden.. ;)
    Titel: Antw:Sonos steuern
    Beitrag von: bruece-lee am 22 Dezember 2016, 12:34:43
    Hallo,

    ich hätte noch eine Frage zur Sprachausgabe und hoffe, dass mir jemand mit Linux-Kenntnissen weiterhelfen kann.
    Ich nutze derzeit die Sprachausgabe wie im Wiki beschrieben und die funktioniert erstmal prima. Speak1 ist wie folgt definiert:

    mp3:/usr/bin/espeak -v %language% --stdout "%text%" | /usr/bin/avconv -i - %filename%

    Nun habe ich pico2wave getestet und finde, dass die Stimme natürlicher und freundlicher klingt und würde gerne darauf wechseln. Was ist bereits erfolgreich hinbekommen habe, ist die Installation und eine Sprachausgabe mittels .wav-Datei unter Speak2:

    wav:/usr/bin/pico2wave --lang %language% --wave %filename% "%text%"

    Kann mir jemand einen Tipp geben, wie ich das Wav-File in ein Mp3 File umwandeln kann wie im oberen Beispiel mit espeak? Das Problem was ich sehe ist, dass pico2wave den umgewandelten Text nur direkt in eine .wav-Datei schreiben und das Ergebnis nicht auf "stout" ausgeben kann. Somit kann ich den Pipe Operator nicht einfach benutzen oder habe ich da einen Denkfehler?

    Gibt es jemanden, der pico2wave in Kombination mit avconv bereits im Einsatz hat?

    Danke und Gruß,
    Bruece-Lee
    Titel: Antw:Sonos steuern
    Beitrag von: speex am 22 Dezember 2016, 13:42:20
    Hi Bruece-lee

    ich habe einen ähnlichen Anwendungsfall in zusammenhang mit Telegram um Sprachnachrichten zuhause über Sonos auszugbeen.

    Telegram Sprachnachrichten sind im ogg Format deshalb bin ich mir nicht sicher ob der avconv auzch wav files packt, lange rede kurzer sinn.

    Zuerst gibt es bei mir ein Notify das auf Telegram reagiert wenn ich dort eine Sprachnachricht hinschicke:
    teleBot:msgText:.received.voice.* {
      my $folder = "/opt/fhem/SonosSpeak/";
      my $fhemip = "192.168.1.119/SonosSpeak/";
      my $url = fhem("get $NAME urlForFile ".ReadingsVal($NAME, 'msgFileId', ''));
      my $fileName = "${NAME}_$1" if ($url =~ m/.*\/(.*)/);
      my $newFileName = "$1.mp3" if ($fileName =~ m/(.*)\..*/);

      writeFile($folder.$fileName, get($url));
      qx(/usr/bin/avconv -i $folder$fileName $folder$newFileName);
      fhem('set '.ReadingsVal($NAME, 'currentSpeakPlayer', 'Sonos_Epizentrum').' PlayURITemp \\\\'.$fhemip.$newFileName.' '.ReadingsVal($NAME, 'currentSpeakVolume', 35));
    }


    Die Variablen $fhemip und $folder an die eigenen Gegenbenheiten anpassen sowie Sonos_Epizentrum.

    In der 99_myutils habe ich dann noch folgende sub die die datei als mp3 schreibt.

    # Telegram sprachnachrichten schreib prozedur
    sub writeFile($$) {
    my ($fileName, $data) = @_;

    open IMGFILE, '>'.$fileName;
    binmode IMGFILE;
    print IMGFILE $data;
    close IMGFILE;
    }


    Ich muss gestehen ich hab mir das hier selber zusammengepfuscht im forum und wenn es da verbesserungen gibt immer her damit. :)

    Du musst das auf jeden fall auf deine Bedürfnisse anpassen aber dann sollte es m.E. kein problem sein die wav. dateien in mp3`s umzuwandeln.

    Beste Grüße und viel erfolg :)
    Titel: Antw:Sonos steuern
    Beitrag von: bruece-lee am 22 Dezember 2016, 14:08:25
    Hallo speex,

    vielen Dank für die ausführliche Beschreibung! Ich bin noch gar nicht auf die Idee gekommen, Sonos mit Telegram zu verbinden.... Sollte ich auch mal drüber nachdenken, guter Ansatz  :D

    Was ich derzeit mache ist aber eigentlich noch eine Spur einfacher. Ich möchte eine simple text2speech Ausgabe erzeigen und dafür die Speak-Funktion benutzen.
    Entscheident dafür ist, dass im Sonos Player Modul das Attribut speak1, speakt2..etc korrekt gesetzt ist, im Beispiel von espeakt wie oben angegeben mit:

    mp3:/usr/bin/espeak -v %language% --stdout "%text%" | /usr/bin/avconv -i - %filename%

    Dann reicht ein set sonos_wohnzimmer speak1 40 -vde "zu sprechender Text" für die Erzeugung einer .wav-Datei, die Umwandlung in Mp3 und das Abspielen. Leider habe ich noch nicht verstanden, wie ich am Beispiel von pico2wave das avconv mit in die Attribut Definition bekomme.

    Sollte das nicht funktionieren, werde ich versuchen, Deine Logik für meine Zwecke umzubauen oder muss damit leben, dass der Text nur als .wav umgewandelt wird.

    Viele Grüße, Bruece-lee
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Dezember 2016, 15:52:24
    Hi Bruece-lee,

    hast du es schon mal mit der Stdout-"Datei" versucht?
    Also:

    mp3:/usr/bin/pico2wave --lang %language% --wave /dev/stdout "%text%" | /usr/bin/avconv -i - %filename%


    Alternativ kannst du auch über eine temporäre Datei gehen:

    mp3:/usr/bin/pico2wave --lang %language% --wave /tmp/speak1.wav "%text%" && /usr/bin/avconv -i /tmp/speak1.wav %filename%
    würde aber die Pipe bevorzugen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Sturi2011 am 22 Dezember 2016, 17:00:22
    Hallo Reiner,

    erstmal vielen Dank für das tolle Modul.

    Gibt es eine Möglichkeit, die aktuelle Playlist (allte Tracks) eines Players auszulesen?
    Also quasi seine Queue auszulesen? Vermutlich habe ich das in der Unmenge Wiki und Threads nur nicht gefunden.
    Für einen Tip wäre ich dankbar.

    Gruß Andreas
    Titel: Antw:Sonos steuern
    Beitrag von: bruece-lee am 22 Dezember 2016, 17:45:28
    Hallo Reiner,

    danke für den Tipp!Variante 1 mit Pipe funktioniert leider nicht, dafür aber Variante 2! Die habe ich jetzt umgesetzt.

    Viele Grüße,
    Bruece-Lee

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Dezember 2016, 19:33:46
    Hi Andreas,

    dazu ist der Befehl "SavePlaylist" da. Dieser kann die aktuelle Abspielliste als Sonos-Playliste ablegen, aber auch einen Dateinamen verwenden und das als m3u-Liste ablegen.
    Parameter in der Commandref oder im Wiki :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Sturi2011 am 22 Dezember 2016, 21:58:11
    Hallo Reiner,

    das mit dem file: hatte ich übersehen. Das hilft mir schon weiter - danke. Gibt es ohne zurücklesen der M3U auch die Möglichkeit die Daten direkt in ein Reading oder einen Dummy zu überführen also quasi

    $result = $SONOS_ContentDirectoryControlProxy{$udn}->Browse('Q:0', 'BrowseDirectChildren', '', $startIndex, 0, '');
                            my $queueSongdata = $result->getValue('Result');
    direkt in ein reading am Sonos zu schreiben oder in einen frei definierbaren Dummy?

    Gruß Andreas
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Dezember 2016, 00:38:39
    Hi Andreas,

    momentan gibt es dafür keine direkte Möglichkeit.
    Es gibt noch die Funktion des Exports der gesamten Sonos-Bibliothek. Das hilft dir aber nicht für die aktuelle Abspielliste...

    Für was möchtest du die Liste denn haben?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 23 Dezember 2016, 06:18:55
    Hi reiner,
    Ich habe gesehen das du Im Modul auch eine text2speech Funktionalität drin hast. Macht es nicht mehr sinn dass text2speech Modul für Sonos  als neues target Device aufzupimpen als die Funktion doppelt in fhem zu haben? Nur eine Idee....

    Gesendet von meinem Leap mit Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Dezember 2016, 10:00:20
    Hi Tobias,

    ich habe mich mit dem Text2Speech-Modul bisher nicht beschäftigt, und kann daher nicht sagen, was nötig wäre, um das zusätzlich zu ermöglichen (der bisherige Weg sollte ja auf jeden Fall bestehen bleiben).

    Was sowieso schon geht, ist der Befehl "playURITemp", der auch intern für die Sprachdurchsage verwendet wird. Mit diesem kannst du eine Audiodatei zwischenabspielen lassen.
    Was genau macht Text2Speech denn mit der erzeugten Audiodatei?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Sturi2011 am 23 Dezember 2016, 10:17:43
    Hallo Reiner,

    vielleicht zu meiner Art mit dem Sonossystem umzugehen:
    Ich habe einige Streamingdienste aboniert. Oft füge ich einfach eine
    vorgeschlagene Playliste von z.B. Prime zu den Sonos Playlisten hinzu.
    Dies mache ich über die Sonos app. Ich lasse mich gerne von den
    Suchvorschlägen überraschen - sie basieren ja auf meinen Einkäufen
    und passen ganz gut. Ich stöbere dann mit dem Handy oder Tablet
    von der Couch einfach in den Playlisten meiner Anbieter.

    Ziel der Playlist Ansicht ist, die Playlist als Popup auf den Bedienpanels
    (Tablet UI) in den Jeweiligen Räumen öffnen zu können um zum Beispiel zu Titel
    x zu springen oder eben einfach schnell eine Übersicht zu haben.

    Ich stelle mir das so vor: Playlist auswählen -> Notify füllt Reading eines Dummy mit Playlist.
    Im FTUI steht das Popup mit der Playlist zur Verfügung. Hier wäre dann etwas ähnliches
    wie Tobias sein Medialist widget schön. Vielleicht kann ich das mit Ihm erweitern oder was
    eigenes zusammenschreiben.  Auch ein Rückspeichern der jeweiligen Playlist mit SavePlaylist
    also die Möglichkeit, die Playlist direkt zu bearbeiten und zu überschreiben wäre dann denkbar.


    Gruß Andreas
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 23 Dezember 2016, 11:43:53
    Bitte nicht verwechseln, das FTUI Medialist Widget ist von setstate, das gleichnamige FHEM-Modul (welches das Reading für setstate´s FTUI widget bereitstellt) ist von mir
    Mir ging es darum, per FTUI spontan ein Album aus meiner >40.000 Titel großen lokalen Musiksammlung auszuwählen und per sonos abzuspielen
    Titel: Antw:Sonos steuern
    Beitrag von: Sturi2011 am 23 Dezember 2016, 12:36:40
    Hi Tobias,

    soweit verstanden, nur muss ich das FTUI widget ja auch irgendwie füttern.
    Auf meinem Server liegt auch genug gekaufte Musik. Ich finde jedoch auch in den Playlisten der Streaminganbieter immer wieder neue un durchaus interessante Stücke. Daher meine Hoffnung, das in meine Tablets zu integrieren. Noch eleganter wäre natürlich die playlisten der Anbieter direkt in der FTUI zu sehen und diese dann mit SavePlaylist dem Sonos zuzuschieben oder nur mit play wiederzugeben. Das würde dann wirklich die Sonos app ersparen.

    Gruß Andreas
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 23 Dezember 2016, 12:41:21
    Hallo,

    ich hab eine kurze Frage:

    Ich hab mir eine weitere Play 1 Box gegönnt. Diese hab ich über die App eingerichtet. Sie ist in der Sonos App im Raum Schlafzimmer.
    In Fhem wurde die Box auch kurze Zeit später erkannt.

    Die Box steht in FHEM aber als Unnamed_Room ? Ich kann mich nicht mehr erinnern, ob das bei meinen beiden anderen Boxen auch so war und ich die unbenannt habe ? Ich hatte gedacht, FHEM nimmt automatisch den Namen, vom Raum, wo ich die Box eingerichtet habe. Also er übernimmt es aus der Sonos App ?

    Muss ich die Box noch per Hand vom Namen ändern ?

    Grüße,
    Visionsurfer
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 23 Dezember 2016, 12:44:30
    beim einbinden einer neuen box ist es am. wagen vorher sonos in fhem zu deaktivieren. sonst erkenn fhem die neue box bevor du sie in der sonos app fertig konfiguriert hast.

    am einfachsten ist es wenn du sie in fhem einfach noch mal löschst und sie neu anlegen lässt.

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 23 Dezember 2016, 12:50:46
    Hi,

    cool. O.K.
    Also einfach in FHEM löschen. Warten und dann müsste er Sie ja noch mal sauber erkennen, oder ?

    Noch eine andere Frage:

    Gibt es zufällig außer im Wiki noch ein Tutorial oder ein paar Beispiele wie man mit Sonos in FHEM arbeitet. Ich habe alle Boxen eingerichtet und nutze es aktuell nur für die Sprachausgabe.
    Ich möchte aber nun das ganze wirklich auch mal Sinnvoll nutzen.

    Ich habe schon in der App ein paar Musiklisten angelegt. Nun würde ich das ganze gerne im Zusammenhang mit dem Residents Modul nutzen. Also wenn z.B. wenn Status "gotosleep" gesetzt wird, soll Sonos Schlafzimmer mit der Playliste XY auf Lautstärke XY starten. Wenn sich der Status zu "sleep" ändert, dann würde ich gerne erreichen das noch 5 Minuten die Musik läuft und dann langsam innerhalb von Zeit XY die Lautstärke auf NULL fadet und dann die Wiedergabe stoppt.

    Das ist doch sicherlich alles machbar, oder ?

    Grüße,
    Visionsurfer
    Titel: Antw:Sonos steuern
    Beitrag von: kjmEjfu am 23 Dezember 2016, 13:46:54
    Zitat von: visionsurfer am 23 Dezember 2016, 12:50:46
    Das ist doch sicherlich alles machbar, oder ?

    ja!
    Titel: Antw:Sonos steuern
    Beitrag von: l2r am 23 Dezember 2016, 14:08:36
    @visionsurfer:

    wenn du schon residents verwendest, dann hast du doch die ganze steuerung der  Sonos in den Makros vom ROOMate schon drin! Loredo hat ja auch sonos, somit müsstest du nur die Namen der Sonos-Devices und der Plalisten bzw. Radiostation anpassen.

    https://wiki.fhem.de/wiki/Weckautomation (https://wiki.fhem.de/wiki/Weckautomation)

    hier gibts auch noch ein paar anregungen...


    Aber schau dir mal die Makros (notifys) an, da sollte eig alles drin stehen.

    Gruß Michael
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 23 Dezember 2016, 14:25:22
    HI Andreas,
    Wenn du Spotify Playlisten hast: in der Doku der WebApi von spotify steht eigentlich alles drin..... Ist aber ziewmlich aufwändig. Dieses ist "irgendwann mal" angedacht in das MediaLIst Modul(!) zu integrieren, aber 1. fehlt mir die Zeit und 2. nutze ich kein Spotify sondern nur meine Sammlung...
    Titel: Antw:Sonos steuern
    Beitrag von: Sturi2011 am 23 Dezember 2016, 21:56:24
    Hallo Tobias,

    momentan geht es mir primär um Prime...
    Mal sehen ob es da eine API gibt.

    Gruß Andreas
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 23 Dezember 2016, 22:11:29
    Hallo,

    also ich versteh es noch nicht ganz.

    Meine Sonos Boxen sind alle angeschlossen und werden auch in FHEM gefunden.
    Nun wollte ich ausprobieren gezielt bestimmte Musik abzuspielen.

    Ich nutze aktuelle Amazon Prime Music Umlimited.

    Das heißt in der Sonos App auf meinem Handy hab ich einfach mal ein paar CD´s und Musik zu "Meine Musik" hinzugefügt. In der Sonos App sehe ich dann auch die ganzen Alben.

    Wenn ich dann in der App z.B. die Wiedergabe der Musik auf der Sonos Box im Bad starte, steht im List der Box von FHEM folgendes:


    Internals:
       CFGFN
       DEF        RINCON_5CAAFD7AA19C01400_MR
       NAME       Sonos_Bad
       NR         796
       NTFY_ORDER 50-Sonos_Bad
       STATE      appeared
       TYPE       SONOSPLAYER
       UDN        RINCON_5CAAFD7AA19C01400_MR
       Readings:
         2016-12-23 21:46:33   AlarmList       {}
         2016-12-23 21:46:33   AlarmListIDs
         2016-12-23 21:46:33   AlarmListVersion RINCON_5CAAFD7AA18401400:0
         2016-12-23 21:46:27   AlarmRunning    0
         2016-12-23 21:46:27   AlarmRunningID
         2016-12-23 21:46:26   Balance         0
         2016-12-23 21:46:37   Bass            0
         2016-12-23 21:46:27   CrossfadeMode   0
         2016-12-23 21:46:33   DailyIndexRefreshTime
         2016-12-23 21:46:36   FavouritesVersion RINCON_B8E9378097A801400,1
         2016-12-23 21:46:30   GroupMute       0
         2016-12-23 21:46:30   GroupVolume     25
         2016-12-23 21:46:27   HeadphoneConnected 0
         2016-12-23 21:46:26   IsMaster        1
         2016-12-23 21:56:29   LastActionResult GetFavourites: "Kaffee am Morgen"
         2016-12-23 21:46:37   Loudness        1
         2016-12-23 21:46:34   MasterPlayer    Sonos_Bad
         2016-12-23 21:46:27   Mute            0
         2016-12-23 21:46:37   OutputFixed     0
         2016-12-23 21:46:36   PlaylistsVersion RINCON_B8E9378098B801400,3
         2016-12-23 22:01:25   QueueHash       1f6cbb399a9a0f55f22035ebf8f42374
         2016-12-23 22:01:24   QueueVersion    4
         2016-12-23 21:46:36   RadiosVersion   RINCON_B8E9378097A801400,1
         2016-12-23 21:46:27   Repeat          0
         2016-12-23 21:46:27   RepeatOne       0
         2016-12-23 21:46:27   Shuffle         0
         2016-12-23 21:46:26   SlavePlayer     []
         2016-12-23 21:46:27   SleepTimer      off
         2016-12-23 21:46:27   SleepTimerVersion
         2016-12-23 21:46:37   SubEnable       1
         2016-12-23 21:46:37   SubGain         0
         2016-12-23 21:46:37   SubPolarity     0
         2016-12-23 21:46:37   Treble          0
         2016-12-23 21:46:37   TruePlay        0
         2016-12-23 21:46:26   Volume          25
         2016-12-23 21:46:34   ZoneGroupID     RINCON_5CAAFD7AA19C01400:__
         2016-12-23 22:01:23   currentAlbum    Entspannungsmusik, Eine musikalische Traumreise
         2016-12-23 22:01:21   currentAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Bad_AlbumArt.ERROR
         2016-12-23 22:01:23   currentAlbumArtURL http://192.168.178.62:1400/getaa?s=1&u=x-sonosapi-hls-static%3alibrary%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f88948ce8-e97f-40eb-9fea-288c600c1ada%2f%3fsid%3d201%26flags%3d8224%26sn%3d1
         2016-12-23 21:47:34   currentAlbumArtist Martin Garrix & Bebe Rexha
         2016-12-23 22:01:23   currentArtist   Wellness Pur
         2016-12-23 21:46:26   currentNormalAudio 1
         2016-12-23 21:46:27   currentOriginalTrackNumber
         2016-12-23 21:46:27   currentSender
         2016-12-23 21:46:27   currentSenderCurrent
         2016-12-23 21:46:27   currentSenderInfo
         2016-12-23 22:01:23   currentStreamAudio 0
         2016-12-23 22:01:23   currentTitle    Traumreise
         2016-12-23 22:01:23   currentTrack    1
         2016-12-23 22:01:23   currentTrackDuration 0:16:48
         2016-12-23 22:01:23   currentTrackPosition 0:00:00
         2016-12-23 21:46:26   currentTrackProvider
         2016-12-23 22:01:23   currentTrackURI x-sonosapi-hls-static:library%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f88948ce8-e97f-40eb-9fea-288c600c1ada%2f?sid=201&amp;flags=8224&amp;sn=1
         2016-12-23 21:46:26   fieldType
         2016-12-23 22:01:23   infoSummarize1  (Wellness Pur) 'Traumreise' vom Album 'Entspannungsmusik, Eine musikalische Traumreise'
         2016-12-23 22:01:28   infoSummarize2  PLAYING => (Wellness Pur) 'Traumreise' vom Album 'Entspannungsmusik, Eine musikalische Traumreise'
         2016-12-23 21:46:27   infoSummarize3  Lautstärke: 25 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2016-12-23 21:46:27   infoSummarize4
         2016-12-23 21:46:26   location        http://192.168.178.62:1400/xml/device_description.xml
         2016-12-23 22:01:23   nextAlbum       Entspannungsmusik, Eine musikalische Traumreise
         2016-12-23 22:01:23   nextAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Bad_NextAlbumArt.ERROR
         2016-12-23 22:01:23   nextAlbumArtURL http://192.168.178.62:1400/getaa?s=1&u=x-sonosapi-hls-static%3alibrary%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f7aa78a13-867c-41b8-a687-a517b676c944%2f%3fsid%3d201%26flags%3d8224%26sn%3d1
         2016-12-23 21:46:27   nextAlbumArtist
         2016-12-23 22:01:23   nextArtist      Wellness Pur
         2016-12-23 21:46:27   nextOriginalTrackNumber
         2016-12-23 22:01:23   nextTitle       Ein sonniger Tag am Meer
         2016-12-23 22:01:23   nextTrackDuration 0:07:52
         2016-12-23 21:46:27   nextTrackProvider
         2016-12-23 22:01:23   nextTrackURI    x-sonosapi-hls-static:library%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f7aa78a13-867c-41b8-a687-a517b676c944%2f?sid=201&amp;flags=8224&amp;sn=1
         2016-12-23 22:01:23   numberOfTracks  4
         2016-12-23 21:46:26   playerType      S1
         2016-12-23 21:46:26   presence        appeared
         2016-12-23 21:46:35   roomIcon        bathroom
         2016-12-23 21:46:26   roomName        Bad
         2016-12-23 21:46:26   roomNameAlias   Bad
         2016-12-23 21:46:26   saveRoomName    Bad
         2016-12-23 21:46:26   serialNum       5C-AA-FD-7A-A1-9C:C
         2016-12-23 21:46:26   softwareRevision 7.0
         2016-12-23 21:46:27   state           appeared
         2016-12-23 22:01:28   transportState  PLAYING
    Attributes:
       alias      Bad
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       group      Bad
       icon       icoSONOSPLAYER_icon-S1.png
       minVolume  0
       model      Sonos_S1
       room       Sonos
       sortby     1
       stateVariable Presence
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Bad", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Bad", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Bad", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Bad", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }


    Im meinem Resident Modul brauch ich ja diesen Befehl: set Sonos_Bedroom StartFavourite Evening%%20Chill

    Anstatt "Evening Chill" soll ja meine Playlist oder halt eine bestimmte CD abgespielt werden.

    Muss ich mit der App das Album erst zu Sonos Favoriten oder Sonos Playliste hinzufügen wählen ?
    Wie sehe ich dann die Playlist in FHEM.

    So ganz verstehe ich da noch nicht die Zusammenhänge.

    Grüße,
    Visionsurfer
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Dezember 2016, 00:13:25
    Hallo Visionsurfer,

    du kannst deine Alben sowohl als Playlist als auch als Favorit ablegen (aber nicht nur im Amazon Prime Bereich, sondern im Sonos-Verwalteten Bereich) Das unterscheidet sich dann nur in deinem Aufruf an den Player.

    Verfügbare Playlisten kannst du mit

    get Sonos_Bad Playlists
    verfügbare Favoriten mit

    get Sonos_Bad Favourites
    abfragen. Das Ergebnis landet jeweils asynchron im Reading "LastActionResult".

    Dann gibt es die entsprechenden Startmethoden dazu:

    set Sonos_Bad StartPlaylist <PlaylistNameOhneLeerzeichen>
    bzw:

    set Sonos_Bad StartFavourite <FavoritenNameOhneLeerzeichen>


    Welche Variante du verwendest bleibt dir überlassen, das hat eher was mit deiner persönlichen Vorliebe der Ordnung innerhalb von Sonos zu tun...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 24 Dezember 2016, 12:22:35
    Hi,

    ok. Cool. Danke. Jetzt hab ich es verstanden. Ich hatte die ganze Zeit gedachte ich kann es direkt aus Prime Music machen.
    Nun hab ich mal eine Playliste in der Sonos App angelegt und dort dann meine gewünschten Alben hinzugefügt und jetzt funktioniert es auch super.

    Wie bekommt man es hin, das z.B. wenn ich schlafen gehen will, die Musik langsam ausgeblendet wird ?
    Also z.B. innerhalb von 5 Minuten immer leiser wird und dann ganz gestoppt wird ?

    Geht sowas ?

    Ich habe im Wiki etwas von Crossfademode gelesen. Leider steht nicht wirklich dabei, was der kann und wie man das einsetzen kann ?
    Oder gibt es eine andere Möglichkeit ?

    Grüße,
    Visionsurfer
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Dezember 2016, 15:27:29
    Hi Visionsurfer,

    da gehen nur drei von Sonos vordefinierte Rampen.
    Hier mal der Auszug aus dem Wiki dazu:

    Volume <VolumeLevel> [RampType]: Setzt die Lautstärke auf den angegebenen Wert. Der kann eine relative Angabe mittels + oder - sein. Dann wird um die entsprechende Höhe erhöht oder verringert. Wird eine relative Lautstärke angegeben, so kann diese mit einem folgenden Prozentzeichen als anteilige Änderung ausgeführt werden (z.B. +20%). Liefert als Ergebnis die neue Lautstärke.
    Als optionaler Parameter ist ein Ramptype zulässig. Mögliche Werte sind 1 (SLEEP_TIMER_RAMP_TYPE), 2 (AUTOPLAY_RAMP_TYPE) und 3 (ALARM_RAMP_TYPE). Die Werte entsprechen verschiedenen Mustern bei der Geschwindigkeit nach oben oder unten.

    Diese Rampen sind aber eher kurz (wenige Sekunden)...

    Natürlich könntest du auch selber eine langsame Verringerung der Lautstärke bauen, solltest aber der Perfomance zuliebe nicht zuviele Änderungen der Lautstärke in zu kurzer Zeit machen.
    Aber sowas wie "Lautstärke alle 30 Sekunden um 5 Einheiten verringern" sollte klappen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: rr725 am 28 Dezember 2016, 15:38:08
    hallo, hab mich durch zig beiträge gewühlt, aber nichts gefunden, oder übersehen.
    ich hab da einmal eine frage....ich hab zwei sonos play 5 als stereopaar definiert.
    an einem der beiden ist via klinkenstecker etwas angeschlossen

    lautsprecher sind in fhem integriert und funktionieren tadellos.

    besteht die möglichkeit mittels "set" den eingang auf line-in zu setzen !?

    im wiki find ich auch nichts dazu...hm.......

    vielen dank im voraus
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 Dezember 2016, 15:59:27
    Hi rr725,

    im Wiki unter "PlayURI" steht dazu schon was:)
    Du kannst einfach einen Fhem-Sonos-Devicenamen angeben.

    Also:

    set Sonos_Bad PlayURI Sonos_Kueche
    Danach spielt das Bad den Audio-Eingang der Küche ab. Die Küche selbst bleibt dabei stumm.

    Soll das auf demselben Player erfolgen, so musst du

    set Sonos_Kueche PlayURI Sonos_Kueche
    angeben.

    Grüße
    Reinerlein
    Titel: gelöst. Antw:Sonos steuern
    Beitrag von: rr725 am 28 Dezember 2016, 16:27:41
    au mann......das war´s- es funktioniert.
    vielen, vielen dank. du bist der beste !!!!

    Titel: Antw:Sonos steuern
    Beitrag von: dogexan am 28 Dezember 2016, 19:05:44
    Hat jemand mal wie im Wiki Beschrieben die "Anrufsignalisierung per MP3 bei einem Anruf" sauber ans laufen zu bekommen?

    Ich versche mich momentan an der Variante:

    Beispiel für beide Varianten beim Telefonanruf gleichzeitig

    define fritzBox_anrufstartring_notify notify fritzBox:.*ring set Sonos_Wohnzimmer VolumeSave 15 \
          ;; set Sonos_Wohnzimmer PlayURITemp \\Server\Audio\RingRingRing.mp3 30
    define fritzBox_anrufstartcall_notify notify fritzBox:.*call set Sonos_Wohnzimmer VolumeSave +0
    define fritzBox_anrufende_notify notify fritzBox:.*disconnect set Sonos_Wohnzimmer VolumeRestore

    Folgende Situation möchte ich umsetzten:
    Ein Anruf geht ein. Via "CALLMONITOR" (Im Wikibeispiel fritzBox genannt) geht das Event ring ein. Daraufhin möchte ich eine mp3 Datei abspielen.
    Wird der Hörer abgenommen tritt via CALLMONITOR das Event connect auf (im Wikibeispiel call genannt). Nun soll der Ton ausgeschaltet werden.
    Ist das Telefonat beendet und es wurde aufgelegt tritt das Event disconnect auf und der Ton bzw. was vor dem Telefonat lief soll wieder abgespielt werden.

    Mit dem Wikibeispiel ist dies leider nicht ganz umzusetzten.

    Mit PlayURITemp soll nachdem abspielen der mp3 Datei das zuletzt abgespielte wieder laufen. Das Problem an der Sache ist, dass dies schon wieder wärend des Telefonats geschieht nach dem die mp3 Datei zuende ist. Der Ton bleibt also nur solange aus bis die mp3 Datei im Hintergrund zuende ist. :-\

    Hat jemand das erfolgreich laufen oder kann mir jemand einen Tipp geben?

    Vielen Dank im Voraus

    Gruß Alex
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 Dezember 2016, 19:59:50
    Hi Alex,

    das Beispiel ist nur inspirativ gedacht (falls es dort Wort geben sollte :) ), und passt auf dein Ziel nicht ganz.
    Ich hatte im Beispiel tatsächlich nur eine Anrufsignalisierung angedacht, und musste deshalb für die Lautstärkewiederherstellung auch auf "call" reagieren, da "disconnect" sowohl beim Beenden von ausgehenden als auch bei eingehenden Telefonaten erzeugt wird.

    Du kannst mal folgendes versuchen:
    - Bei ring Stoppst du die Wiedergabe und startest eine temporäre Wiedergabe mittels PlayURITemp
    - Bei connect Stoppst du die Wiedergabe (das ist entweder noch dein Temp-Dingens, oder das ist schon fertig, und deine Wiedergabe ist sowieso schon gestoppt
    - Bei Disconnect startest du die Wiedergabe wieder. Dass bedeutet aber, dass deine temporäre Wiedergabe kurz genug sein sollte, da sie jetzt spätestens fertig sein muss.

    Mein Beispiel hat im Hintergrund die Wiedergabe weiterlaufen lassen, aber eben leiser, wegen des Telefonats. Darum die Arbeit mit VolumeSave und VolumeRestore...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Benni am 29 Dezember 2016, 13:35:28
    <offtopic>
    Zitat von: Reinerlein am 28 Dezember 2016, 19:59:50
    falls es dort Wort geben sollte :)

    Duden kennt es jedenfalls: http://www.duden.de/rechtschreibung/inspirativ

    wobei die Erklärung mit "durch Inspiration wirkend" m.E. nicht ganz das ist, was ausgedrückt werden sollte.
    Besser gepaßt hätten wohl eher "inspirierend" oder "zur/als Inspiration"

    ;D

    </offtopic>
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 Dezember 2016, 13:52:40
    <offtopic>
    Hi Benny,

    jetzt wo man es liest, klingt inspirierend auch viel logischer bzw. normaler :)
    Naja, manchmal hat man komische Verwicklungen im Hirn :o

    Reiner
    </offtopic>
    Titel: Antw:Sonos steuern
    Beitrag von: dogexan am 29 Dezember 2016, 17:14:46
    Zitat
    das Beispiel ist nur inspirativ gedacht (falls es dort Wort geben sollte :) ), und passt auf dein Ziel nicht ganz.
    Ich hatte im Beispiel tatsächlich nur eine Anrufsignalisierung angedacht, und musste deshalb für die Lautstärkewiederherstellung auch auf "call" reagieren, da "disconnect" sowohl beim Beenden von ausgehenden als auch bei eingehenden Telefonaten erzeugt wird.

    Du kannst mal folgendes versuchen:
    - Bei ring Stoppst du die Wiedergabe und startest eine temporäre Wiedergabe mittels PlayURITemp
    - Bei connect Stoppst du die Wiedergabe (das ist entweder noch dein Temp-Dingens, oder das ist schon fertig, und deine Wiedergabe ist sowieso schon gestoppt
    - Bei Disconnect startest du die Wiedergabe wieder. Dass bedeutet aber, dass deine temporäre Wiedergabe kurz genug sein sollte, da sie jetzt spätestens fertig sein muss.

    Mein Beispiel hat im Hintergrund die Wiedergabe weiterlaufen lassen, aber eben leiser, wegen des Telefonats. Darum die Arbeit mit VolumeSave und VolumeRestore...

    Danke für deine schnelle Antwort Reiner :)

    Ich habe nun folgende notify Defintionen laufen:
    CALLMONITOR:.*ring set Sonos_Wohnzimmer Stop ; set Sonos_Wohnzimmer PlayURITemp \\IP\SonosSpeak\Klingelton.mp3 15
    CALLMONITOR:.*connect set Sonos_Wohnzimmer Stop
    CALLMONITOR:.*disconnect sleep 1 ; set Sonos_Wohnzimmer Play

    ohne das sleep 1 ging es nicht, ist aber auch nicht schlimm.

    Diese Konstellation funktioniert auch Prima wenn vor dem Anruf auch Musik oder was auch immer läuft. :)

    2 Probleme habe ich jetzt aber noch :-\

    1. Wenn der Anrufer auflegt bevor ich ans Telefon gehen kann wird natürlich nochmal der Klingelton abgespielt. Es wäre also nicht schlecht wenn das Abspielen abgebrochen werden könnte wenn der Anrufer auflegt. Zumindest ein 2. Mal abspielen möchte ich gerne vermeiden.

    2. Musik oder was auch immer ist gerade aus. Es klingelt wieder -->gehe dran und telefoniere --> ich lege auf --> Musik wird durch den "Play" Befehl im disconnect Notify wieder abgespielt obwohl vorher keine lief. :o

    Hast du Reiner oder jemand anderes dafür noch eine Lösung parat?

    Besten Dank

    Alex
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 29 Dezember 2016, 18:33:15
    Hallo,

    ich nutze relativ viel die Sonos Speak Funktion. Dabei werden ja dann immer kleine Dateien erzeugt und in dem angegebenen Verzeichnis gespeichert.
    Kann man eigentlich irgendwie erreichen, dass diese ganzen Dateien nach einer gewissen Zeit automatisch gelöscht werden ?
    Ich würde gerne das System halbwegs sauber halten.

    Grüße,
    Visionsurfer
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 Dezember 2016, 18:53:30
    Hi,

    @Alex: Für 2. musst du dir vorher den Abspielstatus (transportState) selber merken (am Besten in einem Reading eines deiner Notifies dazu, damit es optisch nah dran ist), und nur wenn dieser auf PLAYING stand, dann auch wieder den Play-Befehl absetzen.
    Für 1. musst du mal im Event-Monitor schauen, was überhaupt für Events ankommen...

    @Visionsurfer: Dazu gibt es im Wiki ein Beispiel: https://wiki.fhem.de/wiki/SONOS#Beispiel_f.C3.BCr_ein_Shell-Skript_zum_Aufr.C3.A4umen_eines_Speak-Verzeichnisses (https://wiki.fhem.de/wiki/SONOS#Beispiel_f.C3.BCr_ein_Shell-Skript_zum_Aufr.C3.A4umen_eines_Speak-Verzeichnisses)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: bruece-lee am 30 Dezember 2016, 11:12:54
    Hallo,

    ich habe noch eine Frage zur Sprachausgabe: Ist es möglich eine Sprachausgabe anzustoßen, die zeitgleich auf allen Sonos Lautsprechern ausgegeben wird OHNE dass diese zuvor in eine gemeinsame Gruppe hinzugefügt wurden?

    Ich würde gerne alle Sprachausgaben immer an alle Lautsprecher schicken und im Anschluss soll jede Box wieder in ihren alten Zustand zurückkehren. Ist das möglich? Oder muss ich den Speak-Befehl an jede Box einzeln schicken und damit leben, dass die Sprachausgabe in dem Fall leicht zeitversetzt erfolgt?

    Danke und Gruß,
    Bruece-Lee
    Titel: Antw:Sonos steuern
    Beitrag von: inesa394 am 30 Dezember 2016, 13:53:12
    Hallo
    Nutze seit kurzen auch Sonos in fhem meistens zur Sprachausgabe.
    Am späten Abend bis zum Morgen werden meinen Boxen vom Stromnetz getrennt.
    Leider scheint sich das Modul jedesmal aufzuhängen und verursacht auf meinen
    Intel Nuc 100% Systemlast erst ein Neustart läßt es wieder normal arbeiten.
    Dieser Prozeß ist der Übeltäter " /usr/bin/perl ./FHEM/00_SONOS.pm 4711 3 0"
    Wenn ich den abschieße ist alles wieder normal Systemlast geht runter.
    Ich könnte jetzt natürlich das System jeden Morgen automatisch neu starten will
    ich aber nicht. Gibt es zu meinen Problem vieleicht schon eine Lösung ?


    Ines

    Titel: Antw:Sonos steuern
    Beitrag von: bruece-lee am 30 Dezember 2016, 15:01:23
    Hallo Ines,

    das Wiki hat eine Lösung dafür:

    https://wiki.fhem.de/wiki/SONOS (https://wiki.fhem.de/wiki/SONOS) (ganz unten auf der Seite)

    define RebootSonosDOIF DOIF ([FunksteckerSonos:state] eq "on" )(deleteattr MeinSonosDevice disable) (save)
    DOELSEIF ([FunksteckerSonos:state] eq "off" )(attr MeinSonosDevice disable 1)(save)
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 31 Dezember 2016, 06:33:55
    Hi,
    ich möchte im laufenden Track vorspulen können. Das geht ja mit "set <mySonos> currentTrackPosition ??". Problem ist nun das ich in TabletUI nur ein button definieren möchte. Also benötigt man einen relativen bezug. Mit VolumeU und VolumeD ist das ja schon möglich.
    Könnte dieses Feature auch noch bzgl CurrentTrackPosition mit aufgenommen werden? Zb. pro Befehl ein 10sek Sprung...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Dezember 2016, 12:49:29
    Hi Tobias,

    reicht dir dafür auch eine Relativangabe beim set von "currentTrackPosition", also z.B.

    set Sonos_Bad currentTrackPosition +10
    .
    .
    set Sonos_Bad currentTrackPosition +1:05
    .
    .
    set Sonos_Bad currentTrackPosition +5%
    ?
    Natürlich auch mit "-".

    Dann baue ich das mal ein. Ich muss mich aber auch noch um den neuen SVN-Zugang kümmern, momentan kann ich gar nicht einchecken :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 31 Dezember 2016, 13:29:05
    Hi Rainer, das würde völlig ausreichend sein. Danke

    Gesendet von meinem Leap mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: dogexan am 31 Dezember 2016, 14:57:42
    Hallo zusammen,

    ich denke ich habe mein zweites Problem nun wie folgt gelöst:

    CALLMONITOR:.*ring set Sonos_Wohnzimmer Stop ; set Sonos_Wohnzimmer Mute 1 ; set Sonos_Wohnzimmer PlayURITemp \\IP\SonosSpeak\Klingelton.mp3 15
    CALLMONITOR:.*connect set Sonos_Wohnzimmer Stop ; set Sonos_Wohnzimmer Mute 1
    CALLMONITOR:.*disconnect { if(Value("Sonosstatus") eq "an") {fhem("sleep 1 ; set Sonos_Wohnzimmer Mute 0 ; set Sonos_Wohnzimmer Play") }}


    Da ich nicht wirklich PERL beherrsche, musste ich mir mit diesen Hilfs-Notifys und einem Dummy (Sonosstatus) helfen. So kann ich mit dem Notify CALLMONITOR:.*disconnect... auswerten ob vor dem Anruf (ankommend oder auch abgehend) Musik lief oder der Ton vom Fernseher abgespielt wurde.


    CALLMONITOR:.*call { if(ReadingsVal("Sonos_Wohnzimmer", "transportState", "") eq "PLAYING" || ReadingsVal("SonyTV", "input", "") eq "ExtInput") {fhem ("set Sonosstatus an")} else {fhem("set Sonosstatus aus")}}
    CALLMONITOR:.*ring { if(ReadingsVal("Sonos_Wohnzimmer", "transportState", "") eq "PLAYING" || ReadingsVal("SonyTV", "input", "") eq "ExtInput") {fhem ("set Sonosstatus an")} else {fhem("set Sonosstatus aus")}}


    Die Mute Befehle musste ich einbauen da sonst der Ton nicht aus- bzw. eingeschaltet wird wenn der Fernseher läuft. Ob der Ton am Fernserer momentan an oder aus ist, werte ich durch ReadingsVal("SonyTV", "input", "") eq "ExtInput") aus.

    An dem 1. Problem beiße ich mir jetzt die Zähne aus.
    Zitat1. Wenn der Anrufer auflegt bevor ich ans Telefon gehen kann wird natürlich nochmal der Klingelton abgespielt. Es wäre also nicht schlecht wenn das Abspielen abgebrochen werden könnte wenn der Anrufer auflegt. Zumindest ein 2. Mal abspielen möchte ich gerne vermeiden.

    Ich weiß nicht wie ich es anstellen soll, dass währenddessen der Klingelton abgespielt wird und der Anrufer einhängt (Hier entsteht das Event "disconnect" von dem Modul CALLMONITOR) der Klingelton beendet wird und das wieder abgespielt wird was vorher lief.

    Ich finde es wäre praktisch wenn man "PlayURITemp" abbrechen könnte. ::)

    Ich würde dann
    CALLMONITOR:.*disconnect { if(Value("Sonosstatus") eq "an") {fhem("sleep 1 ; set Sonos_Wohnzimmer Mute 0 ; set Sonos_Wohnzimmer Play") }}
    in etwa das ändern:
    CALLMONITOR:.*disconnect { if(ReadingsVal("Sonos_Wohnzimmer", "currentTitle", "") eq "Klingelton" {fhem(set Sonos_Wohnzimmer PlayURITempCancel)} elsif(Value("Sonosstatus") eq "an") {fhem("sleep 1 ; set Sonos_Wohnzimmer Mute 0 ; set Sonos_Wohnzimmer Play") }}

    PlayURITempCancel wäre jetzt an dieser Stelle mein ausgedachter Befehl der PlayURITemp abbrechen kann.

    Wäre so eine Umsetzung möglich oder hat jemand vielleicht eine andere bessere Idee?

    Vielen Dank

    P.S. Vielleicht weiß auch jemand wie ich den ganzen Wust von Notifys und den sicherlich vermeidbaren Dummy, "schöner" gestallten könnte, eventuell in der 99_myUtils.pm  ::) Aber das ist eher Nebensache.

    Gruß Alex
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 01 Januar 2017, 14:35:34
    Zitat:
    Ich würde gerne alle Sprachausgaben immer an alle Lautsprecher schicken und im Anschluss soll jede Box wieder in ihren alten Zustand zurückkehren. Ist das möglich? Oder muss ich den Speak-Befehl an jede Box einzeln schicken und damit leben, dass die Sprachausgabe in dem Fall leicht zeitversetzt erfolgt?

    An dem Thema habe ich mir auch son die Finger wund programmiert. Problem dabei ist, dass ich u.a. eine S1 habe (die schon zu einem Pärchen gruppiert sind) und wenn ich versuche, die mit den anderen zusammen für so eine Durchsage zu gruppieren, dann zerfällt die Gruppe komplett und die Player bleiben sogar stehen. Mehr als drei Player zu einer Gruppe ohne Störung zusammenzufassen, ist mir noch nicht gelungen.

    Gruß

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: dogexan am 01 Januar 2017, 15:04:24
    Kleines Update zu meinem Problem,

    mit:
    CALLMONITOR:.*disconnect { if(ReadingsVal("CALLMONITOR", "missed_call", "0")>0) {fhem("set Sonos_Wohnzimmer Stop ; sleep 28 ; set Sonos_Wohnzimmer Mute 0 ; set Sonos_Wohnzimmer Play")} elsif(Value("Sonosstatus") eq "an") {fhem("sleep 1 ; set Sonos_Wohnzimmer Mute 0 ; set Sonos_Wohnzimmer Play") }}

    hab ich jetzt eine Lösung gefunden mit der ich leben kann. Den oben genannten Code hab ich als Ersatz für das disconnect notify in meinem letzten Post verwendet:
    ZitatCALLMONITOR:.*disconnect { if(Value("Sonosstatus") eq "an") {fhem("sleep 1 ; set Sonos_Wohnzimmer Mute 0 ; set Sonos_Wohnzimmer Play") }}

    Einziger Nachteil ist das der Ton nicht direkt wieder eingeschlatet wird nachdem während des Klingels eingehangen wurde. Mit "sleep 28" muss ich warten bis der Klingelton im Hintergrund zu ende ist und ich mit "Mute 0" bzw. "Play" den Ton vom Fernsehprogramm oder Musik wieder einschalten kann.

    Gruß Alex



    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 01 Januar 2017, 16:18:13
    Hi,
    ich habe sehr viele MEldungen im Log:
    Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 1
    Keine Ahnung welche IP-Adresse /Gerät dieses verursacht.
    Ist es nicht besser anstatt dem Attribut "igoreIPs" eine Art Whitelist zu setzen? Zb. "acceptedIPs"?
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 01 Januar 2017, 16:24:14
    Zitat von: Tobias am 01 Januar 2017, 16:18:13
    Hi,
    ich habe sehr viele MEldungen im Log:
    Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 1
    Keine Ahnung welche IP-Adresse /Gerät dieses verursacht.
    Ist es nicht besser anstatt dem Attribut "igoreIPs" eine Art Whitelist zu setzen? Zb. "acceptedIPs"?

    die Whitelist heißt usedonlyIps im Sonos Modul
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 01 Januar 2017, 16:49:28
    Danke, hab ich glatt übersehen... sorry und danke :)
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 02 Januar 2017, 21:58:38
    Hallo,

    ich nutze die Weckautomation in Verbindung mit dem Residents Modul. Dazu gibt es ja im Wiki eine ausführliche Anleitung.
    In den ganzen Beispiel Macros die dabei sind, wird ja auch einiges von Sonos verwendet.
    Ich versuche das nun gerade bei mir einzubinden. Doch an einer Stelle hänge ich.

    Ich habe aus dem Beispiel folgendes eingebunden:


    ## Stop playback bedroom's Sonos device might be involved in
    fhem "set Sonos_Schlafzimmer:transportState=PLAYING stop;";

    ## Make Bedroom's and Bathroom's Sonos devices a single device
    ## and do not touch other Sonos devices (this is why we use RemoveMember!)
    fhem "sleep 10; set Sonos_Schlafzimmer RemoveMember Sonos_Schlafzimmer";
    fhem "sleep 11; set Sonos_Bad RemoveMember Sonos_Bad";

    ## Group Bedroom's and Bathroom's Sonos devices with Bedroom as master
    fhem "sleep 12; set Sonos_Bad AddMember Sonos_Schlafzimmer; set Sonos_Schlafzimmer:FILTER=Shuffle!=1 Shuffle 1; set Sonos_Schlafzimmer,Sonos_Bad:FILTER=Volume!=12 Volume 12";

    ## Start music from playlist
    fhem "sleep 13; set Sonos_Schlafzimmer StartPlaylist Abendentspannung";


    Ich habe 2 Boxen wie zu erkennen ist. Sonos_Schlafzimmer und Sonos_Bad.
    Ich habe das alles in meinem Status gosleep eingebunden. Wenn ich nun in diesen Status gehe, dann fängt meine Box im Schlafzimmer auch an die Musik zu spielen. Nur die Box im Bad bleibt still.

    Mach ich da irgendwas falsch ? Ich komme leider nicht drauf.
    Die beiden Boxen sollen doch als Gruppe gebildet werden ? Oder muss ich erst noch irgendwo was anderes machen ?

    Grüße,
    Visionsurfer
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 03 Januar 2017, 18:06:48
    Wie kann ich denn als Musikquelle eine Sonos Connect auswählen? In der Sonos-App nennt sich das "Eingang", in meinem Fall heißt die Connect "Plattenspieler: Sonos Connect".
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 03 Januar 2017, 18:34:21
    @Visionsurfer ich mache das mit set Sonos_Groups [x;y;z] . Und wozu Du das sleep am Anfang jeder Zeile hast erschließt sich mir nicht ...

    @dantist meine Connect heißt Wohnzimmer und im FHEM gibt es Sonos_Wohnzimmer - Wenn Deine Connect Eingang heißt sollte sie im FHEM Sonos_Eingang heißen.
    Oder ich verstehe Dich nicht.   :o

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 03 Januar 2017, 18:47:57
    Vielleicht habe ich mich unklar ausgedrückt  :) Ich möchte das Signal, das bei meiner Sonos Connect am Line In-Eingang anliegt, in einem Sonos-Raum abspielen.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 03 Januar 2017, 19:04:05
    Aber der Player (also egal welcher ob Connect oder Play 5) spielt doch den LineIn lokal ab! Je nach dem wie Du das benannt hast siehst Du das dann als Titel. Da kannst Du Play und Stop drücken.
    In FHEM siehst du das reading LineInConnected.

    Aber Du kannst doch nicht den LineIn in einen anderen Raum lenken?! Du kannst eine Gruppe bilden!Geht, siehe Folgebeiträge

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2017, 19:08:32
    Hallo dantist und Otto,

    das geht schon. Habe ich hier schon mal beantwortet :) https://forum.fhem.de/index.php/topic,10033.msg547974.html#msg547974 (https://forum.fhem.de/index.php/topic,10033.msg547974.html#msg547974)

    Das geht nur nicht bei einer Playbar, die muss dafür immer erstmal selber auf den HDMI-Eingang schalten, dann kann man sich damit gruppieren. Das macht das Modul aber in einem Schritt selbst...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 03 Januar 2017, 19:25:00
    Hallo Reiner,

    jetzt wo Du es sagst, ich hatte es schon mal gelesen  :-[

    Und jetzt habe ich auch gefunden wie das in der Sonos App geht  :-X macht man zu selten ...

    Kannst Du das nicht noch ins Wiki schreiben?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2017, 19:31:22
    Hi Otto,

    es steht im Wiki beim Befehl PlayURI. Dort steht auch der Sonderfall mit der Playbar beschrieben, ich werde aber nochmal explizit auf die entfernte Abspielmöglichkeit als Standardverhalten eingehen, und einen Satz dazu hinzufügen :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 03 Januar 2017, 19:36:43
    Ok der Wiki Artikel ist groß. Ich habe vorhin nach LineIn gesucht, da kam kein Treffer darauf.

    Danke Dir!

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 03 Januar 2017, 20:09:37
    Danke Reinerlein, das ist es! Funktioniert perfekt  :) Jetzt sorgt ein umfunktionierter Amazon Dash-Button dafür, dass auf Knopfdruck der Plattenspieler in die anderen Räume gestreamed wird :)
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 03 Januar 2017, 21:56:19
    Hallo,

    ich weiß nicht ob ich mir meine Sonos Einstellungen kaputt gespielt habe.

    Ich habe 4 Play 1 Sonos Player. Alle sind in FHEM im Room Sonos. Überall werden mir direkt unter dem Device die Buttons angezeigt. Also der Play, Pause, Titel zurück, nächster Titel usw.

    Nur bei einem Player sind die Buttons nicht vorhanden ? Hab ich mir da irgendwas kaputt gemacht ? Ich habe wie weiter oben beschrieben nur in meinem Residenz Modul die Sonos Player versucht zu verbinden.

    Hier mal das List von dem Player im Schlafzimmer wo die Buttons nicht mehr vorhanden sind ? Habt ihr eine Ahnung was da los ist und wie ich die wieder hinbekomme ?


    Internals:
       DEF        RINCON_5CAAFD7AA18401400_MR
       NAME       Sonos_Schlafzimmer
       NR         714
       NTFY_ORDER 50-Sonos_Schlafzimmer
       STATE      appeared
       TYPE       SONOSPLAYER
       UDN        RINCON_5CAAFD7AA18401400_MR
       Readings:
         2017-01-01 15:54:45   AlarmList       {}
         2017-01-01 15:54:45   AlarmListIDs
         2017-01-01 15:54:45   AlarmListVersion RINCON_5CAAFD7AA18401400:0
         2016-12-23 20:23:17   AlarmRunning    0
         2016-12-23 20:23:17   AlarmRunningID
         2016-12-23 20:23:17   Balance         0
         2016-12-23 20:23:25   Bass            0
         2016-12-23 20:23:17   CrossfadeMode   0
         2016-12-23 20:23:24   DailyIndexRefreshTime
         2017-01-01 14:33:20   FavouritesVersion RINCON_B8E9378098B801400,2
         2016-12-23 20:23:24   GroupMute       0
         2017-01-02 23:38:59   GroupVolume     12
         2016-12-23 20:23:17   HeadphoneConnected 0
         2016-12-23 20:23:17   IsMaster        1
         2017-01-03 21:49:48   LastActionResult RemoveMember: Success!
         2016-12-23 20:23:25   Loudness        1
         2016-12-23 20:23:24   MasterPlayer    Sonos_Schlafzimmer
         2016-12-23 20:23:17   Mute            0
         2016-12-23 20:23:25   OutputFixed     0
         2016-12-24 11:43:11   PlaylistsVersion RINCON_B8E9378097A801400,4
         2017-01-02 21:52:23   QueueHash       54b1663c68b9a253898d7c0acb726f2d
         2017-01-02 21:52:22   QueueVersion
         2017-01-01 14:33:20   RadiosVersion   RINCON_B8E9378098B801400,2
         2016-12-23 20:23:17   Repeat          0
         2016-12-23 20:23:17   RepeatOne       0
         2017-01-02 23:38:58   Shuffle         1
         2017-01-03 21:40:44   SlavePlayer     []
         2016-12-23 20:23:17   SleepTimer      off
         2016-12-23 20:23:17   SleepTimerVersion
         2016-12-23 20:23:25   SubEnable       1
         2016-12-23 20:23:25   SubGain         0
         2016-12-23 20:23:25   SubPolarity     0
         2016-12-23 20:23:25   Treble          0
         2016-12-23 20:23:25   TruePlay        0
         2017-01-02 23:38:51   Volume          12
         2016-12-23 20:23:24   ZoneGroupID     RINCON_5CAAFD7AA18401400:__
         2017-01-03 21:40:44   ZoneGroupName   Schlafzimmer
         2017-01-03 21:40:44   ZonePlayerUUIDsInGroup RINCON_5CAAFD7AA18401400
         2017-01-02 23:38:58   currentAlbum    Entspannungsmusik, Eine musikalische Traumreise
         2017-01-02 23:38:54   currentAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_AlbumArt.ERROR
         2017-01-02 23:38:58   currentAlbumArtURL http://192.168.178.59:1400/getaa?s=1&u=x-sonosapi-hls-static%3alibrary%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f65996401-cebd-4129-aa21-3ea20f18249a%2f%3fsid%3d201%26flags%3d8224%26sn%3d1
         2017-01-02 23:38:58   currentAlbumArtist Wellness Pur
         2017-01-02 23:38:58   currentArtist   Wellness Pur
         2016-12-24 23:31:28   currentNormalAudio 1
         2016-12-23 20:23:17   currentOriginalTrackNumber
         2016-12-24 23:31:28   currentSender
         2016-12-23 20:23:17   currentSenderCurrent
         2016-12-24 12:14:38   currentSenderInfo
         2017-01-01 21:24:39   currentStreamAudio 0
         2017-01-02 23:38:58   currentTitle    Lichtspiele der Natur
         2017-01-02 22:52:44   currentTrack    1
         2017-01-02 23:38:58   currentTrackDuration 0:17:08
         2017-01-03 21:40:43   currentTrackPosition 0:00:00
         2017-01-02 23:38:58   currentTrackProvider
         2017-01-02 23:38:58   currentTrackURI x-sonosapi-hls-static:library%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f65996401-cebd-4129-aa21-3ea20f18249a%2f?sid=201&amp;flags=8224&amp;sn=1
         2016-12-23 20:23:17   fieldType
         2017-01-02 23:38:58   infoSummarize1  (Wellness Pur) 'Lichtspiele der Natur' vom Album 'Entspannungsmusik, Eine musikalische Traumreise'
         2017-01-03 21:40:43   infoSummarize2  STOPPED => (Wellness Pur) 'Lichtspiele der Natur' vom Album 'Entspannungsmusik, Eine musikalische Traumreise'
         2017-01-02 23:38:58   infoSummarize3  Lautstärke: 12 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2016-12-23 20:23:17   infoSummarize4
         2016-12-23 20:23:17   location        http://192.168.178.59:1400/xml/device_description.xml
         2017-01-02 23:38:58   nextAlbum       Entspannungsmusik, Eine musikalische Traumreise
         2017-01-02 23:38:57   nextAlbumArtURI ./www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_NextAlbumArt.ERROR
         2017-01-02 23:38:58   nextAlbumArtURL http://192.168.178.59:1400/getaa?s=1&u=x-sonosapi-hls-static%3alibrary%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f88948ce8-e97f-40eb-9fea-288c600c1ada%2f%3fsid%3d201%26flags%3d8224%26sn%3d1
         2016-12-23 20:23:17   nextAlbumArtist
         2017-01-02 23:38:58   nextArtist      Wellness Pur
         2016-12-23 20:23:17   nextOriginalTrackNumber
         2017-01-02 23:38:58   nextTitle       Traumreise
         2017-01-02 23:38:58   nextTrackDuration 0:16:48
         2016-12-23 20:23:17   nextTrackProvider
         2017-01-02 23:38:58   nextTrackURI    x-sonosapi-hls-static:library%2falbums%2fWellness_20Pur%2fEntspannungsmusik_2C_20Eine_20musikalische_20Traumreise%2f88948ce8-e97f-40eb-9fea-288c600c1ada%2f?sid=201&amp;flags=8224&amp;sn=1
         2017-01-02 23:38:58   numberOfTracks  4
         2016-12-23 20:23:17   playerType      S1
         2017-01-01 15:54:31   presence        appeared
         2016-12-23 20:23:24   roomIcon        masterbedroom
         2016-12-23 20:23:17   roomName        Schlafzimmer
         2016-12-23 20:23:17   roomNameAlias   Schlafzimmer
         2016-12-23 20:23:17   saveRoomName    Schlafzimmer
         2016-12-23 20:23:17   serialNum       5C-AA-FD-7A-A1-84:5
         2016-12-23 20:23:17   softwareRevision 7.0
         2017-01-01 15:54:40   state           appeared
         2017-01-03 21:40:43   transportState  STOPPED
    Attributes:
       alias      Schlafzimmer
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       group      Schlafzimmer
       icon       icoSONOSPLAYER_icon-S1.png
       minVolume  0
       model      Sonos_S1
       room       Sonos
       sortby     1
       stateVariable Presence
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }


    Grüße,
    Visionsurfer

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2017, 23:19:46
    Hi Visionsurfer,

    das ist ein automatisch Mit-Erzeugtes RemoteControl-Device. Der Name ist der des PlayerDevices + "RC".
    Versuch doch mal direkt in der Adresszeile die passende Detailseiten-URL dafür einzugeben. Dann siehst du, ob es noch da ist, oder aus Versehen gelöscht wurde.

    Wenn du es gelöscht hast, kannst du es von einem der anderen Player passend kopieren, oder du entfernst das Sonosplayer-Device, dann wird es nach einer Neu-Erkennung wieder angelegt werden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 04 Januar 2017, 09:03:08
    Guten Morgen,

    also ich habe geschaut dieses Device+RC ist auch für Schlafzimmer vorhanden. Aber es steht nicht direkt wie bei allen anderen unter dem eigentlichen Player. Bekommt man das irgendwie wieder hin oder muss ich das Gerät löschen ?

    Noch eine andere Frage:

    Ich nutze ja das Resident Modul und dort sind im Macro viele Sonos Beispiele drin. Da wird aber immer mit addmember und removemember gearbeitet.
    Was ist da der Unterschied zu "Group".

    Weiter oben in einem Posting, hab ich dazu ja auch den Code gepostet. Scheinbar funktioniert es aber bei mir nicht. Es starten nicht beide Player. Wenn ich aber im FHEMweb den Play Button vom Player Bad drücke, dann startet gleichzeitig auch die Musik im Player Schlafzimmer.

    Grüße,
    Visionsurfer
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 04 Januar 2017, 09:47:15
    Guten Morgen Visionsurfer,

    ich verstehe Deinen Code weiter oben nicht, er ist scheinbar aus dem Zusammenhang gerissen.
    Ich kann nur soviel sagen: Die Sonos Befehle besonders Gruppierungen brauchen Zeit.
    Zu Bad das Schlafzimmer dazu gruppieren und anschließen ohne Pause Schlafzimmer noch drei Befehle überhelfen funktioniert nicht. Ich kann dazu nur "empirisch" sagen: Ich mache zwischen jedem Sonos Befehl eine Pause und probiere die Befehlsketten separat in der FHEM Kommandozeile aus.
    Das besonders die (Um)Gruppierung Zeit braucht sieht man auch sehr schön in der Sonos App selbst, das ist ein Sonos "Problem" da FHEM auch nicht zaubern.

    Also unabhängig von Deinen Makros: löse Deine Befehlsketten zum Test aus dem restlichen Code und probiere sie separat aus.

    Die RC's sind normalerweise im Raum hidden, die stehen gar nicht unter den Playern. Zumindest bei mir. Klar bekommst Du das hin mit den Attributen room und group.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Januar 2017, 11:52:20
    Hi Visionsurfer,

    mein Fehler, das RemoteControl ist nicht das, was angezeigt wird, sondern ein Weblink-Device, welches den HTML-Code des RemoteControls anzeigt. Dieses Device hat den Namen des Playerdevice + "RC_Weblink".

    Mittels

    list TYPE=weblink
    kannst du dir alle deine Weblinks auflisten lassen. Da müsste der ja dabei sein :)

    Ansonsten hier die Definition des Weblinks (am Beispiel von Sonos_Bad):

    define Sonos_BadRC_Weblink weblink htmlCode {fhem("get Sonos_BadRC htmlcode", 1)}
    attr Sonos_BadRC_Weblink room Sonos
    attr Sonos_BadRC_Weblink group Bad
    attr Sonos_BadRC_Weblink sortby 3


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 04 Januar 2017, 12:26:08
    ok.

    Danke @Reiner.
    Warum auch immer hat dieser 3 weblink gefehlt. Ich hab ihn nun wie von dir beschrieben und angepasst wieder anlegt. Jetzt hab ich auch wieder die Buttons an meinem Player im Schlafzimmer.

    Kannst du mir eventuell auch den Unterschied zwischen der Group Funktion und dem Add oder Removemember erklären ? Das versteh ich noch nicht ganz und aus der Wiki werde ich da auch nicht schlau.

    Grüße,
    Visionsurfer
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Januar 2017, 13:17:14
    Hi Visionsurfer,

    das ist ganz einfach: Viele Wege führen nach Rom :)

    Mit AddMember (am Sonosplayer-Device) sagst du einem Player (dem zukünftigen Master), dass er jetzt einen weiteren mit seiner Musik beliefern soll. Mit RemoveMember entfernst du diesen zweiten Player wieder.

    set Sonos_Bad AddMember Sonos_Kueche
    Sonos_Bad ist der neue Master, der auch die Küche mit seiner Musik beliefert.

    Die Groups Funktion (am Sonos-Device) kann mit einer Anweisung eine Gruppenkonstellation sicherstellen. Dort muss ich aber noch mal ran, damit das vielleicht auch mal mit Stereo-Paaren korrekt arbeitet. Diese sind Sonos-Intern auch nur Gruppen von zwei Playern.

    set Sonos Groups [Sonos_Bad, Sonos_Kueche]
    Macht im Ergebnis das gleiche, stellt allerdings sicher, dass eine etwaige Gruppe, in der sich Sonos_Bad oder auch Sonos_Kueche befinden, zuvor aufgelöst werden.

    Nehmen wir mal das obige Beispiel mit AddMember und machen folgendes:

    set Sonos_Kueche AddMember Sonos_Wohnzimmer
    set Sonos_Bad AddMember Sonos_Kueche
    Dann gibt es am Ende eine Gruppe mit drei Mitgliedern, die den Player Sonos_Bad als Master haben.

    Mit der Groups-Anweisung kannst du auch gleich mehrere Gruppen erzeugen:

    set Sonos Groups [Sonos_Bad, Sonos_Kueche], [Sonos_Wohnzimmer, Sonos_Flur]
    .
    .
    set Sonos Groups [Sonos_Bad, Sonos_Kueche, Sonos_Wohnzimmer, Sonos_Flur]


    Und mittels "get Sonos Groups" kannst du dir die aktuelle Gruppenkonstellation in der obigen Schreibweise ausgeben lassen.
    Dazu gibt es aber einige Beispiele im Wiki...

    Ich hoffe, dass konnte ein wenig Licht in die Sache bringen :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 04 Januar 2017, 18:50:27
    Vielen Dank. Jetzt hab ich es deutlich besser verstanden. Super.
    Werde mal mit rumspielen.

    Grüße,
    Visionsurfer
    Titel: Antw:Sonos steuern
    Beitrag von: visionsurfer am 04 Januar 2017, 21:48:49
    Hi,

    sorry ich muss noch mal ne Dumme Frage stellen.

    Ich höre z.B. im Bad Musik aus meiner Playlist. Das klappt auch wunderbar. Am nächsten Tag / morgen möchte ich dann gerne Radio hören.

    Ich will das Radio z.B. hiermit starten:

    set Sonos_Bad StartRadio RadioPrimavera

    Das Radio hab ich auch schon vorher über die App angelegt. Wenn ich es aus der App starte, funktioniert es wunderbar. Wenn ich es mit FHEM starte, wird nicht das Radio gestartet, sondern es spielt wieder die Musikwiedergabe vom Abend davor ab.

    Ich weiß, da mach ich 100% was falsch. Ich versteh aber nur noch nicht was ?
    Ich vermute mal das ich irgendwie vorher erst das Radio "laden" muss ? Doch wie läuft das ?

    Grüße,
    Visionsurfer
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Januar 2017, 22:40:25
    Hi Visionsurfer,

    du musst die genaue Schreibweise deines Radiosenders herausfinden.
    Das kannst du mittels

    get Sonos_Bad Radios
    machen. Das Ergebnis landet in LastActionResult.
    Bei deinem Start-Aufruf musst du Leerzeichen dann durch %20 ersetzen.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 05 Januar 2017, 10:40:29
    Hallo Zusammen,

    musste vor ein paar Tagen mein FHEM umziehen, da mein Nettop den Geist aufgegeben hat.
    Bin jetzt auf einem Intel NUC.

    Leider habe ich wieder/immer noch ein großes Problem mit dem Sonos Modul.
    Unabhängig, ob Sonos benutzt wird, oder nicht und ohne ersichtlichen Grund geht die CPU Last für 00_SONOS.pm auf 42,8% und bringt schlussendlich FHEM zum Absturz.

    Der Log liefert keine einzige Info.

    Hier der List:
    Internals:
       CHANGED
       DELAYTIME  0
       DeviceName localhost:4711
       INTERVAL   30
       NAME       Sonos
       NR         625
       NTFY_ORDER 50-Sonos
       PARTIAL
       STATE      disabled
       TYPE       SONOS
       WAITTIME   8
       Readings:
         2017-01-01 20:06:25   MasterPlayer    ['Sonos_BRIDGE','Sonos_Bad','Sonos_Buero','Sonos_Essen','Sonos_Leoni','Sonos_Wohnzimmer']
         2017-01-01 20:06:25   MasterPlayerCount 6
         2017-01-04 13:13:51   MasterPlayerNotPlaying ['Sonos_BRIDGE','Sonos_Bad','Sonos_Buero','Sonos_Essen','Sonos_Leoni','Sonos_Wohnzimmer']
         2017-01-04 13:13:51   MasterPlayerNotPlayingCount 6
         2017-01-04 13:13:51   MasterPlayerPlaying []
         2017-01-04 13:13:51   MasterPlayerPlayingCount 0
         2017-01-04 19:03:16   ZoneGroupState  <ZoneGroups><ZoneGroup Coordinator="RINCON_B8E9375294B201400" ID="RINCON_B8E9375294B201400:16"><ZoneGroupMember UUID="RINCON_B8E9375294B201400" Location="http://192.168.0.96:1400/xml/device_description.xml" ZoneName="Leoni" Icon="x-rincon-roomicon:patio" Configuration="1" SoftwareVersion="34.16-36160" MinCompatibleVersion="33.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="83" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2"/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFDA1C27201400" ID="RINCON_5CAAFDA1C27201400:33"><ZoneGroupMember UUID="RINCON_5CAAFDA1C27201400" Location="http://192.168.0.42:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="34.16-36160" MinCompatibleVersion="33.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="11" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9375200CE01400" ID="RINCON_B8E9375200CE01400:5"><ZoneGroupMember UUID="RINCON_B8E9375200CE01400" Location="http://192.168.0.39:1400/xml/device_description.xml" ZoneName="Bad" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="34.16-36160" MinCompatibleVersion="33.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="45" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E93714FBAC01400" ID="RINCON_B8E93714FBAC01400:0"><ZoneGroupMember UUID="RINCON_B8E93714FBAC01400" Location="http://192.168.0.37:1400/xml/device_description.xml" ZoneName="BRIDGE" Icon="x-rincon-roomicon:viper" Configuration="1" Invisible="1" IsZoneBridge="1" SoftwareVersion="34.16-36160" MinCompatibleVersion="33.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="45" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="-1" RoomCalibrationState="0" SecureRegState="2"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9373184A001400" ID="RINCON_B8E9373184A001400:2296"><ZoneGroupMember UUID="RINCON_B8E9373184A001400" Location="http://192.168.0.38:1400/xml/device_description.xml" ZoneName="Büro" Icon="x-rincon-roomicon:office" Configuration="1" SoftwareVersion="34.16-36160" MinCompatibleVersion="33.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="14" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2"/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E5870A13001400" ID="RINCON_000E5870A13001400:73"><ZoneGroupMember UUID="RINCON_5CAAFD4AE0A001400" Location="http://192.168.0.32:1400/xml/device_description.xml" ZoneName="Küche" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="34.16-36160" MinCompatibleVersion="33.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="27" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2"/><ZoneGroupMember UUID="RINCON_000E5870A13001400" Location="http://192.168.0.23:1400/xml/device_description.xml" ZoneName="Essen" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="34.16-36160" MinCompatibleVersion="33.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="45" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2"/></ZoneGroup></ZoneGroups>
         2017-01-04 19:03:44   state           disabled
    Attributes:
       DbLogExclude .*
       bookmarkSaveDir /mnt/sonos
       disable    1
       proxyCacheDir /mnt/sonos
       targetSpeakDir /mnt/sonos
       targetSpeakFileHashCache 1
       targetSpeakFileTimestamp 1
       targetSpeakURL \\192.168.0.4\sonosspeak
       usedonlyIPs 192.168.0.37,192.168.0.32,192.168.0.39,192.168.0.23,192.168.0.38,192.168.0.42,192.168.0.96


    Jemand eine Idee?
    Titel: Antw:Sonos steuern
    Beitrag von: Fischei am 06 Januar 2017, 10:41:57
    Hallo,

    im hab einen Amazon Dash-Button, mit dem ich meine Sonos-Boxen einschalte:
    define n_DashButton4 notify DashButton:ac-63-be-f6-46-78..short {\
        if (ReadingsVal("Sonos_Esszimmer", "transportState", "PLAYING") eq "PLAYING") {\
        fhem("set Sonos_Esszimmer Stop");;\
        } else {\
    fhem("set Sonos_Esszimmer StartFavourite KRONEHIT%20digital 8");;\
        }\
    }


    Beim Drücken bekomme ich im LastResultAction immer folgenden Fehler:
    StartFavourite: Favourite "KRONEHITac-63-be-f6-46-78:" not found.

    Wenn ich statt "KRONEHIT%20digital" z.B. "Reggae" verwende, dann funktioniert es. Ich denke, dass es an dem %20 liegt. Hatte hier schonmal jemand das gleiche Problem mit Leerzeichen in den Favoriten?

    danke euch schonmal
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 06 Januar 2017, 14:37:32
    Hi Reinerlein, es wäre toll wenn du noch das angesprochene relative Seek einbauen könntest.

    zb. Seek -30 -> spult 30 Sekunden im Track zurück
    Titel: Antw:Sonos steuern
    Beitrag von: DeeSPe am 06 Januar 2017, 14:43:42
    Zitat von: Fischei am 06 Januar 2017, 10:41:57
    Hallo,

    im hab einen Amazon Dash-Button, mit dem ich meine Sonos-Boxen einschalte:
    define n_DashButton4 notify DashButton:ac-63-be-f6-46-78..short {\
        if (ReadingsVal("Sonos_Esszimmer", "transportState", "PLAYING") eq "PLAYING") {\
        fhem("set Sonos_Esszimmer Stop");;\
        } else {\
    fhem("set Sonos_Esszimmer StartFavourite KRONEHIT%20digital 8");;\
        }\
    }


    Beim Drücken bekomme ich im LastResultAction immer folgenden Fehler:
    StartFavourite: Favourite "KRONEHITac-63-be-f6-46-78:" not found.

    Wenn ich statt "KRONEHIT%20digital" z.B. "Reggae" verwende, dann funktioniert es. Ich denke, dass es an dem %20 liegt. Hatte hier schonmal jemand das gleiche Problem mit Leerzeichen in den Favoriten?

    danke euch schonmal

    Der einfachste Weg ist denke ich den Favoriten in der Sonos App einfach umzubenennen!
    Mach doch aus "KRONEHIT digital" einfach ""KRONEHIT-digital" und das Problem ist gegessen!
    Manche Lösungen müssen nicht programmiertechnischer Natur sein!  8)

    Gruß
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Januar 2017, 15:00:18
    Hallo,

    @Tobias: Ist bei mir schon drin, ich muss nur noch den SVN-Zugang bei mir einrichten/umstellen, um einzuchecken...

    @Fischei: Das sieht mir nach einem FeatureLevel <5.7 aus. Da werden einfache Prozentzeichen in einem Notify durch das Event ersetzt.
    Entweder FeatureLevel hochsetzen (sollte man so langsam mal hinter sich gebracht haben :) ), oder zwei Prozentzeichen hintereinander zum maskieren im Notify (aber nicht mehr, wenn du das FeatureLevel hochgesetzt hast).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Fischei am 06 Januar 2017, 17:00:50
    Zitat von: Reinerlein am 06 Januar 2017, 15:00:18
    Hallo,

    @Tobias: Ist bei mir schon drin, ich muss nur noch den SVN-Zugang bei mir einrichten/umstellen, um einzuchecken...

    @Fischei: Das sieht mir nach einem FeatureLevel <5.7 aus. Da werden einfache Prozentzeichen in einem Notify durch das Event ersetzt.
    Entweder FeatureLevel hochsetzen (sollte man so langsam mal hinter sich gebracht haben :) ), oder zwei Prozentzeichen hintereinander zum maskieren im Notify (aber nicht mehr, wenn du das FeatureLevel hochgesetzt hast).

    Grüße
    Reiner


    Danke dir! Funktioniert!
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 07 Januar 2017, 13:48:06
    Hallo,

    gibt es eine Möglichkeit einen Radio Stream auf dem Sonos mit einem delay von 2 Sekunden abzuspielen?

    Nutze im Wohnzimmer an meiner Anlage einen Chromecast Audio, dieser hat im vergleich zum Sonos leider eine leichte Verzögerung.

    Ich weiß nicht was die Verzögerung auslöst, da beide den gleichen Livestream benutzen :o ???

    Das einfachste wäre es einfach einen kleinen delay beim abspielen des Radio Livestreams im Sonos einzubauen, so das sie wieder annähernd synchron sind.

    Gibt es denn eine einfache Möglichkeit so ein delay von  ca. 2 Sekunden einzubauen?

    Oder habt ihr da bessere Ideen?

    Grüße

    Fixel
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 07 Januar 2017, 13:55:35
    Zitat von: Fixel2012 am 07 Januar 2017, 13:48:06
    Oder habt ihr da bessere Ideen?
    Das wird nie funktionieren!
    Bessere Idee: Chromecast Audi gegen Sonos Connect tauschen - ja ich weiß ....

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 07 Januar 2017, 14:02:48
    Zitat von: Otto123 am 07 Januar 2017, 13:55:35
    Das wird nie funktionieren!
    Bessere Idee: Chromecast Audi gegen Sonos Connect tauschen - ja ich weiß ....

    Gruß Otto

    Mhh,

    muss keine komplette Synchronisation sein, es ist nur nervig, wenn ich im Bad bin, und gleichzeitig die Musik im Wohnzimmer läuft dort eine deutliche Verzögerung zu hören ist :-\

    Bei meiner Anlage lohnt sich ein Sonos Connect Außerdem nicht  ;D

    Der Play 1 im Bad läuft auch nicht dauerhaft, sondern nur für ein paar Minuten. Somit is die synrco nicht so wichtig und muss nicht zu 100% stimmen.

    Wie gesagt wenn man mit einem Befehl den Stream irgendwie um 2 Sekunden verzögern könnte würde mir das schon reichen.

    Die Frage ist nur ob es so eine einfache Möglichkeit gibt?

    Gruß  Fixel
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 07 Januar 2017, 14:12:15
    Zitat von: Fixel2012 am 07 Januar 2017, 14:02:48
    Der Play 1 im Bad läuft auch nicht dauerhaft, sondern nur für ein paar Minuten. Somit is die synrco nicht so wichtig und muss nicht zu 100% stimmen.
    Ich kann das nicht 100% belegen, aber ich glaube eine Verzögerung von 200 ms ist eventuell noch nerviger. Die normale Verzögerung ist ca. 3 ms pro meter.
    Und ich weiß aus Erfahrung, das der (ja völlig unabhängige) Start des Streams nicht zwangsweise zur konstanten Verzögerung führt.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 07 Januar 2017, 14:26:00
    Zitat von: Otto123 am 07 Januar 2017, 14:12:15
    Ich kann das nicht 100% belegen, aber ich glaube eine Verzögerung von 200 ms ist eventuell noch nerviger. Die normale Verzögerung ist ca. 3 ms pro meter.
    Und ich weiß aus Erfahrung, das der (ja völlig unabhängige) Start des Streams nicht zwangsweise zur konstanten Verzögerung führt.

    Gruß Otto

    Mhhh, also wird das eher nichts :P

    Danke dir trotzdem!
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 07 Januar 2017, 14:43:49
    Wird jetzt Offtopic:
    Ich habe keine Ahnung von Chromecast, aber wenn der arme Play1 eh nicht viel genutzt wird im Bad -> Den gegen einen zweiten Chromecast audio plus Box tauschen?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 07 Januar 2017, 16:57:55
    Zitat von: Otto123 am 07 Januar 2017, 14:43:49
    Wird jetzt Offtopic:
    Ich habe keine Ahnung von Chromecast, aber wenn der arme Play1 eh nicht viel genutzt wird im Bad -> Den gegen einen zweiten Chromecast audio plus Box tauschen?

    Gruß Otto

    Mhh, naja passt schon so :D Der Chromecast braucht dann wieder extra strom und die extra Boxen usw... wird dann zu voll im Bad.

    Wäre schon gewesen wenn man das mit einem einfachen Delay machen kann.

    Danke und Gruß Fixel
    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 09 Januar 2017, 16:48:40
    Vielleicht habe ich es ja doch übersehen, aber bei mir werden die berechnten infoSummarize Readings zwar neu berechnet, wenn neue Titel gespielt werden, aber bei einigen anderen Änderungen nicht.

    Speziell aufgefallen ist mir das bei Volume und Mute-Aktionen. Die Readings bleiben da unverändert. Obwohl die detaillierten Readings korrekt sind.

    Kann ich das irgendwo einstellen?

    Hintergrund - im Tablet UI benutze ich diese Anzeigen und wenn man die Tasen drückt oden den Slider darüber verändert ändert sich die Textanzeige nicht, sondern erst beim nächsten Titel, das ist etwas verwirrend
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 15 Januar 2017, 20:56:49
    Zitat von: RadioJames am 11 Dezember 2016, 08:53:06
    Hallo,

    ich möchte auch eine Fehlermeldung in den Raum stellen, die in meinem Log sehr häufig vorkommt:

    "Loading device description failed with error: 404 Not Found at ./FHEM/00_SONOS.pm line 3747 thread 1."

    Sie kommt aus der Funktion _createDevice im Modul ControlPoint.pm. Hat jemand eine Idee, was hier schiefgeht oder wie ich dem Ganzen weiter auf die Spur kommen kann?

    Grüße
    James

    Hallo,

    ich habe diese Fehlermeldung auch. Diese ist sowohl in einer neuen Raspbian-Installation als auch unter Windows vorhanden. Ich habe 3 Sonos PLay 1 und eine Playbar mit Sub. Ich liefere gerne weitere Informationen, wenn man mir sagt was.

    Viele Grüße

    juemuc
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 15 Januar 2017, 21:40:09
    Zitat von: juemuc am 15 Januar 2017, 20:56:49
    Hallo,

    ich habe diese Fehlermeldung auch. Diese ist sowohl in einer neuen Raspbian-Installation als auch unter Windows vorhanden. Ich habe 3 Sonos PLay 1 und eine Playbar mit Sub. Ich liefere gerne weitere Informationen, wenn man mir sagt was.

    Viele Grüße

    juemuc

    Hallo,

    wie weiter unten von Reinerlein beschrieben, kannst du herausfinden was den Error hervorruft.

    Anschließend siehst du die Geräte-IP des Gerätes was Probleme macht im log.

    Daraufhin kann man dann einfach die auswahl zwischen zwei attributen im Sonos device Wählen.

    Guck mal in der Commandref nach, Stichwort ignoredIPs und allowedIPs!

    Grüße Fixel

    PS: habe allowed IPs genommen, da ich mehrere Geräte im Netzwerk hatte die Probleme mit dem Sonos Modul haben.

    nachteil: man muss jeden neue Sonos-IP in das Attribut eintragen!
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 15 Januar 2017, 21:54:23
    Zitat von: Fixel2012 am 15 Januar 2017, 21:40:09
    Hallo,

    wie weiter unten von Reinerlein beschrieben, kannst du herausfinden was den Error hervorruft.

    Anschließend siehst du die Geräte-IP des Gerätes was Probleme macht im log.

    Daraufhin kann man dann einfach die auswahl zwischen zwei attributen im Sonos device Wählen.

    Guck mal in der Commandref nach, Stichwort ignoredIPs und allowedIPs!

    Grüße Fixel

    PS: habe allowed IPs genommen, da ich mehrere Geräte im Netzwerk hatte die Probleme mit dem Sonos Modul haben.

    nachteil: man muss jeden neue Sonos-IP in das Attribut eintragen!

    Sorry,

    ich habe den falschen Beitrag ausgewählt.

    Ich habe diese Fehlermeldung #2602
    ZitatHallo Reinerlein

    Seit einiger Zeit habe ich folgende Meldung in meinem Log:
        Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 5396 thread 1.

    Hat Jemand dies auch, bzw. an was könnte dies liegen?

    Grüsse
    Eric

    Viele Grüße
    juemuc
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 15 Januar 2017, 21:55:54
    Zitat von: juemuc am 15 Januar 2017, 21:54:23
    Sorry,

    ich habe den falschen Beitrag ausgewählt.

    Ich habe diese Fehlermeldung #2602
    Viele Grüße
    juemuc
    Da kann ich dir nicht helfen, sorry!

    Grüße fixel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 Januar 2017, 21:56:08
    Hallo,

    @viegener: hast du das Attribut "generateVolumeEvent" auf "1" gesetzt? Sonst wird das Reading zwar aktualisiert, aber kein Event ausgelöst.

    @juemuc: Ich tippe hier drauf, dass dir ein anderer UPnP-Service dazwischenfunkt. Die Fehlermeldung kommt, wenn sich eine Komponente auf die UPnP-Broadcast-Anfrage meldet, dann aber nicht seine Devicedescription herausrücken will. Irgendwo hatte ich schon mal eine Zeile Code gepostet, um die IP-Adresse des Übeltäters zu loggen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 16 Januar 2017, 17:39:11
    Zitat@juemuc: Ich tippe hier drauf, dass dir ein anderer UPnP-Service dazwischenfunkt. Die Fehlermeldung kommt, wenn sich eine Komponente auf die UPnP-Broadcast-Anfrage meldet, dann aber nicht seine Devicedescription herausrücken will. Irgendwo hatte ich schon mal eine Zeile Code gepostet, um die IP-Adresse des Übeltäters zu loggen...
    Wär was fürs Wiki :)

    Konntest du schon das relative "CurrentTrackPosition" einbauen? <liebGuck>
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Januar 2017, 18:04:00
    Hallo Tobias,

    ich muss mich echt mal um den Zugang bemühen, bin aber irgendwo beim Erzeugen des Schlüsselpaars erstmal hängengeblieben, da ich dann wieder weg musste, und jetzt muss ich mich erst wieder eindenken. Das ganze ist für meinen Geschmack für einen Developerzugang einer Opensource-Lösung leicht umständlich, wenn man nur kurze Zeitintervalle zur Verfügung hat. Was war an Benutzername/Passwort so unsicher :)

    Dein Feature ist fertig, und auch die zusätzliche Logausgabe ist natürlich drin, so weit die gute Nachricht :)
    Ich hoffe, dass ich Heute oder Morgen vielleicht mal endlich zu dem Erstellen des Zugangs komme, dann muss der Schlüssel ja auch noch von den Admins eingetragen werden, und ich muss mit meinem Client auch noch rankommen...

    Ich habe im Code noch eine halbe Sache, die ich erstmal zurücknehmen werde, damit es eingecheckt werden kann...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 16 Januar 2017, 20:33:30
    Zitat von: Reinerlein am 15 Januar 2017, 21:56:08
    Hallo,

    @juemuc: Ich tippe hier drauf, dass dir ein anderer UPnP-Service dazwischenfunkt. Die Fehlermeldung kommt, wenn sich eine Komponente auf die UPnP-Broadcast-Anfrage meldet, dann aber nicht seine Devicedescription herausrücken will. Irgendwo hatte ich schon mal eine Zeile Code gepostet, um die IP-Adresse des Übeltäters zu loggen...

    Grüße
    Reinerlein

    Hallo Reinerlein,

    ich vermute es liegt am Sub, da dieser das Attribut "minVolumeHeadphone" nicht hat. Ich habe die IP des Sub ausgeschlossen und schon ist die Meldung weg. Nehme ich die IP wieder dazu, kommt auch die Fehlermeldung.
    Benötigst Du weitere Informationen?

    Viele Grüße
    juemuc

    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 26 Januar 2017, 16:12:01
    Ist das normal das wenn ich einen shutdown restart mache so viele Fehler vom Sonos im Log stehen?


    2017.01.26 15:57:04 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 1 Sekunde(n) darauf...
    2017.01.26 15:57:04 3: CallMonitor device opened
    2017.01.26 15:57:05 3: Can't connect to 192.168.197.29:2000: 192.168.197.29: Connection reset by peer
    2017.01.26 15:57:05 3: Opening Sonos device 192.168.197.33:4711
    2017.01.26 15:57:05 3: Can't connect to 192.168.197.33:4711: Connection refused
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2017.01.26 15:57:06 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 8364.

    2017.01.26 15:57:06 0: SONOS0: Retries left (wait 30s): 9
    2017.01.26 15:57:07 3: Harmony_Hub: new config
    2017.01.26 15:57:21 3: DUOFERN no ACK, request Status
    2017.01.26 15:57:21 3: DUOFERN no ACK, request Status
    2017.01.26 15:57:36 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 8364.

    2017.01.26 15:57:36 0: SONOS0: Retries left (wait 30s): 8
    2017.01.26 15:57:51 3: DUOFERN no ACK, request Status
    2017.01.26 15:58:06 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2017.01.26 15:58:09 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52568
    2017.01.26 15:58:09 1: 192.168.197.33:4711 reappeared (Sonos)
    2017.01.26 15:58:09 3: Opening meinLGW:keepAlive device 192.168.197.29:2001
    2017.01.26 15:58:09 1: 192.168.197.29:2000 reappeared (meinLGW)
    2017.01.26 15:58:09 3: meinLGW:keepAlive device opened
    2017.01.26 15:58:09 3: HMUARTLGW meinLGW BidCoS-port opened
    2017.01.26 15:58:09 3: HMUARTLGW meinLGW:keepAlive KeepAlive-port opened
    2017.01.26 15:58:11 3: SONOS1: UPnP-Thread gestartet.
    2017.01.26 15:58:11 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2017.01.26 15:58:11 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2017.01.26 15:58:11 2: SONOS1: Discover Sonosplayer 'Bad' (S6) Software Revision 7.1 with ID 'RINCON_5CAAFD05436801400_MR'
    2017.01.26 15:58:12 2: SONOS1: SonosPlayer 'Bad' (S6) with ID 'RINCON_5CAAFD05436801400_MR' is already defined (as 'Sonos_Bad') and will only be updated
    2017.01.26 15:58:12 2: SONOS1: SonosPlayer 'Bad' is now updated
    2017.01.26 15:58:12 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000000093
    2017.01.26 15:58:12 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000000094
    2017.01.26 15:58:12 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000000095
    2017.01.26 15:58:12 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000000096
    2017.01.26 15:58:12 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000000097
    2017.01.26 15:58:12 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000000098
    2017.01.26 15:58:12 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000000099
    2017.01.26 15:58:12 2: SONOS1: AudioIn-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000000100
    2017.01.26 15:58:12 3: SONOS1: Discover: End of discover-event for "Bad".
    2017.01.26 15:58:12 2: SONOS1: Discover Sonosplayer 'Küche' (S6) Software Revision 7.1 with ID 'RINCON_5CAAFD01DBDE01400_MR'
    2017.01.26 15:58:13 2: SONOS1: SonosPlayer 'Kueche' (S6) with ID 'RINCON_5CAAFD01DBDE01400_MR' is already defined (as 'Sonos_Kueche') and will only be updated
    2017.01.26 15:58:13 2: SONOS1: SonosPlayer 'Kueche' is now updated
    2017.01.26 15:58:13 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000000111
    2017.01.26 15:58:13 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000000112
    2017.01.26 15:58:13 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000000113
    2017.01.26 15:58:13 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000000114
    2017.01.26 15:58:13 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000000115
    2017.01.26 15:58:13 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000000116
    2017.01.26 15:58:13 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000000117
    2017.01.26 15:58:13 2: SONOS1: AudioIn-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000000118
    2017.01.26 15:58:13 3: SONOS1: Discover: End of discover-event for "Küche".
    2017.01.26 15:58:13 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: Received AudioIn-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: End of AudioIn-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: Received AudioIn-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: End of AudioIn-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Bad".
    2017.01.26 15:58:13 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Kueche".
    2017.01.26 15:58:13 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Kueche".
    2017.01.26 15:59:10 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52706
    2017.01.26 15:59:40 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52708
    2017.01.26 16:00:10 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52716
    2017.01.26 16:00:41 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52720
    2017.01.26 16:01:11 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52730
    2017.01.26 16:01:41 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52740
    2017.01.26 16:02:11 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52772
    2017.01.26 16:02:41 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52788
    2017.01.26 16:03:11 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52802
    2017.01.26 16:03:41 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52810
    2017.01.26 16:04:11 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52820
    2017.01.26 16:04:41 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52828
    2017.01.26 16:05:11 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52840
    2017.01.26 16:05:41 3: SONOS0: Connection accepted from raspberrypi.fritz.box:52846
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 26 Januar 2017, 17:29:43
    Ich sehe da keine Fehler ... du solltest den Log-Level (verbose) auf kleiner 3 setzen
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 26 Januar 2017, 18:02:13
    Hi,
    das Sonos Modul ist sehr geschwätzig. Ich betreibe das mit attr Sonos verbose 1

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 26 Januar 2017, 20:55:37
    Habe jetzt Verbose auch mal auf 3 gestellt, aber ich habe immer wieder diese Meldung im Log.

    2017.01.26 20:35:13 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 1 Sekunde(n) darauf...
    2017.01.26 20:35:13 3: Can't connect to 192.168.197.29:2000: Connection refused
    2017.01.26 20:35:13 3: Can't connect to 192.168.197.29:2000: 192.168.197.29: Connection reset by peer
    2017.01.26 20:35:13 3: CallMonitor device opened
    2017.01.26 20:35:14 3: Opening Sonos device 192.168.197.33:4711
    2017.01.26 20:35:14 3: Can't connect to 192.168.197.33:4711: Connection refused
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2017.01.26 20:35:14 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 8364.

    2017.01.26 20:35:14 0: SONOS0: Retries left (wait 30s): 9
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 26 Januar 2017, 21:02:30
    Hallo Elmer,
    1 und < 3 sind nicht gleich 3  ??? :-X :'(
    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 26 Januar 2017, 22:15:18
    Zitat von: juemuc am 16 Januar 2017, 20:33:30
    Hallo Reinerlein,

    ich vermute es liegt am Sub, da dieser das Attribut "minVolumeHeadphone" nicht hat. Ich habe die IP des Sub ausgeschlossen und schon ist die Meldung weg. Nehme ich die IP wieder dazu, kommt auch die Fehlermeldung.
    Benötigst Du weitere Informationen?

    Viele Grüße
    juemuc

    Hallo Reinerlein,

    ich habe das Problem nun weiter geprüft. Solange ich den Sub über die IP ausschließe, ist die Fehlermeldung
    ZitatSubscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 5396 thread 1.
    weg. Allerdings habe ich dann auch keine Infos mehr über den Sub.

    Ich hoffe, Du kannst mir helfen.

    Viele Grüße
    juemuc
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 26 Januar 2017, 23:05:45
    @elmer: allerdings sind das jetzt schon ungewöhnliche Meldungen ... welches Gerät hat denn bei dir die 192.168.167.29 bzw. die .33 ?
    Wie sieht denn die "define Sonos"-Zeile in deinem .cfg-File aus ?
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 27 Januar 2017, 12:57:24
    Die 29 ist ein Momematic LAN Gateway und die 33 ist der Raspberry Pi.

    DEF ist 192.168.197.33:4711 30 1 5

    Als erstes hatte ich localhost aber da kamen die Fehlermeldungen auch.

    Beim zweiten Mal lesen habe ich auch gesehen das Verbose kleiner wie drei sein soll, jetzt steht es auf eins.
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 27 Januar 2017, 13:24:51
    Was mich wundert ist
    Zitat von: elmer am 26 Januar 2017, 20:55:37
    2017.01.26 20:35:13 3: Can't connect to 192.168.197.29:2000: Connection refused
    sieht wie die Meldung von Sonos aus ... aber was will Sonos vom HMLAN ?
    Zitat von: elmer am 26 Januar 2017, 20:55:37
    2017.01.26 20:35:14 0: SONOS0: Retries left (wait 30s): 9
    und so eine Meldung habe ich noch nie gesehen
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 27 Januar 2017, 14:52:17
    Ich habe jetz noch 3mal neu gestartet und es sieht immer gleich aus, zuerst kommen einige Fehlermeldungen und danach scheint es doch zu gehen. Leider kann ich mit den ganzen Meldungen 0 anfangen aber irgend etwas scheint falsch zu sein.


    2017.01.27 14:43:09 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    2017.01.27 14:43:14 1: Including fhem.cfg
    2017.01.27 14:43:14 3: WEB: port 8083 opened
    2017.01.27 14:43:14 3: WEBphone: port 8084 opened
    2017.01.27 14:43:14 3: WEBtablet: port 8085 opened
    2017.01.27 14:43:14 2: eventTypes: loaded 1573 events from ./log/eventTypes.txt
    2017.01.27 14:43:14 3: Opening meinLGW device 192.168.197.29:2000
    2017.01.27 14:43:15 3: HUEDevice5: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice6: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice1: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice4: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice2: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice7: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice3: I/O device is bridge
    2017.01.27 14:43:15 3: HUEGroup1: I/O device is bridge
    2017.01.27 14:43:15 3: HUEGroup0: I/O device is bridge
    2017.01.27 14:43:15 3: HUEGroup2: I/O device is bridge
    2017.01.27 14:43:15 3: HUEGroup3: I/O device is bridge
    2017.01.27 14:43:15 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet:
    2017.01.27 14:43:15 3: Registering HTTPSRV TABLETUI for URL /ftui   and assigned link ftui/ ...
    2017.01.27 14:43:15 3: Jet: Defined with URL http://www.clever-tanken.de/tankstelle_details/43943 and interval 600
    2017.01.27 14:43:15 3: Aral: Defined with URL http://www.clever-tanken.de/tankstelle_details/11177 and interval 600
    2017.01.27 14:43:16 3: wetter_eigheim: Defined with URL http://api.wunderground.com/weatherstation/WXCurrentObXML.asp?ID=IBAYERNB14 and interval 300
    2017.01.27 14:43:16 3: Opening CUL1 device /dev/ttyACM0
    2017.01.27 14:43:16 3: Setting CUL1 serial parameters to 38400,8,N,1
    2017.01.27 14:43:16 3: CUL1: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
    2017.01.27 14:43:16 3: CUL1 device opened
    2017.01.27 14:43:16 3: Opening Rademacher device /dev/serial/by-id/usb-Rademacher_DuoFern_USB-Stick_WR03RBJ4-if00-port0
    2017.01.27 14:43:16 3: Setting Rademacher serial parameters to 115200,8,N,1
    2017.01.27 14:43:16 3: Rademacher device opened
    2017.01.27 14:43:18 3: mod_TV_Programme: Defined with URL http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html and interval 300
    2017.01.27 14:43:20 3: Opening Fritzbox device 192.168.197.3:2002
    2017.01.27 14:43:20 1: FBAHA Fritzbox registered with handle: 0000001f
    2017.01.27 14:43:20 3: Fritzbox device opened
    2017.01.27 14:43:20 3: Opening CallMonitor device 192.168.197.3:1012
    Current: "fhem.pl", gPath: "./FHEM"
    2017.01.27 14:43:21 1: Including ./log/fhem.save
    2017.01.27 14:43:21 3: Device HM_3E883A added to ActionDetector with 002:50 time
    2017.01.27 14:43:21 3: Device HM_3E8962 added to ActionDetector with 002:50 time
    2017.01.27 14:43:21 3: Device HM_4AE8E3 added to ActionDetector with 002:50 time
    2017.01.27 14:43:21 3: Device HM_4AE9A3 added to ActionDetector with 002:50 time
    2017.01.27 14:43:22 3: FB_CALLMONITOR (CallMonitor) - phonebooks found: Telefonbuch (id: 0), phonebook (id: 1), Anneliese (id: 2)
    2017.01.27 14:43:22 2: FB_CALLMONITOR (CallMonitor) - read 24 contacts from remote phonebook "Telefonbuch"
    2017.01.27 14:43:22 2: FB_CALLMONITOR (CallMonitor) - read 22 contacts from remote phonebook "phonebook"
    2017.01.27 14:43:23 2: FB_CALLMONITOR (CallMonitor) - read 9 contacts from remote phonebook "Anneliese"
    2017.01.27 14:43:26 3: HarmonyController: ssdp responder started
    2017.01.27 14:43:26 3: HarmonyController: listener started
    2017.01.27 14:43:26 3: Harmony_Hub: connected
    2017.01.27 14:43:26 1: usb create starting
    2017.01.27 14:43:26 3: Probing CUL device /dev/ttyAMA0
    2017.01.27 14:43:26 3: Probing TCM_ESP3 device /dev/ttyAMA0
    2017.01.27 14:43:27 3: Probing FRM device /dev/ttyAMA0
    2017.01.27 14:43:32 1: usb create end
    2017.01.27 14:43:32 0: Featurelevel: 5.7
    2017.01.27 14:43:32 0: Server started with 135 defined entities (fhem.pl:13210/2017-01-23 perl:5.020002 os:linux user:fhem pid:14000)
    2017.01.27 14:43:32 3: telnetForBlockingFn_1485524612.52344: port 46657 opened
    2017.01.27 14:43:32 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 1 Sekunde(n) darauf...
    2017.01.27 14:43:32 3: Can't connect to 192.168.197.29:2000: Illegal seek
    2017.01.27 14:43:32 3: Can't connect to 192.168.197.29:2000: 192.168.197.29: Connection reset by peer
    2017.01.27 14:43:32 3: CallMonitor device opened
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2017.01.27 14:43:33 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 8364.

    2017.01.27 14:43:33 0: SONOS0: Retries left (wait 30s): 9
    2017.01.27 14:43:35 3: Opening Sonos device 192.168.197.33:4711
    2017.01.27 14:43:35 3: Can't connect to 192.168.197.33:4711: Connection refused
    2017.01.27 14:43:35 3: Jet: Read callback: request type was update retry 0, no headers, body empty,
    Error: write to http://www.clever-tanken.de:80 timed out
    2017.01.27 14:43:35 3: Aral: Read callback: request type was update retry 0, no headers, body empty,
    Error: write to http://www.clever-tanken.de:80 timed out
    2017.01.27 14:43:35 3: wetter_eigheim: Read callback: request type was update retry 0, no headers, body empty,
    Error: write to http://api.wunderground.com:80 timed out
    2017.01.27 14:43:35 3: mod_TV_Programme: Read callback: request type was update retry 0, no headers, body empty,
    Error: write to http://www.klack.de:80 timed out
    2017.01.27 14:43:37 3: Harmony_Hub: new config
    2017.01.27 14:44:03 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 8364.

    2017.01.27 14:44:03 0: SONOS0: Retries left (wait 30s): 8
    2017.01.27 14:44:32 3: Opening meinLGW:keepAlive device 192.168.197.29:2001
    2017.01.27 14:44:32 1: 192.168.197.29:2000 reappeared (meinLGW)
    2017.01.27 14:44:32 3: meinLGW:keepAlive device opened
    2017.01.27 14:44:32 3: HMUARTLGW meinLGW BidCoS-port opened
    2017.01.27 14:44:32 3: HMUARTLGW meinLGW:keepAlive KeepAlive-port opened
    2017.01.27 14:44:33 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2017.01.27 14:44:36 3: SONOS0: Connection accepted from raspberrypi.fritz.box:56718
    2017.01.27 14:44:36 1: 192.168.197.33:4711 reappeared (Sonos)
    2017.01.27 14:44:39 1: HMUARTLGW meinLGW did not respond for the 1. time, resending
    2017.01.27 14:44:39 3: SONOS1: UPnP-Thread gestartet.
    2017.01.27 14:44:39 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2017.01.27 14:44:39 2: SONOS1: Discover Sonosplayer 'Bad' (S6) Software Revision 7.1 with ID 'RINCON_5CAAFD05436801400_MR'
    2017.01.27 14:44:39 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2017.01.27 14:44:40 2: SONOS1: SonosPlayer 'Bad' (S6) with ID 'RINCON_5CAAFD05436801400_MR' is already defined (as 'Sonos_Bad') and will only be updated
    2017.01.27 14:44:40 2: SONOS1: SonosPlayer 'Bad' is now updated
    2017.01.27 14:44:40 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002251
    2017.01.27 14:44:40 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002252
    2017.01.27 14:44:40 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002253
    2017.01.27 14:44:40 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002254
    2017.01.27 14:44:40 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002255
    2017.01.27 14:44:40 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002256
    2017.01.27 14:44:40 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002257
    2017.01.27 14:44:40 2: SONOS1: AudioIn-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002258
    2017.01.27 14:44:40 3: SONOS1: Discover: End of discover-event for "Bad".
    2017.01.27 14:44:40 2: SONOS1: Discover Sonosplayer 'Küche' (S6) Software Revision 7.1 with ID 'RINCON_5CAAFD01DBDE01400_MR'
    2017.01.27 14:44:41 2: SONOS1: SonosPlayer 'Kueche' (S6) with ID 'RINCON_5CAAFD01DBDE01400_MR' is already defined (as 'Sonos_Kueche') and will only be updated
    2017.01.27 14:44:41 2: SONOS1: SonosPlayer 'Kueche' is now updated
    2017.01.27 14:44:41 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002264
    2017.01.27 14:44:41 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002265
    2017.01.27 14:44:41 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002266
    2017.01.27 14:44:41 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002267
    2017.01.27 14:44:41 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002268
    2017.01.27 14:44:41 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002269
    2017.01.27 14:44:41 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002270
    2017.01.27 14:44:41 2: SONOS1: AudioIn-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002271
    2017.01.27 14:44:41 3: SONOS1: Discover: End of discover-event for "Küche".
    2017.01.27 14:44:41 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: Received AudioIn-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: End of AudioIn-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: Received AudioIn-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: End of AudioIn-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 1: HMUARTLGW meinLGW did not respond for the 2. time, resending
    2017.01.27 14:44:45 1: HMUARTLGW meinLGW did not respond for the 3. time, resending
    2017.01.27 14:44:48 1: HMUARTLGW meinLGW did not respond after all, reopening
    2017.01.27 14:44:48 3: meinLGW device closed
    2017.01.27 14:44:48 3: Opening meinLGW:keepAlive device 192.168.197.29:2001
    2017.01.27 14:44:48 1: 192.168.197.29:2000 reappeared (meinLGW)
    2017.01.27 14:44:48 3: meinLGW:keepAlive device opened
    2017.01.27 14:44:48 3: HMUARTLGW meinLGW BidCoS-port opened
    2017.01.27 14:44:48 3: HMUARTLGW meinLGW:keepAlive KeepAlive-port opened
    2017.01.27 14:45:42 3: SONOS0: Connection accepted from raspberrypi.fritz.box:56868
    2017.01.27 14:46:12 3: SONOS0: Connection accepted from raspberrypi.fritz.box:56870
    Titel: Antw:Sonos steuern
    Beitrag von: DeeSPe am 27 Januar 2017, 15:00:18
    Zitat von: elmer am 27 Januar 2017, 14:52:17
    Ich habe jetz noch 3mal neu gestartet und es sieht immer gleich aus, zuerst kommen einige Fehlermeldungen und danach scheint es doch zu gehen. Leider kann ich mit den ganzen Meldungen 0 anfangen aber irgend etwas scheint falsch zu sein.


    2017.01.27 14:43:09 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    2017.01.27 14:43:14 1: Including fhem.cfg
    2017.01.27 14:43:14 3: WEB: port 8083 opened
    2017.01.27 14:43:14 3: WEBphone: port 8084 opened
    2017.01.27 14:43:14 3: WEBtablet: port 8085 opened
    2017.01.27 14:43:14 2: eventTypes: loaded 1573 events from ./log/eventTypes.txt
    2017.01.27 14:43:14 3: Opening meinLGW device 192.168.197.29:2000
    2017.01.27 14:43:15 3: HUEDevice5: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice6: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice1: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice4: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice2: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice7: I/O device is bridge
    2017.01.27 14:43:15 3: HUEDevice3: I/O device is bridge
    2017.01.27 14:43:15 3: HUEGroup1: I/O device is bridge
    2017.01.27 14:43:15 3: HUEGroup0: I/O device is bridge
    2017.01.27 14:43:15 3: HUEGroup2: I/O device is bridge
    2017.01.27 14:43:15 3: HUEGroup3: I/O device is bridge
    2017.01.27 14:43:15 3: TABLETUI: new ext defined infix:ftui/: dir:./www/tablet:
    2017.01.27 14:43:15 3: Registering HTTPSRV TABLETUI for URL /ftui   and assigned link ftui/ ...
    2017.01.27 14:43:15 3: Jet: Defined with URL http://www.clever-tanken.de/tankstelle_details/43943 and interval 600
    2017.01.27 14:43:15 3: Aral: Defined with URL http://www.clever-tanken.de/tankstelle_details/11177 and interval 600
    2017.01.27 14:43:16 3: wetter_eigheim: Defined with URL http://api.wunderground.com/weatherstation/WXCurrentObXML.asp?ID=IBAYERNB14 and interval 300
    2017.01.27 14:43:16 3: Opening CUL1 device /dev/ttyACM0
    2017.01.27 14:43:16 3: Setting CUL1 serial parameters to 38400,8,N,1
    2017.01.27 14:43:16 3: CUL1: Possible commands: BbCFiAZNkGMKUYRTVWXefmLltux
    2017.01.27 14:43:16 3: CUL1 device opened
    2017.01.27 14:43:16 3: Opening Rademacher device /dev/serial/by-id/usb-Rademacher_DuoFern_USB-Stick_WR03RBJ4-if00-port0
    2017.01.27 14:43:16 3: Setting Rademacher serial parameters to 115200,8,N,1
    2017.01.27 14:43:16 3: Rademacher device opened
    2017.01.27 14:43:18 3: mod_TV_Programme: Defined with URL http://www.klack.de/fernsehprogramm/was-laeuft-gerade/0/0/all.html and interval 300
    2017.01.27 14:43:20 3: Opening Fritzbox device 192.168.197.3:2002
    2017.01.27 14:43:20 1: FBAHA Fritzbox registered with handle: 0000001f
    2017.01.27 14:43:20 3: Fritzbox device opened
    2017.01.27 14:43:20 3: Opening CallMonitor device 192.168.197.3:1012
    Current: "fhem.pl", gPath: "./FHEM"
    2017.01.27 14:43:21 1: Including ./log/fhem.save
    2017.01.27 14:43:21 3: Device HM_3E883A added to ActionDetector with 002:50 time
    2017.01.27 14:43:21 3: Device HM_3E8962 added to ActionDetector with 002:50 time
    2017.01.27 14:43:21 3: Device HM_4AE8E3 added to ActionDetector with 002:50 time
    2017.01.27 14:43:21 3: Device HM_4AE9A3 added to ActionDetector with 002:50 time
    2017.01.27 14:43:22 3: FB_CALLMONITOR (CallMonitor) - phonebooks found: Telefonbuch (id: 0), phonebook (id: 1), Anneliese (id: 2)
    2017.01.27 14:43:22 2: FB_CALLMONITOR (CallMonitor) - read 24 contacts from remote phonebook "Telefonbuch"
    2017.01.27 14:43:22 2: FB_CALLMONITOR (CallMonitor) - read 22 contacts from remote phonebook "phonebook"
    2017.01.27 14:43:23 2: FB_CALLMONITOR (CallMonitor) - read 9 contacts from remote phonebook "Anneliese"
    2017.01.27 14:43:26 3: HarmonyController: ssdp responder started
    2017.01.27 14:43:26 3: HarmonyController: listener started
    2017.01.27 14:43:26 3: Harmony_Hub: connected
    2017.01.27 14:43:26 1: usb create starting
    2017.01.27 14:43:26 3: Probing CUL device /dev/ttyAMA0
    2017.01.27 14:43:26 3: Probing TCM_ESP3 device /dev/ttyAMA0
    2017.01.27 14:43:27 3: Probing FRM device /dev/ttyAMA0
    2017.01.27 14:43:32 1: usb create end
    2017.01.27 14:43:32 0: Featurelevel: 5.7
    2017.01.27 14:43:32 0: Server started with 135 defined entities (fhem.pl:13210/2017-01-23 perl:5.020002 os:linux user:fhem pid:14000)
    2017.01.27 14:43:32 3: telnetForBlockingFn_1485524612.52344: port 46657 opened
    2017.01.27 14:43:32 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 1 Sekunde(n) darauf...
    2017.01.27 14:43:32 3: Can't connect to 192.168.197.29:2000: Illegal seek
    2017.01.27 14:43:32 3: Can't connect to 192.168.197.29:2000: 192.168.197.29: Connection reset by peer
    2017.01.27 14:43:32 3: CallMonitor device opened
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2017.01.27 14:43:33 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 8364.

    2017.01.27 14:43:33 0: SONOS0: Retries left (wait 30s): 9
    2017.01.27 14:43:35 3: Opening Sonos device 192.168.197.33:4711
    2017.01.27 14:43:35 3: Can't connect to 192.168.197.33:4711: Connection refused
    2017.01.27 14:43:35 3: Jet: Read callback: request type was update retry 0, no headers, body empty,
    Error: write to http://www.clever-tanken.de:80 timed out
    2017.01.27 14:43:35 3: Aral: Read callback: request type was update retry 0, no headers, body empty,
    Error: write to http://www.clever-tanken.de:80 timed out
    2017.01.27 14:43:35 3: wetter_eigheim: Read callback: request type was update retry 0, no headers, body empty,
    Error: write to http://api.wunderground.com:80 timed out
    2017.01.27 14:43:35 3: mod_TV_Programme: Read callback: request type was update retry 0, no headers, body empty,
    Error: write to http://www.klack.de:80 timed out
    2017.01.27 14:43:37 3: Harmony_Hub: new config
    2017.01.27 14:44:03 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 8364.

    2017.01.27 14:44:03 0: SONOS0: Retries left (wait 30s): 8
    2017.01.27 14:44:32 3: Opening meinLGW:keepAlive device 192.168.197.29:2001
    2017.01.27 14:44:32 1: 192.168.197.29:2000 reappeared (meinLGW)
    2017.01.27 14:44:32 3: meinLGW:keepAlive device opened
    2017.01.27 14:44:32 3: HMUARTLGW meinLGW BidCoS-port opened
    2017.01.27 14:44:32 3: HMUARTLGW meinLGW:keepAlive KeepAlive-port opened
    2017.01.27 14:44:33 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2017.01.27 14:44:36 3: SONOS0: Connection accepted from raspberrypi.fritz.box:56718
    2017.01.27 14:44:36 1: 192.168.197.33:4711 reappeared (Sonos)
    2017.01.27 14:44:39 1: HMUARTLGW meinLGW did not respond for the 1. time, resending
    2017.01.27 14:44:39 3: SONOS1: UPnP-Thread gestartet.
    2017.01.27 14:44:39 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2017.01.27 14:44:39 2: SONOS1: Discover Sonosplayer 'Bad' (S6) Software Revision 7.1 with ID 'RINCON_5CAAFD05436801400_MR'
    2017.01.27 14:44:39 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2017.01.27 14:44:40 2: SONOS1: SonosPlayer 'Bad' (S6) with ID 'RINCON_5CAAFD05436801400_MR' is already defined (as 'Sonos_Bad') and will only be updated
    2017.01.27 14:44:40 2: SONOS1: SonosPlayer 'Bad' is now updated
    2017.01.27 14:44:40 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002251
    2017.01.27 14:44:40 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002252
    2017.01.27 14:44:40 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002253
    2017.01.27 14:44:40 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002254
    2017.01.27 14:44:40 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002255
    2017.01.27 14:44:40 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002256
    2017.01.27 14:44:40 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002257
    2017.01.27 14:44:40 2: SONOS1: AudioIn-Service-subscribing successful with SID=uuid:RINCON_5CAAFD05436801400_sub0000002258
    2017.01.27 14:44:40 3: SONOS1: Discover: End of discover-event for "Bad".
    2017.01.27 14:44:40 2: SONOS1: Discover Sonosplayer 'Küche' (S6) Software Revision 7.1 with ID 'RINCON_5CAAFD01DBDE01400_MR'
    2017.01.27 14:44:41 2: SONOS1: SonosPlayer 'Kueche' (S6) with ID 'RINCON_5CAAFD01DBDE01400_MR' is already defined (as 'Sonos_Kueche') and will only be updated
    2017.01.27 14:44:41 2: SONOS1: SonosPlayer 'Kueche' is now updated
    2017.01.27 14:44:41 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002264
    2017.01.27 14:44:41 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002265
    2017.01.27 14:44:41 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002266
    2017.01.27 14:44:41 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002267
    2017.01.27 14:44:41 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002268
    2017.01.27 14:44:41 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002269
    2017.01.27 14:44:41 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002270
    2017.01.27 14:44:41 2: SONOS1: AudioIn-Service-subscribing successful with SID=uuid:RINCON_5CAAFD01DBDE01400_sub0000002271
    2017.01.27 14:44:41 3: SONOS1: Discover: End of discover-event for "Küche".
    2017.01.27 14:44:41 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: Received AudioIn-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: End of AudioIn-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: Received AudioIn-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: End of AudioIn-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:41 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:41 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Bad".
    2017.01.27 14:44:42 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Kueche".
    2017.01.27 14:44:42 1: HMUARTLGW meinLGW did not respond for the 2. time, resending
    2017.01.27 14:44:45 1: HMUARTLGW meinLGW did not respond for the 3. time, resending
    2017.01.27 14:44:48 1: HMUARTLGW meinLGW did not respond after all, reopening
    2017.01.27 14:44:48 3: meinLGW device closed
    2017.01.27 14:44:48 3: Opening meinLGW:keepAlive device 192.168.197.29:2001
    2017.01.27 14:44:48 1: 192.168.197.29:2000 reappeared (meinLGW)
    2017.01.27 14:44:48 3: meinLGW:keepAlive device opened
    2017.01.27 14:44:48 3: HMUARTLGW meinLGW BidCoS-port opened
    2017.01.27 14:44:48 3: HMUARTLGW meinLGW:keepAlive KeepAlive-port opened
    2017.01.27 14:45:42 3: SONOS0: Connection accepted from raspberrypi.fritz.box:56868
    2017.01.27 14:46:12 3: SONOS0: Connection accepted from raspberrypi.fritz.box:56870

    Wo genau sind da Fehlermeldungen??
    Ich kann keine entdecken!

    Gruß
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 27 Januar 2017, 15:01:16
    Hallo Elmer,

    schon mal gewundert warum es bei anderen anders aussieht wenn sie Listen posten?!
    Die Auflösung des Rätsels sind Code Tags, die findest über dem Smily  :-X die # Taste. Dazwischen kommt Dein Code/Log/List

    Was scheint jetzt Deiner Meinung nach falsch zu sein? Was geht nicht?

    Oder liest Du nur einfach Hinweise nicht?

    Zitat von: Otto123 am 26 Januar 2017, 18:02:13
    Hi,
    das Sonos Modul ist sehr geschwätzig. Ich betreibe das mit attr Sonos verbose 1

    Gruß Otto

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 27 Januar 2017, 15:01:50
    Zitat von: DeeSPe am 27 Januar 2017, 15:00:18
    Wo genau sind da Fehlermeldungen??
    Ich kann keine entdecken!

    Gruß
    Dan

    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2017.01.27 14:43:33 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 8364.
    Titel: Antw:Sonos steuern
    Beitrag von: DeeSPe am 27 Januar 2017, 15:03:29
    Zitat von: Fixel2012 am 27 Januar 2017, 15:01:50
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2017.01.27 14:43:33 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 8364.


    Das ist keine Fehlermeldung sondern lediglich ein Hinweis!

    Gruß
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 27 Januar 2017, 15:04:45
    Zitat von: Fixel2012 am 27 Januar 2017, 15:01:50
    Current: "./FHEM/00_SONOS.pm", gPath: ""
    2017.01.27 14:43:33 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 8364.

    Ist temporär fast "normal". Ab hier ist doch alles gut:
    2017.01.27 14:44:33 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2017.01.27 14:44:36 3: SONOS0: Connection accepted from raspberrypi.fritz.box:56718


    gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 27 Januar 2017, 16:18:00
    Ok, das nächst mal weiß ich wohin mit dem Code.

    Verbose habe ich verstellt zum testen ob es einen Unterschied macht, ist aber jetzt wieder auf 1.

    Also sieht alles schlimmer aus wie es ist und ich kann es so laufen lassen wenn es geht.

    Ich habe aber noch ein Problem, ich lasse die Namen der Anrufer über den Sonos ausgeben die bei mir anrufen. Leider sind wir mehrere Parteien, die an der Fritzbox ihr Telefon angemeldet haben, und somit bekomme ich bei jedem ankommenden Anruf eine Durchsage, egal auf welchem Telefon der Anruf rein kommt.

    Ist es möglich eine bestimmte Nummer zu vergeben, damit nur auf dieser einen Nummer eine Ansage kommt wenn ein Anruf rein kommt?
    Titel: Antw:Sonos steuern
    Beitrag von: Schiri1986 am 27 Januar 2017, 18:56:58
    Zitat von: elmer am 27 Januar 2017, 16:18:00
    Ist es möglich eine bestimmte Nummer zu vergeben, damit nur auf dieser einen Nummer eine Ansage kommt wenn ein Anruf rein kommt?

    Benutzt du dafür FB_Callmonitor? Dort wird beim Event auch "internal_number" mitgegeben, darauf kannst du dann filtern in deinem Notify.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 27 Januar 2017, 21:26:56
    Zitat von: elmer am 27 Januar 2017, 16:18:00
    Ich habe aber noch ein Problem, ich lasse die Namen der Anrufer über den Sonos ausgeben die bei mir anrufen. Leider sind wir mehrere Parteien, die an der Fritzbox ihr Telefon angemeldet haben, und somit bekomme ich bei jedem ankommenden Anruf eine Durchsage, egal auf welchem Telefon der Anruf rein kommt.

    Ist es möglich eine bestimmte Nummer zu vergeben, damit nur auf dieser einen Nummer eine Ansage kommt wenn ein Anruf rein kommt?
    Hi,

    ich mache das so:define nty_AnrufKlingelt notify FBMon:.*ring { \
      my $number=(ReadingsVal("FBMon","internal_number",99));;\
      my $Anrufer=(ReadingsVal("FBMon","external_number",99));;\
      my $AnruferName=(ReadingsVal("FBMon","external_name",99));;\
      if (($number == 9412147) and Value("ET9200") eq "on"){ \
        fhem "set ET9200 showtext Anruf von $AnruferName $Anrufer";;\
      } \
    }
    Ist zwar nicht die Ausgabe auf Sonos, aber der Filter nach dem angerufenem Telefon.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 28 Januar 2017, 21:49:44
    Ja, ich mache das ganze mit CallMonitor, also fehlt bei mir der Code mit der internen Nummer, bei mir sieht es so aus.

       
    CallMonitor:event:.ring {my $name=(ReadingsVal("CallMonitor","external_name",0));;
    if($name eq "M...... Handy") {fhem ("set Sonos_Kueche Speak 70 de $name ruft an.")};;

    PS: Shortcuts geht irgendwie bei mir nicht, ich glaube das liegt an meinem geblockten Java oder NoScript...

    Ok, eben habe ich diesen Code mit meiner Nummer eingefügt aber der Sonos reagiert immer noch auf allen Anrufen.

    my $number=(ReadingsVal("CallMonitor","internal_number",95....));;

    Titel: Antw:Sonos steuern
    Beitrag von: twistedtails am 29 Januar 2017, 10:35:25
    Moin zusammen,

    ich habe gerade neu mit Fhem angefangen und hätte eine kurze Frage zur Sonos-Steuerung.

    Ich würde gerne über das Tablet-UI per Knopfdruck auf allen Boxen in der Gruppe einen Radiosender wiedergeben, sodass ich nach dem Aufwachen am Morgen relativ einfach die Musik einschalten kann.
    Hat jemand vielleicht einen Programmschnipsel oder ein paar Schlagwörter an den ich ansetzen kann?

    Die Einzelwiedergabe ist bereits ohne Probleme möglich, da gibt es ja bereits einige Programmbeispiele im Forum.

    Danke vorab für eure Unterstützung.
    Titel: Antw:Sonos steuern
    Beitrag von: Schiri1986 am 29 Januar 2017, 11:17:02
    Zitat von: twistedtails am 29 Januar 2017, 10:35:25
    Moin zusammen,

    ich habe gerade neu mit Fhem angefangen und hätte eine kurze Frage zur Sonos-Steuerung.

    Ich würde gerne über das Tablet-UI per Knopfdruck auf allen Boxen in der Gruppe einen Radiosender wiedergeben, sodass ich nach dem Aufwachen am Morgen relativ einfach die Musik einschalten kann.
    Hat jemand vielleicht einen Programmschnipsel oder ein paar Schlagwörter an den ich ansetzen kann?

    Die Einzelwiedergabe ist bereits ohne Probleme möglich, da gibt es ja bereits einige Programmbeispiele im Forum.

    Danke vorab für eure Unterstützung.

    Ohne jetzt groß nachzudenken, würde ich sagen: Du musst dir eine kleine Routine schreiben, die die folgenden beiden Befehle in dieser Reihenfolge ausführt:

    set Sonos Groups [Sonos_Bad, Sonos_Kueche];;set Sonos_Bad StartRadio DEINRADIOSENDER

    Wobei du das natürlich durch deine Devices ersetzen musst. Der erste Player, den du in der Gruppe definierst, muss anschließend (weil er der Master ist) den Befehl für das Radio bekommen.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 29 Januar 2017, 11:33:49
    Zitat von: elmer am 28 Januar 2017, 21:49:44
    Ja, ich mache das ganze mit CallMonitor, also fehlt bei mir der Code mit der internen Nummer, bei mir sieht es so aus.

       
    CallMonitor:event:.ring {my $name=(ReadingsVal("CallMonitor","external_name",0));;
    if($name eq "M...... Handy") {fhem ("set Sonos_Kueche Speak 70 de $name ruft an.")};;

    PS: Shortcuts geht irgendwie bei mir nicht, ich glaube das liegt an meinem geblockten Java oder NoScript...

    Ok, eben habe ich diesen Code mit meiner Nummer eingefügt aber der Sonos reagiert immer noch auf allen Anrufen.

    my $number=(ReadingsVal("CallMonitor","internal_number",95....));;
    Sorry Elmer, ich kann nicht mehr liefern als einen komplett funktionierenden Code. Du darfst natürlich nicht nur die internal $number als Variable beschreiben Du musst sie auch auswerten.  :-\

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 29 Januar 2017, 16:55:45
    @Otto123

    Dein Code geht aber nicht bei mir wenn ich den vollständig übernehme, da kommt dann keine einzige Durchsage mehr.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 29 Januar 2017, 17:46:21
    Zitat von: elmer am 29 Januar 2017, 16:55:45
    @Otto123

    Dein Code geht aber nicht bei mir wenn ich den vollständig übernehme, da kommt dann keine einzige Durchsage mehr.
    Und soll ich jetzt raten, was Du falsch abgeschrieben hast? Ich meine klar funktioniert mein Code nicht bei Dir:
    Andere Telefonnummer
    Nicht Ausgabe Sonos sondern Ausgabe auf dem Fernseher.
    Meine Namen sind alle anders.

    Also wie wäre es wenn Du z.B. ein list von DEINEM notify zeigst?
    Oder von mir aus Dein define komplett!
    Und bitte in Codetags, die bekommst Du mit der # Taste über den Smilies.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 30 Januar 2017, 18:32:02
    CallMonitor:.*ring { \
    my $number=(ReadingsVal("CallMonitor","internal_number",99));;
      my $Anrufer=(ReadingsVal("CallMonitor","external_number",99));;
      my $AnruferName=(ReadingsVal("CallMonitor","external_name",99));;
      if (($number == 959634) and Value("SONOS") eq "on"){
        fhem "Speak SONOS showtext Anruf von $AnruferName $Anrufer";;
      }
    }
    if($name eq "M..... Handy") {fhem ("set Sonos_Kueche Speak 70 de $name ruft an.")};;


    Ich bekomme das einfach nicht zum laufen, so sieht es im Moment aus aber da geht jetzt gar nichts mehr...

    Wenn ich es so mache geht es, aber reagiert eben auf alle ankommenden Anrufe, wie schreibe ich es richtig?

    CallMonitor:event:.ring {my $name=(ReadingsVal("CallMonitor","external_name",0));;
    if($name eq "M..... Handy") {fhem ("set Sonos_Kueche Speak 70 de $name ruft an.")};;
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 30 Januar 2017, 21:51:28
    Hallo Elmer,

    CallMonitor:.*ring {
      my $number=(ReadingsVal("CallMonitor","internal_number",99));;
      my $Anrufer=(ReadingsVal("CallMonitor","external_number",99));;
      my $AnruferName=(ReadingsVal("CallMonitor","external_name",99));;
      if ($number == 959634) { fhem "set Sonos_Kueche Speak 70 de $AnruferName $Anrufer ruft an";;}}


    Zur Erklärung:
    Das notify reagiert auf .*ring du kannst sicher auch event:.ring nehmen. Hab ich nicht probiert.
    Die ersten 3 Zeilen laden Werte aus dem CallMonitor.
    Die letzte Zeile testet die Nummer und gibt den Text aus. Ob Du da Name und Nummer drin haben willst musst Du wissen.

    Bei mir musste ich abtesten ob der Sat Receiver an ist, deswegen war die if Bedingung anders. Das Du Deine if Zeile da einfach hin anhängst war witzlos.

    Das Deine if Bedingung auf alle ankommenden Rufe reagieren soll, verstehe ich nicht!?

    if($name eq "M..... Handy") 

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 01 Februar 2017, 12:27:34
    Hallo Reinerlein,

    ZitatHallo Reinerlein,

    ich habe das Problem nun weiter geprüft. Solange ich den Sub über die IP ausschließe, ist die Fehlermeldung

    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 5396 thread 1.


    weg. Allerdings habe ich dann auch keine Infos mehr über den Sub.

    Ich kann nur bestätigen was "juemuc" gemeldet hat. Es sind die Surround/Sub welche wenn di IP ausgeschlossen wird, der fehler nicht mehr auftaucht.
    Aber wie schon erwähnt fehlt dann jegliche Information von denen, was ja auch nicht das Ziel ist.

    Grüsse
    Eric

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Februar 2017, 14:33:05
    Hi Eric,

    funktioniert es denn, wenn du das Attribut "minVolume" (u.ä., also auch "maxVolume" oder so) von dem Device löschst?
    Dann müsste ich da nur eine Ausnahme einsetzen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 02 Februar 2017, 20:23:57
    @Otto123

    Konnte leider heute erst testen ob es geht, und was soll ich sagen, jaaa es geht endlich so wie ich es wollte.

    Danke für die Hilfe
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Februar 2017, 13:06:41
    Hallo Eric,

    konntest du das mit dem minVolume mal testen?
    Wenn ja, wie lautet denn der PlayerType für die problematischen Player? Dann kann ich den Verbindungsversuch für die Renderinginformationen dafür direkt unterbinden...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 05 Februar 2017, 13:50:07
    Hallo Reiner

    Es scheint zu funktionieren, dass die Fehlermeldung weg ist. Ich habe bei einem Surround das Attr minVolume gelöscht. Beim zweiten liess ich noch das Attr. stehen. Da habe ich jetzt die Fehlermeldung zweimal ansonsten ist sie 4mal vorhanden.
    Habe es dann bei dem zweiten auch gelöscht und nun sind die Meldungen im Log nicht mehr vorhanden.

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Februar 2017, 14:06:35
    Hi Eric,

    super... kannst du mir noch kurz die angezeigten verschiedenen PlayerType-Readings nennen? Ich habe die selber nicht...

    Danke schon mal.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoeALLb am 05 Februar 2017, 14:51:27
    Hm, ist es nur bei mir so, wollt emal in die Runde fragen:
    Seit meinem letzten Update (davor was FHEM grob 1 Jahr unverändert!) habe ich
    auf einem relativ schnellen Gerät große Verzögerungen.
    Ein Notify zum Verbinden von 2 Gruppen wird schon lange abgesetztm bevor ich im Eventmonitor
    das dazugehörige Event angezeigt bekomme.
    Auch FHEM-Telnet blockiert für ca. 10 Sekunden, wenn ich über den Sonos-Controller
    auf einen anderen Titel wechsle.
    Da ich hier in den letzten Messages nichts diesbezüglich gelesen habe, befürchte ich fast, dass es mit meinem System zusammenhängt...
    aber Idee habe ich noch keine!

    sG
    Joe
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 07 Februar 2017, 11:10:36
    Hallo Reiner

    Ich hoffe dies ist was du benötigst:

    SubWoofer:
    playerType = Sub
    fieldType = SW

    bei den Surround's ist es etwas anders. Bei mir sind es Play1 Lautsprecher somit ergibt sich:
    playerType = S1
    fieldType = RR (für den rechten)
    fieldType = LR (für den linken)


    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 Februar 2017, 17:02:39
    Hi Eric,

    danke, und du hast das Problem auch bei den beiden Play1, wenn sie als SurroundBox eingerichtet sind?
    Bei dem Sub kann ich mir das ja erklären, der hat das ja dann Hardwarebedingt nicht, da er niemals alleine funktionsfähig wäre, aber die beiden Play1 sollten eigentlich normal klappen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 08 Februar 2017, 09:35:23
    Hallo Reiner,

    ja das habe ich auch bei den beiden Play1 wenn sie als SurroundBox definiert sind.
    Ich denke Sonos behandelt die dann etwas anders.

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 10 Februar 2017, 13:45:38
    HI Reinerlein,

    Konntest du schon das relative "CurrentTrackPosition" einbauen? <liebGuck>
    Titel: Antw:Sonos steuern
    Beitrag von: octek0815 am 05 März 2017, 20:42:21
    Hallo,

    bei mir wird der Volume Wert nicht mehr aktualisiert.
    Egal ob über den Sonos-Controller oder über das FHEM-Sonos Modul.
    Was könnte das sein?

    Viele Grüße
    Olli
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 März 2017, 00:10:46
    Hi Olli,

    du must eines der (max|min)Volume-Attribute setzen. Am Besten also minVolume auf "0" setzen, wenn du eigentlich keine Lautstärkenbeschränkung haben willst...

    Wenn du dann auch noch ein Event (z.B. für eine longpoll-Aktualisierung) für jede Änderung möchtest, dann musst du auch noch das Attribut "generateVolumeEvent" auf "1" setzen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 06 März 2017, 08:01:09
    Hi Reinerlein,
    Konntest du schon das relative "CurrentTrackPosition" einbauen? Ein "set currentTrackPosition -30" funktioniert irgendwie (noch??) nicht.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 März 2017, 11:50:54
    Hi Tobias,

    ich denke, dass ich die nächsten Tage einchecke. Ich hatte hier bei meinen Änderungen noch einen fiesen Fehler drin, der zum Absturz von Fhem geführt hatte (bzw. zur immerwährenden Blockade). Der ist jetzt erstmal raus, und ich teste das gerade... sieht aber gut aus :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 06 März 2017, 12:50:50
    ahh, alles klar...  ;D
    Titel: Antw:Sonos steuern
    Beitrag von: octek0815 am 06 März 2017, 19:25:44
    Zitat von: Reinerlein am 06 März 2017, 00:10:46
    Hi Olli,

    du must eines der (max|min)Volume-Attribute setzen. Am Besten also minVolume auf "0" setzen, wenn du eigentlich keine Lautstärkenbeschränkung haben willst...

    Wenn du dann auch noch ein Event (z.B. für eine longpoll-Aktualisierung) für jede Änderung möchtest, dann musst du auch noch das Attribut "generateVolumeEvent" auf "1" setzen...

    Grüße
    Reiner

    Hallo Reiner,

    vielen Dank für deine prompte Antwort. Ich wollte ich dich mit so einer Lappalie nicht behelligen, da es ja eigentlich sehr gut in der Wiki beschrieben ist.
    Nachdem ich das so wie du geschrieben hast umgesetzt habe, funktioniert es auch wieder, obwohl ich es auch vorher so schon mehrfach probiert hatte.
    Vielleicht half auch einfach der anschließende Neustart von FHEM.

    LG
    Olli

    PS: Ich bekomme derzeit bei jedem FHEM Start folgende Meldung im Log:
    PERL WARNING: Redundant argument in sprintf at ./FHEM/00_SONOS.pm line 572.
    Ist glaube ich seit dem 5.8er Update.



    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 11 März 2017, 18:32:41
    Ich lasse mir auf einem Sonos Lautsprecher ansagen wer gerade anruft.
    CallMonitor:.*ring {
      my $number=(ReadingsVal("CallMonitor","internal_number",99));;
      my $Anrufer=(ReadingsVal("CallMonitor","external_number",99));;
      my $AnruferName=(ReadingsVal("CallMonitor","external_name",99));;
      if ($number == 959634) { fhem "set Sonos_Kueche Speak 60 de $AnruferName $Anrufer ruft an";;}}



    Jetzt möchte ich das die Ansage auch im Bad gemacht wird, leider bekomme ich keine synchrone Ansage.

    Ist es möglich den Sonos im Bad mit in dieses Script aufzunehmen und die Ansage nur in Lautstärke 20 auszugeben und in der Küche mit Lautstärke 60.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 12 März 2017, 19:18:34
    Hi Elmer,

    dazu musst Du einfach vor der Ansage eine Gruppe definieren, sonst funktioniert das synchron nicht.

    Allerdings dauert die Gruppierung immer einen Moment.

    z.B. mit set <Sonos> Groups, oder set <Player> AddMember ...

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 12 März 2017, 19:24:44
    das dauert leider sogar so lange das es für zeitnahe ansagen nicht zu gebrauchen ist.
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 13 März 2017, 19:03:05
    Die Player hatte ich vorher in eine Gruppe gesteckt
    set Sonos Groups [Sonos_Kueche, Sonos_Bad]

    Leider klappte die Ansage nur, wenn ich gerade Musik gehört habe, wenn die Musik aus war, bekam ich keine Ansage mehr.

    Dann hatte ich eben die Idee, das es vielleicht möglich ist die Ansage auf 2 Sonos auszugeben, in verschiedenen Lautstärken, auch wenn es nicht synchron ist.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 13 März 2017, 19:26:12
    Hallo Elmer,

    wenn Du den set Sonos Groups Befehl absetzt und danach gleich die Ansage - wird die Ansage "verschwinden". Das Sonos System braucht Zeit zum gruppieren.
    Du wirst also entweder einfach Zeit verstreichen lassen "sleep" oder Du musst noch ein Kriterium finden, dass die Gruppierung abgeschlossen ist.

    Normal muss die Ansage klappen, egal ob Musik läuft oder nicht. Aber eben nur Ansage.

    Wenn Du "überall" Ansage haben willst "wenn Ruhe ist", musst Du irgendwann am Tag "bei Ruhe" alle miteinander gruppieren. Dann kommt die Ansage überall.
    Ansonsten machst Du die Ansage dort wo etwas läuft, dann kommt es synchron dort wo es läuft und asynchron wo verschiedenes läuft.

    Abfragen könntest Du das über das Reading  transportState  -> ReadingsVal("Sonos_XXX","transportState","") eq "PLAYING

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 13 März 2017, 22:01:50
    Ok, muss ich mal am Wochenende in Ruhe noch mal alles testen.

    Ich habe aber noch ein Problem, ich habe für meine Frau eine Playlist erstellt, diese lade ich mit PlaylistsWithCovers. Wenn ich nun aber auf das Cover klicke startet die Playlist nicht, bei Favoriten funktioniert es, wenn man auf das Album Cover klickt startet die Wiedergabe.

    PS. Irgendwie war bei mir neben den Cover der Name der Playlist nicht vorhanden, jetzt wo dieser angezeigt wird kann man auf den Namen klicken und die Playlist startet.

    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 15 März 2017, 16:33:59
    Ich habe mir einen Dummy nach dieser Anleitung gemacht, mit diesem sage ich Alexa das Sie eine Playlist starten soll.

    define szene_TopHits dummy
    attr szene_TopHits alias TopHits
    attr szene_TopHits group Szenen
    attr szene_TopHits room alexa,sonos_automation
    attr szene_TopHits setList on off

    Code: [Auswählen]
    define TopHits_Sonos_control DOIF ([szene_TopHits] eq "on")(set Sonos_Wohnzimmer StartFavourite TopTracksGER) DOELSEIF ([szene_TopHits] eq "off")(set Sonos_Wohnzimmer EmptyPlaylist)
    attr TopHits_Sonos_control room sonos_automation



    Das funktioniert auch gut, aber wie kann ich den Dummy wieder ausschalten wenn ich den Sonos am Gerät direkt ausschalte. Wenn ich selbst ausschalte bleibt der Dummy auf on und ich kann beim nächsten mal die Playlist nicht mehr starten mit Alexa.

    Ist es möglich wenn sich das Reading vom Sonos von transportState von Play auf PAUSED_PLAYBACK ändert das sich der Dummy dann ausschaltet?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 15 März 2017, 20:14:45
    Zitat von: elmer am 15 März 2017, 16:33:59
    Ist es möglich wenn sich das Reading vom Sonos von transportState von Play auf PAUSED_PLAYBACK ändert das sich der Dummy dann ausschaltet?
    Hi,

    klar mit einem "Weg" Deiner Wahl: notify oder DOIF
    Du machst den Eventmonitor auf, schreibst dein Sonosdevice oben rein und schaust was passiert wenn Du play oder pause drückst.
    Da siehst Du sowas: Sonos_Buero transportState: PAUSED_PLAYBACK
    Du kannst Dir das notify dort seit kurzem fast direkt zusammenklicken. Ich denke so sollte es gehen:
    define nty_DummyAus notify <SonosPlayer>:transportState:.PAUSED_PLAYBACK set <dummy> aus

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 15 März 2017, 21:20:50
    Läuft ;)
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 16 März 2017, 18:26:17
    Jetzt kommt schon die nächste Baustelle :(

    Ich mache anscheinend etwas falsch wenn ich Bookmarks setze, ich möchte immer, das wenn ich einen Sonos aus mache, das auch die Position gespeichert wird. Irgendwie geht es manchmal und dann wieder nicht.

    Auf dem Raspberry habe ich mir einen Orner zum speichern ertellt, dort habe ich auch vier verschiedene Dateien für die Favoriten und für die Playlist drinn ( SONOS_BookmarksPlaylists_Sonos_Bad.....).

    Leider speichert es nicht immer ab vor allem bei der Playlist ist mir das aufgefallen, oder sind bei einem Fhem Neustart die Bookmarks weg, ich Check das nicht. Habe ich etwas vergessen einzustellen muß ich noch attr setzen damit das geht :(

    Weiß niemand was man genau einstellen muß damit immer alles automatisch gespeichert wird?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 März 2017, 09:02:57
    Hi Elmer,

    Die Bookmarks werden bei jedem globalen Save-Event gespeichert und wenn der SubProzess normal beendet wird. Das steht dann auch im Log auf Stufe 3.

    Außerdem kannst du einfach ein "set Sonos SaveBookmarks" absetzen, woraufhin sie auch gespeichert werden.
    Das gleiche gilt andesherum auch für das Laden der Bookmarks...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 17 März 2017, 15:13:57
    Per Hand speichern möchte ich eben vermeiden, da ich die Musik mit Alexa starte, sonst müsste ich wieder zum Tablet greifen.

    Ich möchte alles automatisch speichern, was mich eben gewundert hat das nicht immer automatisch abgespeichert wurde, deshalb dachte ich man muss noch zusätzlich irgendwelche attr setzen.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 März 2017, 15:21:20
    Hi Elmer,

    bedenke aber, dass bei einem FHEM Neustart kein implizites "save" ausgeführt wird. Das musst du manuell vor dem Neustart machen, oder zyklisch durchführen.

    Ich bin mir jetzt nicht ganz sicher, ob bei einem Player abschalten der korrekte Trigger für das Speichern der Bookmark-Informationen im Arbeitsspeicher kommt. Dort reagiere ich für die Titel natürlich auf Beginn und Ende der Wiedergabe (bzw. Titelwechsel), und für die Liste auf einen neuen Hashwert der Liste.
    Vielleicht vor dem Abschalten der Player (sofern du es über FHEM machst), erst die Wiedergabe anhalten...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 18 März 2017, 10:49:51
    Heute ist mir aufgefallen, wenn ich sage Alexa schalte ... ein, und die Wiedergabe wird am Tablet gestoppt, speichert Sonos die letzte Position.

    Wenn ich aber zum Stoppen sage, Alexe schalte ... aus wird nicht gespeichert und beim nächsten Start geht es von vorne los.

    Kann man evtl. beim stoppen einen Save Befehl mit senden?

    ([szene_Memento_Favourite_Bad] eq "on")(set Sonos_Bad StartFavourite Memento) DOELSEIF ([szene_Memento_Favourite_Bad] eq "off")(set Sonos_Bad Stop)
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 18 März 2017, 10:51:43
    Zitat von: elmer am 18 März 2017, 10:49:51
    Heute ist mir aufgefallen, wenn ich sage Alexa schalte ... ein und stopfe die Wiedergabe am Tablet, speichert Sonos die letzte Position.

    Wenn ich aber zum Stoppen sage, Alexe schalte ... aus wird nicht gespeichert und beim nächsten Start geht es von vorne los.

    Kann man evtl. beim stoppen einen Save Befehl mit senden?

    ([szene_Memento_Favourite_Bad] eq "on")(set Sonos_Bad StartFavourite Memento) DOELSEIF ([szene_Memento_Favourite_Bad] eq "off")(set Sonos_Bad Stop)
    Du kannst statt stop Pause Benutzen, dort speichert der Sonos den Track und sogar die track Position.

    Gesendet von meinem ONEPLUS A3003 mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 18 März 2017, 11:33:17
    Hatte ich auch schon getestet mit set Sonos_Bad Pause, leider ohne Erfolg.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 März 2017, 11:59:49
    Hallo elmer,

    also bei einem Stop kann sich das Modul keine Bookmarkposition merken, da die letzte Information, die ich da erhalte ist:
    - Erster Titel der Queue
    - Am Anfang des Titels

    Sonos setzt die Wiedergabe einfach dorthin zurück, weswegen dass dann auch der Bookmarkpunkt ist, der gespeichert wird.
    Du solltest nirgendwo selber Stop setzen. Das ist meistens nicht das, was man benötigt...
    Durchsuch dein FHEM nochmal, ob nicht irgendwer einen der Player mal auf Stop setzt.

    Desweiteren bin ich mir tatsächlich nicht sicher, wie das mit Gruppen (bzw. deren Auf- und Abbau) ist.
    Ich persönlich würde erst die Wiedergabe pausieren, und dann die Gruppen umbauen.
    Es ist für das Modul sehr schwierig herauszufinden, was die letzte gewollte Aktion mit einem Titel (oder einem Titelwechsel) ist. Das bedeutet, das mein Merktrigger immer der Wechsel im Transportstate (bzw. ein neuer Titel in der Liste) ist...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 18 März 2017, 12:34:01
    Ok, ich werde mal alle Stop raus nehmen und einen neuen Versuch starten.

    Ich bin mir nicht sicher ob evtl. die bookmarkPlaylistDefinition auch mein Problem mit ist. Ich habe dort nur Sonos_Bad, Sonos_Kueche eingetragen, oder muss ich da noch mehr eintragen, oder kann ich ganz auf dieses attr. verzichten.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 März 2017, 15:06:11
    Hi elmer,

    ohne Attribut geht nicht, sonst kennt er keinerlei Bookmarkgruppen :)
    Aber viel falsch machen kann man im Prinzip ja auch nicht... Sonst poste das doch mal, wenn du da unsicher bist...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 18 März 2017, 15:49:32
    Ok, anscheinend blicke ich nicht durch beim Sonos und den Bookmarks, ich habe jetzt schon einige Tage immer wieder den Artikel im Wiki gelesen, aber anscheinend verstehe ich da etwas nicht oder einfach nur falsch.

    Im moment habe ich nur diese 3 attr. gesetzt

    bookmarkPlaylistDefinition:Sonos_Bad, Sonos_Kueche

    bookmarkSaveDir:/opt/fhem/sonosbookmarks

    bookmarkTitleDefinition:Sonos_Bad, Sonos_Kueche


    Ich glaube das ich Käse bei bookmarkPlaylistDefinition und bei bookmarkTitleDefinition angebe und das es deshalb nicht funktioniert. Ich habe dort meine Player eingetragen, passt das oder ist das falsch?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 März 2017, 16:34:24
    Hi Elmer,

    spontan würde ich sagen, dass das Komma stören könnte.

    Genau gesagt gibst du an erster Stelle (vor dem Doppelpunkt) den Namen des Bookmarks an. Dieser Name ist frei wählbar, und dient dem Dateinamen und der internen Unterscheidung.
    Jetzt kommt das wichtige: Hinter dem Doppelpunkt kommt ein regulärer Ausdruck, der die Player beschreibt, die in dieser Gruppe berücksichtigt werden sollen. Das ist in deinem Fall "Sonos_Bad," (inkl. Komma!) dann kommt eine weitere Gruppe (durch Leerzeichen getrennt), die nicht vollständig beschrieben ist...

    Mach mal folgendes:

    Gruppe1:(Sonos_Bad|Sonos_Kueche)

    Das einfach in beide Attribute eintragen (also für die Attribute "bookmarkPlaylistDefinition" und "bookmarkTitleDefinition").
    Damit werden die Playlistpositionen (sprich: Tracknummer) für jede verschiedene Abspielliste, und die Titelpositionen für alle Titel auf den beiden Playern gespeichert.
    Das mit den Titelpositionen ist eigentlich eher wichtig für sowas wie Hörbücher, Musikstücke möchte man ja meistens immer wieder von vorne hören. Dafür kann man dann Einschränkungen machen, für welche Titel diese Positionen überhaupt gespeichert werden sollen, z.B. über die Länge identifiziert:

    attr Sonos bookmarkTitleDefinition Gruppe1:(Sonos_Bad|Sonos_Kueche)::600
    bedeutet, dass Positionen innerhalb der Titel für alle Titel (deswegen keine Angabe nach dem zweiten Doppelpunkt) die min. 600 Sekunden (=10 Minuten) lang sind (und auf den beiden Playern Bad und Küche abgespielt werden), gespeichert werden...

    Das muss man sich mal alles gut überlegen :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 18 März 2017, 17:46:43
    Danke für die Hilfe, erste Versuche schauen schon mal gut aus, ob gespeichert wird wenn ich mit Alexa starte kann ich jetzt leider nicht testen.

    Ich habe es jetzt so und hoffe das ich damit mehr Glück habe.

    Bookmark:Sonos_Bad Sonos_Kueche::600
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 März 2017, 17:54:58
    Hi Elmer,

    keine Leerzeichen. Leerzeichen trennen verschiedene Bookmarkdefinitionen.

    Du musst schreiben:

    Bookmark:(Sonos_Bad|Sonos_Kueche)::600
    Die Beschreibung, welche Player berücksichtigt werden sollen, ist ein regulärer Ausdruck, und die gesamte Definition einer Gruppe darf keine Leerzeichen enthalten.

    Das folgende geht genauso:

    Bookmark:Sonos_(Bad|Kueche)::600


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 18 März 2017, 21:23:26
    Ich habe jetzt 10-15 mal getestet und es hat immer gespeichert :)

    Wenn ich aber am Player direkt ausschalte speichert es nicht ab, ist das so normal oder habe ich immer noch einen Fehler?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 März 2017, 21:42:23
    Hi elmer,

    eigentlich ist das dem Modul egal.
    Es reagiert immer auf die Meldung vom Player. Wieso der Player diese Aktion durchführt ist dem Modul total Wurscht... :)

    Was meinst du mit "direkt am Player ausschalten"?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 18 März 2017, 21:45:18
    Wenn ich die Pause Taste auf dem Sonos drücke.
    Titel: Antw:Sonos steuern
    Beitrag von: wolfram am 20 März 2017, 09:01:52
    Hallo und guten Morgen,
    ich habe eine kurze Frage, vielleicht kann mir, jemand der Ahnung hat, diese beantworten.

    Ich habe 5 Sonos Play1 in meiner Wohnung. Diese spreche ich über homebridge mit "Starte Küchenradio", "Starte Badradio" usw. an. Mit einem "ich möchte Radiosender xxx hören" wechselt Sonos auch den Radiosender der entsprechenden Box. Soweit sogut....

    Meine Frage, bzw. mein Ziel: Mit einem "ich möchte Radiosender xxx hören" würde ich immer gern die Box/Gruppe ansprechen, die gerade läuft, so dass ich mir das homebridgemapping an jeder einzelnen Box sparen kann.

    Ich hoffe, dass ich im richtigen Thema hier bin.
    vielen Dank für einen Denkansatz und einen guten Wochenstart

    wolf
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 20 März 2017, 20:14:01
    Wie kann ich einen Sonos Lautsprecher mit dem Harmony Modul starten. Ich möchte aber nicht mit einer Aktivität starten sondern nur den Sonos Player ein und ausschalten.

    Da ich die Sonos Lautsprecher in meinem Smart Keyboard habe, könnte ich wenn ich Sonos Activity starte, meine Tastatur nicht mehr benutzen für mein Tablet und für Kodi.

    PS: Ich habe das jetzt so gemacht, schalten lässt sich das ganze, ich bin aber nicht sicher ob das so passt.define Ventilator_an dummy
    attr Ventilator_an setList on off
    attr Ventilator_an webCmd on:off

    define Ventilator_on notify Ventilator_an { if ("$EVENT" eq "on") { fhem("set harmony_35302444 PowerToggle") } else { fhem("set harmony_35302444 PowerToggle") } }
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 21 März 2017, 10:47:59
    du kannst doch in eine activity mehrere geräte einbauen.

    das einfachste ist den sonos player direkt in der harmony anzulernen. über netzwerk suche. dann kannst du die sonos tasten ganz normal in jede andere activity mit einbauen.

    oder du gehst über das fakeRoku modul und ein fhem notify.
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 21 März 2017, 18:23:28
    Aber da muß ich doch die Sonos in jede Aktivität mit einbauen oder, und was ich wenn meine Frau eine andere Aktivität startet, da wird doch bestimmt die Wiedergabe unterbrochen oder?

    Ist die Variante mit activity besser für das System, oder welchen Vorteil bringt das, ich frage mich schon die ganze Zeit wie viele Notify und DOIF man eigentlich erstellen kann bis das System in die Knie geht.

    Ich benutze Fhem ja erst seit ca. 5 Monate und habe jetzt schon 36 Notify und Doif laufen.
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 22 März 2017, 10:06:31
    ja. der sonos player muss dann in jede activity.

    beim wechseln zwischen den activities werden nur devices angefasst deren zustand sich auch ändert. d.h. die wiedergabe sollte nicht angehalten werden.

    der vorteil ist das du dann auf der fernbedienung auch noch mehr konfigurieren kannst ohne auf fhem seite etwas anzufassen. eventuell reagiert das sonos system ohne den umweg auch schneller. das kommt aber auf einen versuch an.

    die anzahl der devices sollte je nach hardware erst dann kritisch wenn du in 3 oder 4 stetige bereiche kommst.
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 22 März 2017, 11:28:15
    Verstehe ich das richtig, das wenn ich mit activity schalte, dann kann ich alle Geräte die in dieser Aktivität vorhanden sind einzeln ansprechen. Ich könnte quasi meinen Sonos einzelne Befehle zuweisen, wenn der Reciever mit dabei ist kann ich diesen lauter und leiser machen und so weiter. WIe kann mann in der activity einzelne Geräte ansprechen.

    Was ist wenn ich die Off Taste drücke?

    Fakeroku hatte ich schon mal auf meinem zweiten Hub installiert, ich bekomme das aber nicht zum laufen, im Eventmonitor habe ich immer gesehen das ich eine Taste drücke aber schalten war nicht möglich.

    Was auch seltsam war, ich hatte Fakeroku 2 mal installiert und das erste mal war der Name Roku3, nachdem ich nicht schalten konnte habe ich es wieder gelöscht und neu installiert, jetzt heißt es Roku FHEM und geht aber auch nicht. Ich schätze der Fehler sitzt mal wieder vor dem PC.
    Titel: Antw:Sonos steuern
    Beitrag von: cool-sascha am 25 März 2017, 12:02:29
    Hallo,

    habe seit Ende Januar das Modul bei mir genutzt. Letzte Woche mal wieder geupdated, aber seitdem geht die Sprachausgabe nicht mehr.

    Befehl:
    set Sonos_Schlafzimmer Speak 30 de Der Nachtmodus wurde aktiviert.

    Im Verzeichnis wird eine leere mp3 angelegt.
    Logfile zeigt:

    2017.03.25 11:56:38 3: SONOS0: Connection accepted from localhost:34407
    2017.03.25 11:57:08 3: SONOS0: Connection accepted from localhost:34715
    Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3656.
    Use of uninitialized value $text in substitution (s///) at ./FHEM/00_SONOS.pm line 3656.
    2017.03.25 11:57:09 3: SONOS208: Combine loaded chunks into "/mnt/SonosSpeak/RINCON_949F3E008DDA01400_MR_Speak.mp3"
    2017.03.25 11:57:09 3: SONOS208: Start temporary playing of "//192.168.0.24/SonosSpeak/RINCON_949F3E008DDA01400_MR_Speak.mp3"
    Argument "30--#--de-..." isn't numeric in numeric ne (!=) at ./FHEM/00_SONOS.pm line 4552.


    Wurde am Befehl etwas verändert? Habe ich eine notwendige Änderung verpasst?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 März 2017, 12:34:53
    Hallo cool-sascha,

    was bedeutet denn die letzte Zeile in deinem Logauszug?
    Da sind Bindestriche anstatt Leerzeichen, was zumindest ungewöhnlich ist...

    Ist das ein normaler Logauszug?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: cool-sascha am 25 März 2017, 16:21:05
    Hey,

    danke für die schnelle Reaktion.
    Das war ein Logauszug aus dem fhem Logfile, nachdem ich den Sonos verbose auf "zeig mir alles" gestellt hatte.
    Interessanterweise geht die Sprachausgabe wieder, nachdem ich den ganzen Rechner neugestartet habe. Warum auch immer...  ::) :o
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 März 2017, 16:36:51
    Hi,

    für mich sieht das eher so aus, als wäre der Befehl, bevor er bei Fhem landet, irgendwie maskiert worden.
    War das wirklich eine Eingabe in das Befehlsfeld von FhemWEB?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 27 März 2017, 09:36:33
    hallo reiner,

    wenn ich einen player über fhem mit SleepTimer starte, ihn dann manuell ausschalte und danach (aber vor timer ablauf) wieder einschalte (egal ob über fhem oder von hand) geht er trotzdem nach der ursprünglich per SleepTimer eingestellten zeit aus.

    könnte man im modul (optional) einbauen das der SleepTimer gelöscht wird sobald der player extern (d.h. nicht über fhem) gesteuert wurde?

    gruss
      andre
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 März 2017, 10:09:59
    Hi Andre,

    so an sich unterscheidet das Modul nie zwischen extern getriggerten Aktionen oder vom Modul gesendeten.
    Du könntest natürlich auf eine Änderung am Player-Zustand reagieren, und dann prüfen, ob vorher eine Aktion vom Modul angestossen wurde (das Ergebnis kommt ja immer im Reading "LastActionResult" an).

    Wenn in LastActionResult etwas anderes steht, als die Zustandsänderung aufzeigt, bzw. der Timestamp älter ist, dann kommt es wohl nicht vom Modul :)
    Allerdings wird im Reading ja nur die letzte Aktion abgelegt, die vorherigen Rückmeldungen gehen ja verloren...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 27 März 2017, 10:59:50
    ich hatte gehofft das du modul intern einfacher festellen kannst ob eon kommando über fhem getigert wurde oder nicht. gerade weil es ja zwei komponenten sind :)

    wenn du meinst das timer zurücksetzen gehört nicht ins modul (was schade wäre :) ...): wie wäre es mit einem reading das direkt angibt ob die letze aktion (play,pause,lautstärke) aus fhem gekommen ist oder vom player wäre ads hilfreich.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 März 2017, 11:30:50
    Hi Andre,

    ich denke, dass das mit dem Timer so gewollt ist. Wenn ich den setze, dann möchte ich doch auch das er abläuft, wenn ich den Titel gewechselt habe, oder pausiere oder ähnliches...
    Sowohl am Controller, als auch beim Fhem-Modul muss der Timer manuell zurückgesetzt werden, wenn man ihn doch nicht mehr möchte.

    Ich verstehe aber, was du meinst :)

    Was du aber auch machen könntest, wäre eine Up-/Down-Tastensequenz am Player (also direkt dort) abzusetzen, und diese in Fhem als SleepTimer-Löschen-Aktion auswerten, und den Timer beenden.

    Ich kann trotzdem mal schauen, ob ich irgendwie feststellen kann, ob der Player gerade auf einen Befehl vom Modul reagiert, oder anderweitig gesteuert wird. Das wird aber vermutlich nicht wirklich sicher funktionieren...
    Z.B. sende ich ein Mute, und als Event zurück kommt die neue Mute-Situation und eine Änderung der Lautstärke (mit dem bisherigen Wert). Solche "Mehrfachreaktionen" gibt es in verschiedenen Varianten...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 29 März 2017, 16:30:27
    CallMonitor:.*ring {
      my $number=(ReadingsVal("CallMonitor","internal_number",99));;
      my $Anrufer=(ReadingsVal("CallMonitor","external_number",99));;
      my $AnruferName=(ReadingsVal("CallMonitor","external_name",99));;
      if ($number == 959634) { fhem "set Sonos_Kueche Speak 70 de $AnruferName $Anrufer ruft an";;}}


    Ist es möglich, in diesem Sript einen zweiten Lautsprecher mit aufzunehmen, der dann die Ansage auf einem Bose Lautsprecher wiedergibt mit Text2Speech, dieser ist mit Klinke am Raspberry angeschlossen?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 29 März 2017, 18:55:14
    Hi Elmer,

    ich denke schon:CallMonitor:.*ring {
      my $number=(ReadingsVal("CallMonitor","internal_number",99));;
      my $Anrufer=(ReadingsVal("CallMonitor","external_number",99));;
      my $AnruferName=(ReadingsVal("CallMonitor","external_name",99));;
      if ($number == 959634) { fhem "set Sonos_Kueche Speak 70 de $AnruferName $Anrufer ruft an, set <myTts> tts $AnruferName $Anrufer ruft an";;}}


    Auch wenn das Problem gar nix mit Sonos zu tun hat.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 29 März 2017, 20:02:07
    Sorry, das habe ich mir auch danach gedacht das es im falschen Bereich ist, aber ich habe das mal einen Test gemacht und so geht es nicht. Jetzt liest die Sonos Tante den ganzen Eintrag vor von set MyTTS...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 März 2017, 20:35:39
    Hi Elmer,

    du musst zwei Perl-Befehle davon machen:

    CallMonitor:.*ring {
      my $number = ReadingsVal($NAME, "internal_number", 99);
      my $Anrufer = ReadingsVal($NAME, "external_number", 99);
      my $AnruferName = ReadingsVal($NAME, "external_name", '');
      if ($number == 959634) {
        fhem("set Sonos_Kueche Speak 70 de $AnruferName $Anrufer ruft an");
        fhem("set <myTts> tts $AnruferName $Anrufer ruft an");
      }
    }
    Hier in der Schreibweise, die man im Def-Fenster innerhalb von FHEMWEB eingibt, und ohne ein paar überflüssige Klammern...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 29 März 2017, 20:42:43
    Oh ja sorry, die Klammern habe ich seiner Zeit auch mit cut&paste übernommen. Und Komma in der Textkette erkennt Sonos nicht als Trenner. Man muss sicher immer einen zweiten Befehl aufmachen  :-[

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 29 März 2017, 21:46:11
    Super, das funktioniert, Danke.
    Titel: Antw:Sonos steuern
    Beitrag von: v.i.p.e.r am 30 März 2017, 17:48:26
    Hi,

    ich hab ein Problem mit DOIF im Zusammenhang mit Sonos Groups. Das Doif soll die Sonos Gruppieren (60s nach einschalten) , nachdem Sie per Funksteckdose angeschaltet wurden.

    Doif:

    ([WZ_Reciever_Strom] eq "on") (set Sonos Groups [Sonos_Wohnzimmer, Sonos_Bad])


    Folgenden Fehler hab ich im log:

    2017.03.30 17:44:43 4: Sonos_Group: error in default: Sonos_Bad
    2017.03.30 17:44:43 5: SONOS0: Desired-Crowd: []
    2017.03.30 17:44:43 5: SONOS0: Desired-List: []     



    Jemand eine Idee? Setzte ich den Group Befehl so ab, klappt es ohne Probleme.
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 30 März 2017, 22:39:27
    Ich würde die Player nicht nach einer festen Zeit, sondern sobald sie beide "appeared" sind, gruppieren.
    Funktioniert bei mir extrem zuverlässig-

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 März 2017, 23:37:01
    Hi v.i.p.e.r,

    bei DOIFs ist das Komma ein Sequenztrenner, wenn du also im Fhem-Kommando ein Komma verwenden möchtest (notwendig als Trenner zwischen den einzelnen Gruppenmitgliedern), dann musst du eine weitere runde Klammer drum machen:

    ([WZ_Reciever_Strom] eq "on") ((set Sonos Groups [Sonos_Wohnzimmer, Sonos_Bad]))


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: v.i.p.e.r am 31 März 2017, 22:43:26
    Danke für den Tip :)

    Hat aber leider nichts gebracht ...

    2017.03.31 22:40:14 4: Sonos_Group: error in default:  Sonos_Bad


    Jemand eventuell noch ne andere Idee?
    Achja, tausche ich die beiden Sonos in der Gruppe steht in dem Error die andere Box. Kann also wirklich was mit dem Komma zu tun haben. Nur wie löse ich das ;)
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 31 März 2017, 23:21:59
    Funktioniert der Befehl in der FHEM Kommandozeile?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 März 2017, 23:24:44
    Hi v.i.p.e.r,

    hmm, komisch... Sonst versuch es doch einfach mal als direkten Befehl:

    ([WZ_Reciever_Strom] eq "on") (set Sonos_Wohnzimmer AddMember Sonos_Bad)
    Da gibt es nur ein Problem, wenn das Bad der bereits Master einer anderen Gruppe ist. Dann würde diese komplette Gruppe als Member hinzugefügt werden.
    Das kannst du aber so verhindern:

    ([WZ_Reciever_Strom] eq "on") (set Sonos Groups [Sonos_Bad], set Sonos_Wohnzimmer AddMember Sonos_Bad)
    Ist natürlich nicht das gleiche wie oben, wenn z.B. das Wohnzimmer bereits andere Slaveplayer enthält, wird das Bad nur hinzugefügt...

    Sonst das:

    ([WZ_Reciever_Strom] eq "on") (set Sonos Groups [Sonos_Wohnzimmer], set Sonos Groups [Sonos_Bad], set Sonos_Wohnzimmer AddMember Sonos_Bad)
    :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Cybers am 04 April 2017, 08:23:17
    Hallo,
    ich habe in meinem Log alle 3-5 Minuten diese Einträge:
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 8799.
    2017.04.04 04:50:17 2: SONOS7: Error during UPnP-Handling:
    2017.04.04 04:50:17 1: SONOS9: Restore-Thread wurde beendet.
    2017.04.04 04:50:17 1: SONOS8: IsAlive-Thread wurde beendet.
    2017.04.04 04:50:17 0: SONOS0: No Answer from Subprocess. Restart Sonos-Subprocess...
    2017.04.04 04:50:17 2: SONOS7: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000021337
    2017.04.04 04:50:17 2: SONOS7: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000021336
    2017.04.04 04:50:17 2: SONOS7: Alarm-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000021335
    2017.04.04 04:50:17 2: SONOS7: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000021334
    2017.04.04 04:50:17 2: SONOS7: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000021333
    2017.04.04 04:50:17 2: SONOS7: Rendering-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000021332
    2017.04.04 04:50:17 2: SONOS7: Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000021331
    2017.04.04 04:50:17 2: SONOS7: SonosPlayer 'Schlafzimmer' is now updated
    2017.04.04 04:50:16 2: SONOS7: SonosPlayer 'Schlafzimmer' (S12) with ID 'RINCON_949F3E07EBC801400_MR' is already defined (as 'Sonos_Schlafzimmer') and will only be updated
    2017.04.04 04:50:14 2: SONOS7: Discover Sonosplayer 'Schlafzimmer' (S12) Software Revision 7.1 with ID 'RINCON_949F3E07EBC801400_MR'


    und so ist das Sonos bei mir angelegt:
    define Sonos SONOS localhost:4711 10 4 5
    attr Sonos pingType syn
    attr Sonos room Sonos
    attr Sonos verbose 2


    und so der einzelne Speaker:
    define Sonos_Schlafzimmer SONOSPLAYER RINCON_949F3E07EBC801400_MR
    attr Sonos_Schlafzimmer alias Schlafzimmer
    attr Sonos_Schlafzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Schlafzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Schlafzimmer generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Schlafzimmer generateVolumeSlider 1
    attr Sonos_Schlafzimmer getAlarms 1
    attr Sonos_Schlafzimmer group Schlafzimmer
    attr Sonos_Schlafzimmer icon icoSONOSPLAYER_icon-S12.png
    attr Sonos_Schlafzimmer minVolume 0
    attr Sonos_Schlafzimmer model Sonos_S12
    attr Sonos_Schlafzimmer room Sonos
    attr Sonos_Schlafzimmer sortby 1
    attr Sonos_Schlafzimmer stateVariable Presence
    attr Sonos_Schlafzimmer userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Schlafzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }


    Kann mir einer erklären wo diese Logeinträge alle paar Minuten herkommen?

    Gruß, Sascha
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 April 2017, 08:59:58
    Hi Sascha,

    kannst du mal Verbose auf min. 4 setzen, damit wir sehen können, was die letzte Aktion des SubProzesses war?
    Ich habe gerade in meiner Entwicklung auch einen Absturz des SubProzesses beseitigt (und teste das gerade im laufenden Betrieb), vielleicht fällt dein Problem ja mit darunter...

    EDIT: Welche Sonos-Player hast du?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Cybers am 05 April 2017, 07:29:27
    Hallo Reiner,

    ich habe einen Sonos Play:1.

    Hier die Log-Einträge mit Verbose 4:


    2017.04.04 21:50:23 4: SONOS20: 192.168.1.243 is alive
    2017.04.04 21:50:23 4: SONOS20: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.04 21:50:23 4: SONOS20: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.04 21:50:21 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.04 21:50:21 3: SONOS0: Connection accepted from localhost:48840
    2017.04.04 21:50:21 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_NextAlbumArt.png');
    2017.04.04 21:50:21 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_AlbumArt.gif'!
    2017.04.04 21:50:20 4: SONOS0: Transport-Event: Bilder-Download: SONOS_DownloadReplaceIfChanged('http://192.168.1.243:1400/getaa?s=1&u=x-sonosapi-stream%3as42824%3fsid%3d254%26flags%3d8224%26sn%3d0', './www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_AlbumArt.gif');
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.04 21:50:20 3: SONOS19: Event: End of GroupRendering-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, GroupMute, ~~) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, GroupVolume, ~~) -> 33
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, generateVolumeEvent, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: GroupRendering-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.04 21:50:20 3: SONOS19: Event: Received GroupRendering-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.04 21:50:20 3: SONOS19: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, TransportState, -) -> STOPPED
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(SONOS, reading, ZoneGroupState, ) -> <ZoneGroups><ZoneGroup Coordinator="RINCON_949F3E07EBC801400" ID="RINCON_949F3E07EBC801400:0"><ZoneGroupMember UUID="RINCON_949F3E07EBC801400" Location="http://192.168.1.243:1400/xml/device_description.xml" ZoneName="Schlafzimmer" Icon="x-rincon-roomicon:masterbedroom" Configuration="1" SoftwareVersion="34.16-37101" MinCompatibleVersion="33.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="21" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2"/></ZoneGroup></ZoneGroups>
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, QueueHash, ) -> 9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: Transport-Event: NextTrackMetaData:
    2017.04.04 21:50:20 4: SONOS19: Transport-Event: Stream erkannt!
    2017.04.04 21:50:20 4: SONOS19: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as42824%3fsid%3d254%26flags%3d8224%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2017.04.04 21:50:20 4: SONOS19: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x743d45c8)
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SleepTimerVersion, ) ->
    2017.04.04 21:50:20 4: SONOS19: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x743d45c8)
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, QueueHash, ) -> 9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="2"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://mp3channels.webradio.antenne.de/antenne.aac"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s42824?sid=254&amp;amp;flags=8224&amp;amp;sn=0&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as42824%3fsid%3d254%26flags%3d8224%26sn%3d0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s42824?sid=254&amp;amp;flags=8224&amp;amp;sn=0&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val="x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;ANTENNE BAYERN&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><PlaybackStorageMedium val="NETWORK"/><AVTransportURI val="x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0"/><AVTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;ANTENNE BAYERN&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><NextAVTransportURI val=""/><NextAVTransportURIMetaData val=""/><CurrentTransportActions val="Set, Stop, Play"/><r:CurrentValidPlayModes val=""/><r:MuseSessions val=""/><r:DirectControlClientID val=""/><r:DirectControlIsSuspended val="0"/><r:DirectControlAccountID val=""/><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>
    2017.04.04 21:50:20 4: SONOS19: Transport-Event: GroundURL: http://192.168.1.243:1400
    2017.04.04 21:50:20 4: SONOS19: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.04 21:50:20 3: SONOS19: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.04 21:50:20 3: SONOS19: Event: End of Rendering-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, buttonEvents, ) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: Rendering-Event: Current Borders for 'Sonos_Schlafzimmer' ~ minVolume: 0, maxVolume: 100
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, maxVolume, 100) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, minVolume, 0) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Mute, 0) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, HeadphoneConnected, 0) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Volume, 0) -> 33
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: Rendering-Event: Current Values for 'Sonos_Schlafzimmer' ~ Volume: 33, HeadphoneConnected: 0, Bass: -2, Treble: 0, Balance: 0, Loudness: 1, Mute: 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, OutputFixed, 0) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, DialogLevel, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, NightMode, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, AudioDelayRightRear, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, AudioDelayLeftRear, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, AudioDelay, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SubPolarity, 0) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SubGain, 0) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SubEnable, 0) -> 1
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SurroundLevel, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SurroundEnable, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, TruePlay, 0) -> 1
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Treble, 0) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Bass, 0) -> -2
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Loudness, 0) -> 1
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Volume, 0) -> 33
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Balance, 0) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, HeadphoneConnected, 0) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Mute, 0) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, generateVolumeEvent, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: Rendering-Event: LastChange: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volume channel="Master" val="33"/><Volume channel="LF" val="100"/><Volume channel="RF" val="100"/><Mute channel="Master" val="0"/><Mute channel="LF" val="0"/><Mute channel="RF" val="0"/><Bass val="-2"/><Treble val="0"/><Loudness channel="Master" val="1"/><OutputFixed val="0"/><HeadphoneConnected val="0"/><SpeakerSize val="5"/><SubGain val="0"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="1"/><SonarEnabled val="1"/><SonarCalibrationAvailable val="1"/><PresetNameList val="FactoryDefaults"/></InstanceID></Event>
    2017.04.04 21:50:20 4: SONOS19: Rendering-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.04 21:50:20 3: SONOS19: Event: Received Rendering-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.04 21:50:20 3: SONOS19: Event: End of ContentDirectory-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, PlaylistsVersion, ~~) -> RINCON_949F3E07EBC801400,0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(SONOS, reading, ShareIndexInProgress, ~~) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, QueueVersion, ~~) ->
    2017.04.04 21:50:20 4: SONOS19: ContentDirectory-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.04 21:50:20 3: SONOS19: Event: Received ContentDirectory-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.04 21:50:20 3: SONOS19: Event: End of DeviceProperties-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, roomIcon, ) -> masterbedroom
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, fieldType, ) ->
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, roomName, ) -> Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: DeviceProperties-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.04 21:50:20 3: SONOS19: Event: Received DeviceProperties-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.04 21:50:20 3: SONOS19: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, ZoneGroupName, ) -> Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, roomName, ) -> Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: Retrieved TopoType:
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, fieldType, ) ->
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, ZoneGroupID, ) -> RINCON_949F3E07EBC801400:__
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, ZonePlayerUUIDsInGroup, ) -> RINCON_949F3E07EBC801400
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, TransportState, -) -> STOPPED
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: ZoneGroupTopology-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.04 21:50:20 3: SONOS19: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.04 21:50:20 3: SONOS19: Event: End of Alarm-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, AlarmListVersion, ~~) -> RINCON_949F3E07EBC801400:0
    2017.04.04 21:50:20 4: SONOS19: Alarm-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.04 21:50:20 3: SONOS19: Event: Received Alarm-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.04 21:50:20 3: SONOS19: Event: End of GroupRendering-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, GroupMute, ~~) -> 0
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, GroupVolume, ~~) -> 33
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, generateVolumeEvent, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: GroupRendering-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.04 21:50:20 3: SONOS19: Event: Received GroupRendering-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:20 3: SONOS19: Discover: End of discover-event for "Schlafzimmer".
    2017.04.04 21:50:20 2: SONOS19: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023800
    2017.04.04 21:50:20 2: SONOS19: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023799
    2017.04.04 21:50:20 2: SONOS19: Alarm-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023798
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, getAlarms, 0) -> 1
    2017.04.04 21:50:20 2: SONOS19: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023797
    2017.04.04 21:50:20 2: SONOS19: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023796
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, minVolume, -1) -> 0
    2017.04.04 21:50:20 2: SONOS19: Rendering-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023795
    2017.04.04 21:50:20 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, minVolume, -1) -> 0
    2017.04.04 21:50:20 2: SONOS19: Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023794
    2017.04.04 21:50:19 2: SONOS19: SonosPlayer 'Schlafzimmer' is now updated
    2017.04.04 21:50:19 4: SONOS19: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x743d45c8)
    2017.04.04 21:50:19 2: SONOS19: SonosPlayer 'Schlafzimmer' (S12) with ID 'RINCON_949F3E07EBC801400_MR' is already defined (as 'Sonos_Schlafzimmer') and will only be updated
    2017.04.04 21:50:19 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:19 4: SONOS19: Retrieve Current Volumelevels. Master: "33", Balance: "0"
    2017.04.04 21:50:19 4: SONOS19: Retrieved TopoType:
    2017.04.04 21:50:19 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:19 4: SONOS19: ControlProxies wurden gesichert
    2017.04.04 21:50:18 4: SONOS19: SubDevice found: uuid:RINCON_949F3E07EBC801400_MR
    2017.04.04 21:50:18 4: SONOS19: SubDevice found: uuid:RINCON_949F3E07EBC801400_MS
    2017.04.04 21:50:18 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_NextAlbumArt.png');
    2017.04.04 21:50:18 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_AlbumArt.gif'!
    2017.04.04 21:50:17 2: SONOS19: Discover Sonosplayer 'Schlafzimmer' (S12) Software Revision 7.1 with ID 'RINCON_949F3E07EBC801400_MR'
    2017.04.04 21:50:17 4: SONOS19: RoomName: 'Schlafzimmer', SaveRoomName: 'Schlafzimmer', ModelNumber: 'S12', DisplayVersion: '7.1', SerialNum: '94-9F-3E-07-EB-C8:B', IconURI: '/img/icon-S12.png', IconOrigPath: 'http://192.168.1.243:1400/img/icon-S12.png', IconPath: 'icoSONOSPLAYER_icon-S12.png'

    </root>
      </device>
        </deviceList>
          </device>
            </iconList>
              </icon>
                <url>/img/icon-S12.png</url>
                <depth>24</depth>
                <height>48</height>
                <width>48</width>
                <mimetype>image/png</mimetype>
              <icon>
            <iconList>
            <qq:X_QPlay_SoftwareCapability xmlns:qq="http://www.tencent.com">QPlay:2</qq:X_QPlay_SoftwareCapability>
            </X_Rhapsody-Extension>
                </deviceCapabilities>
                  <interactionPattern type="real-rhapsody-upnp-1-0"/>
                <deviceCapabilities>
              <deviceID>urn:rhapsody-real-com:device-id-1-0:sonos_1:RINCON_949F3E07EBC801400</deviceID>
            <X_Rhapsody-Extension xmlns="http://www.real.com/rhapsody/xmlns/upnp-1-0">
    </serviceList>
              </service>
                <SCPDURL>/xml/GroupRenderingControl1.xml</SCPDURL>
                <eventSubURL>/MediaRenderer/GroupRenderingControl/Event</eventSubURL>
                <controlURL>/MediaRenderer/GroupRenderingControl/Control</controlURL>
                <serviceId>urn:upnp-org:serviceId:GroupRenderingControl</serviceId>
                <serviceType>urn:schemas-upnp-org:service:GroupRenderingControl:1</serviceType>
              <service>
      </service>
        <SCPDURL>/xml/Queue1.xml</SCPDURL>
        <eventSubURL>/MediaRenderer/Queue/Event</eventSubURL>
        <controlURL>/MediaRenderer/Queue/Control</controlURL>
        <serviceId>urn:sonos-com:serviceId:Queue</serviceId>
        <serviceType>urn:schemas-sonos-com:service:Queue:1</serviceType>
      <service>
      </service>
        <SCPDURL>/xml/AVTransport1.xml</SCPDURL>
        <eventSubURL>/MediaRenderer/AVTransport/Event</eventSubURL>
        <controlURL>/MediaRenderer/AVTransport/Control</controlURL>
        <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
        <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
      <service>
      </service>
        <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
        <eventSubURL>/MediaRenderer/ConnectionManager/Event</eventSubURL>
        <controlURL>/MediaRenderer/ConnectionManager/Control</controlURL>
        <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
        <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
      <service>
      </service>
        <SCPDURL>/xml/RenderingControl1.xml</SCPDURL>
        <eventSubURL>/MediaRenderer/RenderingControl/Event</eventSubURL>
        <controlURL>/MediaRenderer/RenderingControl/Control</controlURL>
        <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
        <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
      <service>
    <serviceList>
    <UDN>uuid:RINCON_949F3E07EBC801400_MR</UDN>
      <modelURL>http://www.sonos.com/products/zoneplayers/S12</modelURL>
      <modelName>Sonos PLAY:1</modelName>
      <modelDescription>Sonos PLAY:1 Media Renderer</modelDescription>
      <modelNumber>S12</modelNumber>
      <manufacturerURL>http://www.sonos.com</manufacturerURL>
      <manufacturer>Sonos, Inc.</manufacturer>
      <friendlyName>Schlafzimmer - Sonos PLAY:1 Media Renderer</friendlyName>
    <deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
          <device>
          </device>
    </serviceList>
      </service>
        <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
        <eventSubURL>/MediaServer/ConnectionManager/Event</eventSubURL>
        <controlURL>/MediaServer/ConnectionManager/Control</controlURL>
        <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
          <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
        <service>
        </service>
          <SCPDURL>/xml/ContentDirectory1.xml</SCPDURL>
          <eventSubURL>/MediaServer/ContentDirectory/Event</eventSubURL>
          <controlURL>/MediaServer/ContentDirectory/Control</controlURL>
          <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
          <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
        <service>
      <serviceList>
      <UDN>uuid:RINCON_949F3E07EBC801400_MS</UDN>
      <modelURL>http://www.sonos.com/products/zoneplayers/S12</modelURL>
      <modelName>Sonos PLAY:1</modelName>
      <modelDescription>Sonos PLAY:1 Media Server</modelDescription>
      <modelNumber>S12</modelNumber>
      <manufacturerURL>http://www.sonos.com</manufacturerURL>
      <manufacturer>Sonos, Inc.</manufacturer>
      <friendlyName>192.168.1.243 - Sonos PLAY:1 Media Server</friendlyName>
      <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
          <device>
        <deviceList>
        </serviceList>
          </service>
            <SCPDURL>/xml/QPlay1.xml</SCPDURL>
            <eventSubURL>/QPlay/Event</eventSubURL>
            <controlURL>/QPlay/Control</controlURL>
            <serviceId>urn:tencent-com:serviceId:QPlay</serviceId>
            <serviceType>urn:schemas-tencent-com:service:QPlay:1</serviceType>
          <service>
          </service>
            <SCPDURL>/xml/GroupManagement1.xml</SCPDURL>
            <eventSubURL>/GroupManagement/Event</eventSubURL>
            <controlURL>/GroupManagement/Control</controlURL>
            <serviceId>urn:upnp-org:serviceId:GroupManagement</serviceId>
            <serviceType>urn:schemas-upnp-org:service:GroupManagement:1</serviceType>
          <service>
          </service>   
            <SCPDURL>/xml/ZoneGroupTopology1.xml</SCPDURL>
            <eventSubURL>/ZoneGroupTopology/Event</eventSubURL>
            <controlURL>/ZoneGroupTopology/Control</controlURL>
            <serviceId>urn:upnp-org:serviceId:ZoneGroupTopology</serviceId>
            <serviceType>urn:schemas-upnp-org:service:ZoneGroupTopology:1</serviceType>
          <service>
          </service>   
            <SCPDURL>/xml/SystemProperties1.xml</SCPDURL>
            <eventSubURL>/SystemProperties/Event</eventSubURL>
            <controlURL>/SystemProperties/Control</controlURL>
            <serviceId>urn:upnp-org:serviceId:SystemProperties</serviceId>
            <serviceType>urn:schemas-upnp-org:service:SystemProperties:1</serviceType>
          <service>
          </service>   
            <SCPDURL>/xml/DeviceProperties1.xml</SCPDURL>
            <eventSubURL>/DeviceProperties/Event</eventSubURL>
            <controlURL>/DeviceProperties/Control</controlURL>
            <serviceId>urn:upnp-org:serviceId:DeviceProperties</serviceId>
            <serviceType>urn:schemas-upnp-org:service:DeviceProperties:1</serviceType>
          <service>
          </service>   
            <SCPDURL>/xml/MusicServices1.xml</SCPDURL>
            <eventSubURL>/MusicServices/Event</eventSubURL>
            <controlURL>/MusicServices/Control</controlURL>
            <serviceId>urn:upnp-org:serviceId:MusicServices</serviceId>
            <serviceType>urn:schemas-upnp-org:service:MusicServices:1</serviceType>
          <service>
          </service>   
            <SCPDURL>/xml/AlarmClock1.xml</SCPDURL>
            <eventSubURL>/AlarmClock/Event</eventSubURL>
            <controlURL>/AlarmClock/Control</controlURL>
            <serviceId>urn:upnp-org:serviceId:AlarmClock</serviceId>
            <serviceType>urn:schemas-upnp-org:service:AlarmClock:1</serviceType>
          <service>
        <serviceList>
        <ampOnTime>10</ampOnTime>
        <flash>256</flash>
        <memory>256</memory>
        <satGainOffset>6.000</satGainOffset>
        <bassExtension>75.000</bassExtension>
        <internalSpeakerSize>5</internalSpeakerSize>
        <variant>1</variant>
        <feature3>0x0001000e</feature3>
        <feature2>0x00403332</feature2>
        <feature1>0x00000000</feature1>
        <zoneType>14</zoneType>
        <displayName>PLAY:1</displayName>
        <roomName>Schlafzimmer</roomName>
        <extraVersion></extraVersion>
        <displayVersion>7.1</displayVersion>
        <legacyCompatibleVersion>25.0-00000</legacyCompatibleVersion>
        <minCompatibleVersion>33.0-00000</minCompatibleVersion>
        </iconList>
          </icon>
            <url>/img/icon-S12.png</url>
            <depth>24</depth>
            <height>48</height>
            <width>48</width>
            <mimetype>image/png</mimetype>
            <id>0</id>
          <icon>
        <iconList>
        <UDN>uuid:RINCON_949F3E07EBC801400</UDN>
        <serialNum>94-9F-3E-07-EB-C8:B</serialNum>
        <hardwareVersion>1.20.1.6-2</hardwareVersion>
        <softwareVersion>34.16-37101</softwareVersion>
        <modelURL>http://www.sonos.com/products/zoneplayers/S12</modelURL>
        <modelName>Sonos PLAY:1</modelName>
        <modelDescription>Sonos PLAY:1</modelDescription>
        <modelNumber>S12</modelNumber>
        <manufacturerURL>http://www.sonos.com</manufacturerURL>
        <manufacturer>Sonos, Inc.</manufacturer>
        <friendlyName>192.168.1.243 - Sonos PLAY:1</friendlyName>
        <deviceType>urn:schemas-upnp-org:device:ZonePlayer:1</deviceType>
      <device>
      </specVersion>
        <minor>0</minor>
        <major>1</major>
      <specVersion>
    <root xmlns="urn:schemas-upnp-org:device-1-0">
    2017.04.04 21:50:17 4: SONOS19: Discover-Event: Description-Document: <?xml version="1.0" encoding="utf-8" ?>
    2017.04.04 21:50:17 4: SONOS0: Transport-Event: Bilder-Download: SONOS_DownloadReplaceIfChanged('http://192.168.1.243:1400/getaa?s=1&u=x-sonosapi-stream%3as42824%3fsid%3d254%26flags%3d8224%26sn%3d0', './www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_AlbumArt.gif');
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.04 21:50:17 3: SONOS19: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, TransportState, -) -> STOPPED
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(SONOS, reading, ZoneGroupState, ) -> <ZoneGroups><ZoneGroup Coordinator="RINCON_949F3E07EBC801400" ID="RINCON_949F3E07EBC801400:0"><ZoneGroupMember UUID="RINCON_949F3E07EBC801400" Location="http://192.168.1.243:1400/xml/device_description.xml" ZoneName="Schlafzimmer" Icon="x-rincon-roomicon:masterbedroom" Configuration="1" SoftwareVersion="34.16-37101" MinCompatibleVersion="33.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="21" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2"/></ZoneGroup></ZoneGroups>
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, QueueHash, ) -> 9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:17 4: SONOS19: Transport-Event: NextTrackMetaData:
    2017.04.04 21:50:17 4: SONOS19: Transport-Event: Stream erkannt!
    2017.04.04 21:50:17 4: SONOS19: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as42824%3fsid%3d254%26flags%3d8224%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2017.04.04 21:50:17 4: SONOS19: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x743b8c58)
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SleepTimerVersion, ) ->
    2017.04.04 21:50:17 4: SONOS19: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x743b8c58)
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, QueueHash, ) -> 9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:17 4: SONOS19: 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="2"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://mp3channels.webradio.antenne.de/antenne.aac"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s42824?sid=254&amp;amp;flags=8224&amp;amp;sn=0&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as42824%3fsid%3d254%26flags%3d8224%26sn%3d0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s42824?sid=254&amp;amp;flags=8224&amp;amp;sn=0&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val="x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;ANTENNE BAYERN&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><PlaybackStorageMedium val="NETWORK"/><AVTransportURI val="x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0"/><AVTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;ANTENNE BAYERN&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><NextAVTransportURI val=""/><NextAVTransportURIMetaData val=""/><CurrentTransportActions val="Set, Stop, Play"/><r:CurrentValidPlayModes val=""/><r:MuseSessions val=""/><r:DirectControlClientID val=""/><r:DirectControlIsSuspended val="0"/><r:DirectControlAccountID val=""/><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>
    2017.04.04 21:50:17 4: SONOS19: Transport-Event: GroundURL: http://192.168.1.243:1400
    2017.04.04 21:50:17 4: SONOS19: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.04 21:50:17 3: SONOS19: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:17 3: SONOS19: Discover: End of discover-event for "Schlafzimmer".
    2017.04.04 21:50:17 2: SONOS19: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023793
    2017.04.04 21:50:17 2: SONOS19: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023792
    2017.04.04 21:50:17 2: SONOS19: Alarm-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023791
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, getAlarms, 0) -> 1
    2017.04.04 21:50:17 2: SONOS19: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023790
    2017.04.04 21:50:17 2: SONOS19: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023789
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, minVolume, -1) -> 0
    2017.04.04 21:50:17 2: SONOS19: Rendering-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023788
    2017.04.04 21:50:17 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, minVolume, -1) -> 0
    2017.04.04 21:50:17 2: SONOS19: Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000023787
    2017.04.04 21:50:17 2: SONOS19: SonosPlayer 'Schlafzimmer' is now updated
    2017.04.04 21:50:16 4: SONOS19: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x743b8c58)
    2017.04.04 21:50:16 2: SONOS19: SonosPlayer 'Schlafzimmer' (S12) with ID 'RINCON_949F3E07EBC801400_MR' is already defined (as 'Sonos_Schlafzimmer') and will only be updated
    2017.04.04 21:50:16 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:16 4: SONOS19: Retrieve Current Volumelevels. Master: "33", Balance: "0"
    2017.04.04 21:50:16 4: SONOS19: Retrieved TopoType:
    2017.04.04 21:50:16 4: SONOS19: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.04 21:50:16 4: SONOS19: ControlProxies wurden gesichert
    2017.04.04 21:50:15 4: SONOS19: SubDevice found: uuid:RINCON_949F3E07EBC801400_MR
    2017.04.04 21:50:15 4: SONOS19: SubDevice found: uuid:RINCON_949F3E07EBC801400_MS
    2017.04.04 21:50:14 2: SONOS19: Discover Sonosplayer 'Schlafzimmer' (S12) Software Revision 7.1 with ID 'RINCON_949F3E07EBC801400_MR'
    2017.04.04 21:50:14 4: SONOS19: RoomName: 'Schlafzimmer', SaveRoomName: 'Schlafzimmer', ModelNumber: 'S12', DisplayVersion: '7.1', SerialNum: '94-9F-3E-07-EB-C8:B', IconURI: '/img/icon-S12.png', IconOrigPath: 'http://192.168.1.243:1400/img/icon-S12.png', IconPath: 'icoSONOSPLAYER_icon-S12.png'

    </root>
      </device>
        </deviceList>
          </device>
            </iconList>
              </icon>
                <url>/img/icon-S12.png</url>
                <depth>24</depth>
                <height>48</height>
                <width>48</width>
                <mimetype>image/png</mimetype>
              <icon>
            <iconList>
            <qq:X_QPlay_SoftwareCapability xmlns:qq="http://www.tencent.com">QPlay:2</qq:X_QPlay_SoftwareCapability>
            </X_Rhapsody-Extension>
                </deviceCapabilities>
                  <interactionPattern type="real-rhapsody-upnp-1-0"/>
                <deviceCapabilities>
              <deviceID>urn:rhapsody-real-com:device-id-1-0:sonos_1:RINCON_949F3E07EBC801400</deviceID>
            <X_Rhapsody-Extension xmlns="http://www.real.com/rhapsody/xmlns/upnp-1-0">
    </serviceList>
              </service>
                <SCPDURL>/xml/GroupRenderingControl1.xml</SCPDURL>
                <eventSubURL>/MediaRenderer/GroupRenderingControl/Event</eventSubURL>
                <controlURL>/MediaRenderer/GroupRenderingControl/Control</controlURL>
                <serviceId>urn:upnp-org:serviceId:GroupRenderingControl</serviceId>
                <serviceType>urn:schemas-upnp-org:service:GroupRenderingControl:1</serviceType>
              <service>
      </service>
        <SCPDURL>/xml/Queue1.xml</SCPDURL>
        <eventSubURL>/MediaRenderer/Queue/Event</eventSubURL>
        <controlURL>/MediaRenderer/Queue/Control</controlURL>
        <serviceId>urn:sonos-com:serviceId:Queue</serviceId>
        <serviceType>urn:schemas-sonos-com:service:Queue:1</serviceType>
      <service>
      </service>
        <SCPDURL>/xml/AVTransport1.xml</SCPDURL>
        <eventSubURL>/MediaRenderer/AVTransport/Event</eventSubURL>
        <controlURL>/MediaRenderer/AVTransport/Control</controlURL>
        <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
        <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
      <service>
      </service>
        <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
        <eventSubURL>/MediaRenderer/ConnectionManager/Event</eventSubURL>
        <controlURL>/MediaRenderer/ConnectionManager/Control</controlURL>
        <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
        <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
      <service>
      </service>
        <SCPDURL>/xml/RenderingControl1.xml</SCPDURL>
        <eventSubURL>/MediaRenderer/RenderingControl/Event</eventSubURL>
        <controlURL>/MediaRenderer/RenderingControl/Control</controlURL>
        <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
        <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
      <service>
    <serviceList>
    <UDN>uuid:RINCON_949F3E07EBC801400_MR</UDN>
      <modelURL>http://www.sonos.com/products/zoneplayers/S12</modelURL>
      <modelName>Sonos PLAY:1</modelName>
      <modelDescription>Sonos PLAY:1 Media Renderer</modelDescription>
      <modelNumber>S12</modelNumber>
      <manufacturerURL>http://www.sonos.com</manufacturerURL>
      <manufacturer>Sonos, Inc.</manufacturer>
      <friendlyName>Schlafzimmer - Sonos PLAY:1 Media Renderer</friendlyName>
    <deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
          <device>
          </device>
    </serviceList>
      </service>
        <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
        <eventSubURL>/MediaServer/ConnectionManager/Event</eventSubURL>
        <controlURL>/MediaServer/ConnectionManager/Control</controlURL>
        <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
          <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
        <service>
        </service>
          <SCPDURL>/xml/ContentDirectory1.xml</SCPDURL>
          <eventSubURL>/MediaServer/ContentDirectory/Event</eventSubURL>
          <controlURL>/MediaServer/ContentDirectory/Control</controlURL>
          <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
          <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
        <service>
      <serviceList>
      <UDN>uuid:RINCON_949F3E07EBC801400_MS</UDN>
      <modelURL>http://www.sonos.com/products/zoneplayers/S12</modelURL>
      <modelName>Sonos PLAY:1</modelName>
      <modelDescription>Sonos PLAY:1 Media Server</modelDescription>
      <modelNumber>S12</modelNumber>
      <manufacturerURL>http://www.sonos.com</manufacturerURL>
      <manufacturer>Sonos, Inc.</manufacturer>
      <friendlyName>192.168.1.243 - Sonos PLAY:1 Media Server</friendlyName>
      <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
          <device>
        <deviceList>
        </serviceList>
          </service>
            <SCPDURL>/xml/QPlay1.xml</SCPDURL>
            <eventSubURL>/QPlay/Event</eventSubURL>
            <controlURL>/QPlay/Control</controlURL>
            <serviceId>urn:tencent-com:serviceId:QPlay</serviceId>
            <serviceType>urn:schemas-tencent-com:service:QPlay:1</serviceType>
          <service>
          </service>
            <SCPDURL>/xml/GroupManagement1.xml</SCPDURL>
            <eventSubURL>/GroupManagement/Event</eventSubURL>
            <controlURL>/GroupManagement/Control</controlURL>
            <serviceId>urn:upnp-org:serviceId:GroupManagement</serviceId>
            <serviceType>urn:schemas-upnp-org:service:GroupManagement:1</serviceType>
          <service>
          </service>   
            <SCPDURL>/xml/ZoneGroupTopology1.xml</SCPDURL>
            <eventSubURL>/ZoneGroupTopology/Event</eventSubURL>
            <controlURL>/ZoneGroupTopology/Control</controlURL>
            <serviceId>urn:upnp-org:serviceId:ZoneGroupTopology</serviceId>
            <serviceType>urn:schemas-upnp-org:service:ZoneGroupTopology:1</serviceType>
          <service>
          </service>   
            <SCPDURL>/xml/SystemProperties1.xml</SCPDURL>
            <eventSubURL>/SystemProperties/Event</eventSubURL>
            <controlURL>/SystemProperties/Control</controlURL>
            <serviceId>urn:upnp-org:serviceId:SystemProperties</serviceId>
            <serviceType>urn:schemas-upnp-org:service:SystemProperties:1</serviceType>
          <service>
          </service>   
            <SCPDURL>/xml/DeviceProperties1.xml</SCPDURL>
            <eventSubURL>/DeviceProperties/Event</eventSubURL>
            <controlURL>/DeviceProperties/Control</controlURL>
            <serviceId>urn:upnp-org:serviceId:DeviceProperties</serviceId>
            <serviceType>urn:schemas-upnp-org:service:DeviceProperties:1</serviceType>
          <service>
          </service>   
            <SCPDURL>/xml/MusicServices1.xml</SCPDURL>
            <eventSubURL>/MusicServices/Event</eventSubURL>
            <controlURL>/MusicServices/Control</controlURL>
            <serviceId>urn:upnp-org:serviceId:MusicServices</serviceId>
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 April 2017, 09:01:14
    Hi Sascha,

    da ist jetzt aber der Fehler vom letzten mal nicht enthalten, oder?
    Das einzige Problem war, dass irgendein Cover nicht geladen weden konnte, was aber kein Problem an sich ist (da steht ja auch, dass er ein Standardcover verwendet)...

    Versuch auf jeden Fall erstmal das Update von heute. Sonst haben wir verschiedene Versionsstände...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 05 April 2017, 16:51:47
    Warum werden denn da so viele Threads erzeugt ... Sonos19, Sonos20 ?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 April 2017, 17:11:03
    Hi Nobby1805,

    da sterben ein paar Threads, und wenn neue erzeugt werden, geht die Nummerierung zunächst mal weiter :)
    Das Problem ist, herauszufinden, warum die keinen Bock mehr haben. Ich hoffe ja irgendwas im Log dazu zu finden...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 05 April 2017, 19:19:54
    Hallo Reiner,

    nach dem Update werden die Gruppen nun auch schön angezeigt, wenn ein Stereopärchen dabei ist. :-)

    Allerdings ist die readingsgroup für die Gruppenkonstellation jetzt komplett leer.
    Ich habe das Beispiel aus de Wiki genommen.

    Was ich noch beobachte, die Aktualisierung in FTUI (speziel bei Änderungen der Gruppenkonstellation) scheint stark verzögert bis gar nicht zu kommen.

    Gruß Detlef

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 April 2017, 20:08:24
    Hi Detlef,

    das Aufbauen einer Gruppe dauert immer ein paar Sekunden, aber nach ca. 6 Sekunden sollte das durch sein (gerade nochmal getestet).

    Die mitgelieferte ReadingsGroup hatte ich ja angepasst. Das Wiki ziehe ich noch nach, bis dahin kannst du dir ja das im Quellcode anschauen. Das Wiki ist ja direkt von dort abgeschrieben...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 05 April 2017, 22:12:35
    Mit der im Modul integrierten Funktion gehts.
    Nur das Beispiel im Wiki zeigt eine leere Readingsgroup.

    Für mich eh der bessere Weg.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Cybers am 06 April 2017, 08:37:29
    anbei mal das Log-File aus den letzten Stunden mit Verbose 4. Kann es gerne auch mal auf Verbose 5 stellen.

    Gruß, Sascha



    2017.04.06 00:32:56 4: SONOS13: RoomName: 'Schlafzimmer', SaveRoomName: 'Schlafzimmer', ModelNumber: 'S12', DisplayVersion: '7.1', SerialNum: '94-9F-3E-07-EB-C8:B', IconURI: '/img/icon-S12.png', IconOrigPath: 'http://192.168.1.243:1400/img/icon-S12.png', IconPath: 'icoSONOSPLAYER_icon-S12.png'
    2017.04.06 00:32:56 2: SONOS13: Discover Sonosplayer 'Schlafzimmer' (S12) Software Revision 7.1 with ID 'RINCON_949F3E07EBC801400_MR'
    2017.04.06 00:32:57 4: SONOS13: SubDevice found: uuid:RINCON_949F3E07EBC801400_MS
    2017.04.06 00:32:57 4: SONOS13: SubDevice found: uuid:RINCON_949F3E07EBC801400_MR
    2017.04.06 00:32:58 4: SONOS13: ControlProxies wurden gesichert
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:58 4: SONOS13: Retrieved TopoType:
    2017.04.06 00:32:58 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:32:58 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:32:58 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:32:58 4: SONOS13: Retrieve Current Volumelevels. Master: "33", Balance: "0"
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(, udn, Sonos_Schlafzimmer, RINCON_949F3E07EBC801400_MR)
    2017.04.06 00:32:58 2: SONOS13: SonosPlayer 'Schlafzimmer' (S12) with ID 'RINCON_949F3E07EBC801400_MR' is already defined (as 'Sonos_Schlafzimmer') and will only be updated
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, presence, appeared)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, Volume, 33)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, Balance, 0)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, roomName, Schlafzimmer)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, roomNameAlias, Schlafzimmer)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, saveRoomName, Schlafzimmer)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, playerType, S12)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, Volume, 33)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, location, http://192.168.1.243:1400/xml/device_description.xml)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, softwareRevision, 7.1)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, serialNum, 94-9F-3E-07-EB-C8:B)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, fieldType, )
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, IsBonded, 0)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, IsMaster, 1)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, MasterPlayer, Sonos_Schlafzimmer)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, SlavePlayer, [])
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, SlavePlayerNotBonded, [])
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Retreive(SONOS, attr, getListsDirectlyToReadings, 0) -> DEFAULT
    2017.04.06 00:32:58 4: SONOS13: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x744d7f48)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, transportState, STOPPED)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, currentTrackURI, aac://mp3channels.webradio.antenne.de/antenne.aac)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, currentTrackProvider, Radio)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, currentTrackDuration, 0:00:00)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, currentTrackPosition, 0:00:00)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, currentTrackPositionSec, 1)
    2017.04.06 00:32:58 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, currentTrack, 1)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, numberOfTracks, 2)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, currentStreamAudio, 1)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, currentNormalAudio, )
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(, RINCON_949F3E07EBC801400_MR, LastSubscriptionsRenew, 2017-04-06 00:32:59)
    2017.04.06 00:32:59 2: SONOS13: SonosPlayer 'Schlafzimmer' is now updated
    2017.04.06 00:32:59 2: SONOS13: Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000028326
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, minVolume, -1) -> 0
    2017.04.06 00:32:59 2: SONOS13: Rendering-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000028327
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, minVolume, -1) -> 0
    2017.04.06 00:32:59 2: SONOS13: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000028328
    2017.04.06 00:32:59 2: SONOS13: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000028329
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, getAlarms, 0) -> 1
    2017.04.06 00:32:59 2: SONOS13: Alarm-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000028330
    2017.04.06 00:32:59 2: SONOS13: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000028331
    2017.04.06 00:32:59 2: SONOS13: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_949F3E07EBC801400_sub0000028332
    2017.04.06 00:32:59 3: SONOS13: Discover: End of discover-event for "Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.06 00:32:59 3: SONOS13: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: Transport-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.06 00:32:59 4: SONOS13: Transport-Event: GroundURL: http://192.168.1.243:1400
    2017.04.06 00:32:59 4: SONOS13: 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="STOPPED"/><CurrentPlayMode val="NORMAL"/><CurrentCrossfadeMode val="0"/><NumberOfTracks val="2"/><CurrentTrack val="1"/><CurrentSection val="0"/><CurrentTrackURI val="aac://mp3channels.webradio.antenne.de/antenne.aac"/><CurrentTrackDuration val="0:00:00"/><CurrentTrackMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;res protocolInfo=&quot;sonos.com-http:*:application/octet-stream:*&quot;&gt;x-sonosapi-stream:s42824?sid=254&amp;amp;flags=8224&amp;amp;sn=0&lt;/res&gt;&lt;r:streamContent&gt;&lt;/r:streamContent&gt;&lt;r:radioShowMd&gt;&lt;/r:radioShowMd&gt;&lt;upnp:albumArtURI&gt;/getaa?s=1&amp;amp;u=x-sonosapi-stream%3as42824%3fsid%3d254%26flags%3d8224%26sn%3d0&lt;/upnp:albumArtURI&gt;&lt;dc:title&gt;x-sonosapi-stream:s42824?sid=254&amp;amp;flags=8224&amp;amp;sn=0&lt;/dc:title&gt;&lt;upnp:class&gt;object.item&lt;/upnp:class&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><r:NextTrackURI val=""/><r:NextTrackMetaData val=""/><r:EnqueuedTransportURI val="x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0"/><r:EnqueuedTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;ANTENNE BAYERN&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><PlaybackStorageMedium val="NETWORK"/><AVTransportURI val="x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0"/><AVTransportURIMetaData val="&lt;DIDL-Lite xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot; xmlns:upnp=&quot;urn:schemas-upnp-org:metadata-1-0/upnp/&quot; xmlns:r=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot; xmlns=&quot;urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/&quot;&gt;&lt;item id=&quot;-1&quot; parentID=&quot;-1&quot; restricted=&quot;true&quot;&gt;&lt;dc:title&gt;ANTENNE BAYERN&lt;/dc:title&gt;&lt;upnp:class&gt;object.item.audioItem.audioBroadcast&lt;/upnp:class&gt;&lt;desc id=&quot;cdudn&quot; nameSpace=&quot;urn:schemas-rinconnetworks-com:metadata-1-0/&quot;&gt;SA_RINCON65031_&lt;/desc&gt;&lt;/item&gt;&lt;/DIDL-Lite&gt;"/><NextAVTransportURI val=""/><NextAVTransportURIMetaData val=""/><CurrentTransportActions val="Set, Stop, Play"/><r:CurrentValidPlayModes val=""/><r:MuseSessions val=""/><r:DirectControlClientID val=""/><r:DirectControlIsSuspended val="0"/><r:DirectControlAccountID val=""/><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>
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, QueueHash, ) -> 9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x744d7f48)
    2017.04.06 00:32:59 3: SONOS0: Connection accepted from localhost:47626
    2017.04.06 00:32:59 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SleepTimerVersion, ) ->
    2017.04.06 00:32:59 4: SONOS13: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x744d7f48)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChanged, RINCON_949F3E07EBC801400_MR, SleepTimerVersion, )
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, currentTransportState, ) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, IsMaster, 0) -> 1
    2017.04.06 00:32:59 4: SONOS13: Transport-Event: CurrentTrackMetaData: <DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as42824%3fsid%3d254%26flags%3d8224%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    2017.04.06 00:32:59 4: SONOS13: Transport-Event: Stream erkannt!
    2017.04.06 00:32:59 4: SONOS13: Transport-Event: NextTrackMetaData:
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, QueueHash, ) -> 9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: ProxyObject exists: UPnP::ControlPoint::ControlProxy=HASH(0x7448c568)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, ~~~DELETE~~~) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, ~~~DELETE~~~) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, TransportState, -) -> STOPPED
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, ~~~DELETE~~~) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, IsBonded, 0) -> 0
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, AllPlayer, ['Sonos_Schlafzimmer'])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, AllPlayerCount, 1)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, AllPlayerNotBonded, ['Sonos_Schlafzimmer'])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, AllPlayerNotBondedCount, 1)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(udn, udn, Sonos_Schlafzimmer, Sonos_Schlafzimmer) -> RINCON_949F3E07EBC801400_MR
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, LineInConnected, 0) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, LineInPlayer, [])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(SONOS, attr, getListsDirectlyToReadings, 0) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayerPlaying, [])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayerPlayingCount, 0)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayerNotPlaying, ['Sonos_Schlafzimmer'])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayerNotPlayingCount, 1)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayer, ['Sonos_Schlafzimmer'])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayerCount, 1)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, ) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, MasterPlayer, Sonos_Schlafzimmer)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, AvailablePlayer, [])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(SONOS, attr, getListsDirectlyToReadings, 0) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, SlavePlayer, [])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(SONOS, attr, getListsDirectlyToReadings, 0) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, SlavePlayerNotBonded, [])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(SONOS, attr, getListsDirectlyToReadings, 0) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, ZoneGroupNameDetails, )
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SlavePlayer, ) -> []
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SlavePlayer, ) -> []
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, stopSleeptimerInAction, 0) -> DEFAULT
    2017.04.06 00:32:59 3: SONOS13: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.06 00:32:59 3: SONOS13: Event: Received GroupRendering-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: GroupRendering-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, generateVolumeEvent, 0) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, GroupVolume, ~~) -> 33
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, GroupMute, ~~) -> 0
    2017.04.06 00:32:59 3: SONOS13: Event: End of GroupRendering-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.06 00:32:59 3: SONOS13: Event: Received Alarm-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: Alarm-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, AlarmListVersion, ~~) -> RINCON_949F3E07EBC801400:0
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChanged, RINCON_949F3E07EBC801400_MR, DailyIndexRefreshTime, )
    2017.04.06 00:32:59 3: SONOS13: Event: End of Alarm-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.06 00:32:59 3: SONOS13: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: ZoneGroupTopology-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChanged, undef, ZoneGroupState, <ZoneGroups><ZoneGroup Coordinator="RINCON_949F3E07EBC801400" ID="RINCON_949F3E07EBC801400:0"><ZoneGroupMember UUID="RINCON_949F3E07EBC801400" Location="http://192.168.1.243:1400/xml/device_description.xml" ZoneName="Schlafzimmer" Icon="x-rincon-roomicon:masterbedroom" Configuration="1" SoftwareVersion="34.16-37101" MinCompatibleVersion="33.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="21" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2"/></ZoneGroup></ZoneGroups>)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, ZonePlayerUUIDsInGroup, ) -> RINCON_949F3E07EBC801400
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, ZoneGroupID, ) -> RINCON_949F3E07EBC801400:__
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, fieldType, ) ->
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: Retrieved TopoType:
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, roomName, ) -> Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, roomNameAlias, Schlafzimmer)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, ZoneGroupID, RINCON_949F3E07EBC801400:__)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, fieldType, )
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, IsBonded, 0)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, IsMaster, 1)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, ZoneGroupName, ) -> Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, ~~~DELETE~~~) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, TransportState, -) -> STOPPED
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, ~~~DELETE~~~) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, IsBonded, 0) -> 0
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, AllPlayer, ['Sonos_Schlafzimmer'])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, AllPlayerCount, 1)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, AllPlayerNotBonded, ['Sonos_Schlafzimmer'])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, AllPlayerNotBondedCount, 1)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(udn, udn, Sonos_Schlafzimmer, Sonos_Schlafzimmer) -> RINCON_949F3E07EBC801400_MR
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, LineInConnected, 0) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, LineInPlayer, [])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(SONOS, attr, getListsDirectlyToReadings, 0) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayerPlaying, [])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayerPlayingCount, 0)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayerNotPlaying, ['Sonos_Schlafzimmer'])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayerNotPlayingCount, 1)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayer, ['Sonos_Schlafzimmer'])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, undef, MasterPlayerCount, 1)
    2017.04.06 00:32:59 4: SONOS0: Transport-Event: Bilder-Download: SONOS_DownloadReplaceIfChanged('http://192.168.1.243:1400/getaa?s=1&u=x-sonosapi-stream%3as42824%3fsid%3d254%26flags%3d8224%26sn%3d0', './www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_AlbumArt.gif');
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, ) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, MasterPlayer, Sonos_Schlafzimmer)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, AvailablePlayer, [])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(SONOS, attr, getListsDirectlyToReadings, 0) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, SlavePlayer, [])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(SONOS, attr, getListsDirectlyToReadings, 0) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, SlavePlayerNotBonded, [])
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(SONOS, attr, getListsDirectlyToReadings, 0) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, ZoneGroupNameDetails, )
    2017.04.06 00:32:59 3: SONOS13: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.06 00:32:59 3: SONOS13: Event: Received DeviceProperties-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: DeviceProperties-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, roomName, ) -> Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, roomName, Schlafzimmer)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, saveRoomName, Schlafzimmer)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, fieldType, ) ->
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, roomNameAlias, Schlafzimmer)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, roomIcon, ) -> masterbedroom
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, roomIcon, masterbedroom)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, ButtonState, ) -> DEFAULT
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, ButtonLockState, ) -> DEFAULT
    2017.04.06 00:32:59 3: SONOS13: Event: End of DeviceProperties-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.06 00:32:59 3: SONOS13: Event: Received ContentDirectory-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: ContentDirectory-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, FavouritesVersion, RINCON_949F3E07EBC801400,20)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, RadiosVersion, RINCON_949F3E07EBC801400,20)
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, PlaylistsVersion, ~~) -> RINCON_949F3E07EBC801400,0
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, QueueVersion, ~~) ->
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(SONOS, reading, ShareIndexInProgress, ~~) -> 0
    2017.04.06 00:32:59 3: SONOS13: Event: End of ContentDirectory-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:32:59 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, disable, 0) -> DEFAULT
    2017.04.06 00:33:00 3: SONOS13: Event: Received Rendering-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:33:00 4: SONOS13: Rendering-Event: All correct with this service-call till now. UDN='uuid:RINCON_949F3E07EBC801400_MR'
    2017.04.06 00:33:00 4: SONOS13: Rendering-Event: LastChange: <Event xmlns="urn:schemas-upnp-org:metadata-1-0/RCS/"><InstanceID val="0"><Volume channel="Master" val="33"/><Volume channel="LF" val="100"/><Volume channel="RF" val="100"/><Mute channel="Master" val="0"/><Mute channel="LF" val="0"/><Mute channel="RF" val="0"/><Bass val="-2"/><Treble val="0"/><Loudness channel="Master" val="1"/><OutputFixed val="0"/><HeadphoneConnected val="0"/><SpeakerSize val="5"/><SubGain val="0"/><SubCrossover val="0"/><SubPolarity val="0"/><SubEnabled val="1"/><SonarEnabled val="1"/><SonarCalibrationAvailable val="1"/><PresetNameList val="FactoryDefaults"/></InstanceID></Event>
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, generateVolumeEvent, 0) -> DEFAULT
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Mute, 0) -> 0
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, Mute, 0)
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, HeadphoneConnected, 0) -> 0
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, HeadphoneConnected, 0)
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Balance, 0) -> 0
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, Balance, 0)
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Volume, 0) -> 33
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, Volume, 33)
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Loudness, 0) -> 1
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, Loudness, 1)
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Bass, 0) -> -2
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, Bass, -2)
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Treble, 0) -> 0
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, Treble, 0)
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, TruePlay, 0) -> 1
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, TruePlay, 1)
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SurroundEnable, 0) -> DEFAULT
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SurroundLevel, 0) -> DEFAULT
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SubEnable, 0) -> 1
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, SubEnable, 1)
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SubGain, 0) -> 0
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, SubGain, 0)
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, SubPolarity, 0) -> 0
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, SubPolarity, 0)
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, AudioDelay, 0) -> DEFAULT
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, AudioDelayLeftRear, 0) -> DEFAULT
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, AudioDelayRightRear, 0) -> DEFAULT
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, NightMode, 0) -> DEFAULT
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, DialogLevel, 0) -> DEFAULT
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, OutputFixed, 0) -> 0
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsSingleUpdateIfChangedNoTrigger, RINCON_949F3E07EBC801400_MR, OutputFixed, 0)
    2017.04.06 00:33:00 4: SONOS13: Rendering-Event: Current Values for 'Sonos_Schlafzimmer' ~ Volume: 33, HeadphoneConnected: 0, Bass: -2, Treble: 0, Balance: 0, Loudness: 1, Mute: 0
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Volume, 0) -> 33
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, HeadphoneConnected, 0) -> 0
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, Mute, 0) -> 0
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, minVolume, 0) -> 0
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, maxVolume, 100) -> DEFAULT
    2017.04.06 00:33:00 4: SONOS13: Rendering-Event: Current Borders for 'Sonos_Schlafzimmer' ~ minVolume: 0, maxVolume: 100
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, attr, buttonEvents, ) -> DEFAULT
    2017.04.06 00:33:00 3: SONOS13: Event: End of Rendering-Event for Zone "Sonos_Schlafzimmer".
    2017.04.06 00:33:00 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, presence, disappeared) -> appeared
    2017.04.06 00:33:00 4: SONOS0: Identical filecontent for './www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_AlbumArt.gif'!
    2017.04.06 00:33:00 4: SONOS0: Transport-Event: CoverArt konnte nicht gefunden werden. Verwende FHEM-Logo. Bilder-Download: SONOS_DownloadReplaceIfChanged('./FHEM/lib/UPnP/sonos_empty.jpg', './www/images/default/SONOSPLAYER/Sonos_Schlafzimmer_NextAlbumArt.png');
    2017.04.06 00:33:08 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:33:08 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:33:08 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:33:09 3: SONOS0: Connection accepted from localhost:47638
    2017.04.06 00:33:09 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:33:18 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:33:18 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:33:18 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:33:19 3: SONOS0: Connection accepted from localhost:47660
    2017.04.06 00:33:19 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:33:28 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:33:28 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:33:28 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:33:29 3: SONOS0: Connection accepted from localhost:47664
    2017.04.06 00:33:29 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:33:38 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:33:38 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:33:38 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:33:39 3: SONOS0: Connection accepted from localhost:47668
    2017.04.06 00:33:39 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:33:48 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:33:48 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:33:48 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:33:49 3: SONOS0: Connection accepted from localhost:47674
    2017.04.06 00:33:49 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:33:58 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:33:58 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:33:58 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:33:59 3: SONOS0: Connection accepted from localhost:47678
    2017.04.06 00:33:59 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:34:08 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:34:08 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:34:08 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:34:09 3: SONOS0: Connection accepted from localhost:47686
    2017.04.06 00:34:09 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:34:18 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:34:18 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:34:18 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:34:20 3: SONOS0: Connection accepted from localhost:47706
    2017.04.06 00:34:20 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:34:28 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:34:28 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:34:28 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:34:30 3: SONOS0: Connection accepted from localhost:47710
    2017.04.06 00:34:30 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:34:39 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:34:39 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:34:39 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:34:40 3: SONOS0: Connection accepted from localhost:47714
    2017.04.06 00:34:40 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:34:49 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:34:49 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:34:49 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:34:50 3: SONOS0: Connection accepted from localhost:47722
    2017.04.06 00:34:50 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:34:59 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:34:59 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:34:59 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:35:00 3: SONOS0: Connection accepted from localhost:47728
    2017.04.06 00:35:00 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:35:09 4: SONOS14: IsAlive-Event UDN=RINCON_949F3E07EBC801400_MR
    2017.04.06 00:35:09 4: SONOS14: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, reading, location, ) -> http://192.168.1.243:1400/xml/device_description.xml
    2017.04.06 00:35:09 4: SONOS14: 192.168.1.243 is alive
    2017.04.06 00:35:11 3: SONOS0: Connection accepted from localhost:47732
    2017.04.06 00:35:11 4: SONOS0: Got correct Answer from Subprocess...
    2017.04.06 00:35:15 4: SONOS13: Discover-Event: Description-Document: <?xml version="1.0" encoding="utf-8" ?>
    <root xmlns="urn:schemas-upnp-org:device-1-0">
      <specVersion>
        <major>1</major>
        <minor>0</minor>
      </specVersion>
      <device>
        <deviceType>urn:schemas-upnp-org:device:ZonePlayer:1</deviceType>
        <friendlyName>192.168.1.243 - Sonos PLAY:1</friendlyName>
        <manufacturer>Sonos, Inc.</manufacturer>
        <manufacturerURL>http://www.sonos.com</manufacturerURL>
        <modelNumber>S12</modelNumber>
        <modelDescription>Sonos PLAY:1</modelDescription>
        <modelName>Sonos PLAY:1</modelName>
        <modelURL>http://www.sonos.com/products/zoneplayers/S12</modelURL>
        <softwareVersion>34.16-37101</softwareVersion>
        <hardwareVersion>1.20.1.6-2</hardwareVersion>
        <serialNum>94-9F-3E-07-EB-C8:B</serialNum>
        <UDN>uuid:RINCON_949F3E07EBC801400</UDN>
        <iconList>
          <icon>
            <id>0</id>
            <mimetype>image/png</mimetype>
            <width>48</width>
            <height>48</height>
            <depth>24</depth>
            <url>/img/icon-S12.png</url>
          </icon>
        </iconList>
        <minCompatibleVersion>33.0-00000</minCompatibleVersion>
        <legacyCompatibleVersion>25.0-00000</legacyCompatibleVersion>
        <displayVersion>7.1</displayVersion>
        <extraVersion></extraVersion>
        <roomName>Schlafzimmer</roomName>
        <displayName>PLAY:1</displayName>
        <zoneType>14</zoneType>
        <feature1>0x00000000</feature1>
        <feature2>0x00403332</feature2>
        <feature3>0x0001000e</feature3>
        <variant>1</variant>
        <internalSpeakerSize>5</internalSpeakerSize>
        <bassExtension>75.000</bassExtension>
        <satGainOffset>6.000</satGainOffset>
        <memory>256</memory>
        <flash>256</flash>
        <ampOnTime>10</ampOnTime>
        <serviceList>
          <service>
            <serviceType>urn:schemas-upnp-org:service:AlarmClock:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:AlarmClock</serviceId>
            <controlURL>/AlarmClock/Control</controlURL>
            <eventSubURL>/AlarmClock/Event</eventSubURL>
            <SCPDURL>/xml/AlarmClock1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:MusicServices:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:MusicServices</serviceId>
            <controlURL>/MusicServices/Control</controlURL>
            <eventSubURL>/MusicServices/Event</eventSubURL>
            <SCPDURL>/xml/MusicServices1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:DeviceProperties:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:DeviceProperties</serviceId>
            <controlURL>/DeviceProperties/Control</controlURL>
            <eventSubURL>/DeviceProperties/Event</eventSubURL>
            <SCPDURL>/xml/DeviceProperties1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:SystemProperties:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:SystemProperties</serviceId>
            <controlURL>/SystemProperties/Control</controlURL>
            <eventSubURL>/SystemProperties/Event</eventSubURL>
            <SCPDURL>/xml/SystemProperties1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:ZoneGroupTopology:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:ZoneGroupTopology</serviceId>
            <controlURL>/ZoneGroupTopology/Control</controlURL>
            <eventSubURL>/ZoneGroupTopology/Event</eventSubURL>
            <SCPDURL>/xml/ZoneGroupTopology1.xml</SCPDURL>
          </service>   
          <service>
            <serviceType>urn:schemas-upnp-org:service:GroupManagement:1</serviceType>
            <serviceId>urn:upnp-org:serviceId:GroupManagement</serviceId>
            <controlURL>/GroupManagement/Control</controlURL>
            <eventSubURL>/GroupManagement/Event</eventSubURL>
            <SCPDURL>/xml/GroupManagement1.xml</SCPDURL>
          </service>
          <service>
            <serviceType>urn:schemas-tencent-com:service:QPlay:1</serviceType>
            <serviceId>urn:tencent-com:serviceId:QPlay</serviceId>
            <controlURL>/QPlay/Control</controlURL>
            <eventSubURL>/QPlay/Event</eventSubURL>
            <SCPDURL>/xml/QPlay1.xml</SCPDURL>
          </service>
        </serviceList>
        <deviceList>
          <device>
      <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
      <friendlyName>192.168.1.243 - Sonos PLAY:1 Media Server</friendlyName>
      <manufacturer>Sonos, Inc.</manufacturer>
      <manufacturerURL>http://www.sonos.com</manufacturerURL>
      <modelNumber>S12</modelNumber>
      <modelDescription>Sonos PLAY:1 Media Server</modelDescription>
      <modelName>Sonos PLAY:1</modelName>
      <modelURL>http://www.sonos.com/products/zoneplayers/S12</modelURL>
      <UDN>uuid:RINCON_949F3E07EBC801400_MS</UDN>
      <serviceList>
        <service>
          <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
          <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
          <controlURL>/MediaServer/ContentDirectory/Control</controlURL>
          <eventSubURL>/MediaServer/ContentDirectory/Event</eventSubURL>
          <SCPDURL>/xml/ContentDirectory1.xml</SCPDURL>
        </service>
        <service>
          <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
        <controlURL>/MediaServer/ConnectionManager/Control</controlURL>
        <eventSubURL>/MediaServer/ConnectionManager/Event</eventSubURL>
        <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
      </service>
    </serviceList>
          </device>
          <device>
    <deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
      <friendlyName>Schlafzimmer - Sonos PLAY:1 Media Renderer</friendlyName>
      <manufacturer>Sonos, Inc.</manufacturer>
      <manufacturerURL>http://www.sonos.com</manufacturerURL>
      <modelNumber>S12</modelNumber>
      <modelDescription>Sonos PLAY:1 Media Renderer</modelDescription>
      <modelName>Sonos PLAY:1</modelName>
      <modelURL>http://www.sonos.com/products/zoneplayers/S12</modelURL>
    <UDN>uuid:RINCON_949F3E07EBC801400_MR</UDN>
    <serviceList>
      <service>
        <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
        <controlURL>/MediaRenderer/RenderingControl/Control</controlURL>
        <eventSubURL>/MediaRenderer/RenderingControl/Event</eventSubURL>
        <SCPDURL>/xml/RenderingControl1.xml</SCPDURL>
      </service>
      <service>
        <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
        <controlURL>/MediaRenderer/ConnectionManager/Control</controlURL>
        <eventSubURL>/MediaRenderer/ConnectionManager/Event</eventSubURL>
        <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
      </service>
      <service>
        <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
        <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
        <controlURL>/MediaRenderer/AVTransport/Control</controlURL>
        <eventSubURL>/MediaRenderer/AVTransport/Event</eventSubURL>
        <SCPDURL>/xml/AVTransport1.xml</SCPDURL>
      </service>
      <service>
        <serviceType>urn:schemas-sonos-com:service:Queue:1</serviceType>
        <serviceId>urn:sonos-com:serviceId:Queue</serviceId>
        <controlURL>/MediaRenderer/Queue/Control</controlURL>
        <eventSubURL>/MediaRenderer/Queue/Event</eventSubURL>
        <SCPDURL>/xml/Queue1.xml</SCPDURL>
      </service>
              <service>
                <serviceType>urn:schemas-upnp-org:service:GroupRenderingControl:1</serviceType>
                <serviceId>urn:upnp-org:serviceId:GroupRenderingControl</serviceId>
                <controlURL>/MediaRenderer/GroupRenderingControl/Control</controlURL>
                <eventSubURL>/MediaRenderer/GroupRenderingControl/Event</eventSubURL>
                <SCPDURL>/xml/GroupRenderingControl1.xml</SCPDURL>
              </service>
    </serviceList>
            <X_Rhapsody-Extension xmlns="http://www.real.com/rhapsody/xmlns/upnp-1-0">
              <deviceID>urn:rhapsody-real-com:device-id-1-0:sonos_1:RINCON_949F3E07EBC801400</deviceID>
                <deviceCapabilities>
                  <interactionPattern type="real-rhapsody-upnp-1-0"/>
                </deviceCapabilities>
            </X_Rhapsody-Extension>
            <qq:X_QPlay_SoftwareCapability xmlns:qq="http://www.tencent.com">QPlay:2</qq:X_QPlay_SoftwareCapability>
            <iconList>
              <icon>
                <mimetype>image/png</mimetype>
                <width>48</width>
                <height>48</height>
                <depth>24</depth>
                <url>/img/icon-S12.png</url>
              </icon>
            </iconList>
          </device>
        </deviceList>
      </device>
    </root>

    2017.04.06 00:35:15 4: SONOS13: RoomName: 'Schlafzimmer', SaveRoomName: 'Schlafzimmer', ModelNumber: 'S12', DisplayVersion: '7.1', SerialNum: '94-9F-3E-07-EB-C8:B', IconURI: '/img/icon-S12.png', IconOrigPath: 'http://192.168.1.243:1400/img/icon-S12.png', IconPath: 'icoSONOSPLAYER_icon-S12.png'
    2017.04.06 00:35:15 2: SONOS13: Discover Sonosplayer 'Schlafzimmer' (S12) Software Revision 7.1 with ID 'RINCON_949F3E07EBC801400_MR'
    2017.04.06 00:35:16 4: SONOS13: SubDevice found: uuid:RINCON_949F3E07EBC801400_MS
    2017.04.06 00:35:16 4: SONOS13: SubDevice found: uuid:RINCON_949F3E07EBC801400_MR
    2017.04.06 00:35:17 4: SONOS13: ControlProxies wurden gesichert
    2017.04.06 00:35:17 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:35:17 4: SONOS13: Retrieved TopoType:
    2017.04.06 00:35:17 4: SONOS13: Retrieve Current Volumelevels. Master: "33", Balance: "0"
    2017.04.06 00:35:17 4: SONOS13: SONOS_Client_Data_Retreive(RINCON_949F3E07EBC801400_MR, def, NAME, RINCON_949F3E07EBC801400_MR) -> Sonos_Schlafzimmer
    2017.04.06 00:35:17 4: SONOS13: SONOS_Client_Data_Refresh(, udn, Sonos_Schlafzimmer, RINCON_949F3E07EBC801400_MR)
    2017.04.06 00:35:17 2: SONOS13: SonosPlayer 'Schlafzimmer' (S12) with ID 'RINCON_949F3E07EBC801400_MR' is already defined (as 'Sonos_Schlafzimmer') and will only be updated
    2017.04.06 00:35:17 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, presence, appeared)
    2017.04.06 00:35:17 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, Volume, 33)
    2017.04.06 00:35:17 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, Balance, 0)
    2017.04.06 00:35:17 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, roomName, Schlafzimmer)
    2017.04.06 00:35:17 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, roomNameAlias, Schlafzimmer)
    2017.04.06 00:35:17 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, saveRoomName, Schlafzimmer)
    2017.04.06 00:35:17 4: SONOS13: SONOS_Client_Data_Refresh(ReadingsBulkUpdateIfChanged, RINCON_949F3E07EBC801400_MR, playerType, S12)
    Titel: Antw:Sonos steuern
    Beitrag von: Cybers am 07 April 2017, 07:58:16
    da man mit den Zeilen in der Antwort sehr begrenzt ist, und mein Log-File zu groß war, habe ich es jetzt mal als RAR-File angehangen.
    Log-File wie gehabt mit Verbose 4.

    Ist es auch normal das all 10 Sekunden folgendes kommt:
    2017.04.07 08:09:43 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:09:53 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:10:03 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:10:13 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:10:23 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:10:33 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:10:43 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:10:53 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:11:03 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:11:13 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:11:23 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:11:33 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:11:43 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:11:53 4 : SONOS0: Got correct Answer from Subprocess...

    2017.04.07 08:12:03 4 : SONOS0: Got correct Answer from Subprocess...


    Gruß, Sascha 
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 April 2017, 09:32:05
    Hallo Sascha,

    für mich sieht das danach aus, als würde da ein Nicht-Sonos-Player auf die UPnP-Broadcastanfrage reagieren, und sich dann auch noch mit einem ungültigen bzw. nicht vollständigen Beschreibungsdokument melden.
    Leider sieht man deswegen nicht, von welcher IP-Adresse es kommt.

    Als ersten Lösungsansatz, um das Problem erstmal loszuwerden, bietet sich bei dir das Attribut "usedonlyIPs" am Sonos-Device an.
    Dort schreibst du einfach die IP Adresse deines Players rein, und dann schau mal, ob der Prozess immer noch unerwartet beendet wird...

    Und, ja, diese Ausgaben sind auf Level 4 Normal. Es ist der Heartbeat zwischen Fhem und SubProzess...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Cybers am 07 April 2017, 10:59:35
    Danke erstmal. Werde es testen.
    Kannst du mir folgendes erklären:
    2017.04.07 08:18:48 1: localhost:4711 reappeared (Sonos)
    2017.04.07 08:18:47 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2017.04.07 08:18:17 0: SONOS0: Retries left (wait 30s): 8

    2017.04.07 08:18:17 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9071.
    2017.04.07 08:18:00 1: OWX: 1-Wire devices found on bus OneWire_Master (Temp_EG_Kueche,Temp_EG_Terrassentuer,Temp_OG_Schlafzimmer,Temp_EG_Wohnzimmer,Temp_OG_Bad,Temp_EG_Flur,Temp_OG_Flur,Temp_EG_Arbeitszimmer,Temp_OG_KinderzimmerMiko)
    2017.04.07 08:17:47 0: SONOS0: Retries left (wait 30s): 9

    2017.04.07 08:17:47 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9071.
    2017.04.07 08:17:44 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 4 Sekunde(n) darauf...


    Das habe ich nach einem Neustart von Fhem in meinem Log.

    Gruß, Sascha
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 April 2017, 11:34:52
    Hallo Sascha,

    wenn man Prozesse tötet (oder auch normal beenden läßt) liegt es am Betriebssystem die verwendeten Ressourcen wieder freizugeben.
    Zu diesen verwendeten Ressourcen gehören auch Netzwerkressourcen wie Ports. Das bedeutet, dass man manchmal nicht direkt nach dem Beenden eines Prozesses den Port wiederverwenden darf (bzw. kann). Es gibt dabei auch keine zugesicherte Zeit. Irgendwann wird diese belegte Ressource vom Betriebssystem wieder freigegeben.

    Da der SubProzess aber auffindbar sein muss (also als Server fungiert), wird ihm beim Starten mitgegeben, welchen Port er verwenden muss. Wenn dieser Port noch nicht wieder freigegeben wurde, kann er nicht verwendet werden. Damit das nicht sofort zu einem Abbruch führt, habe ich mehrere Versuche eingebaut, die nach jeweils 30 Sekunden gemacht werden.
    Erst wenn alle diese Versuche fehlschlagen, wird der Prozess mit einer Fehlermeldung beendet werden.

    Das wird entsprechend auch im Log vermerkt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Wichtel am 15 April 2017, 03:18:11
    Ich habe nun endlich mal meine Sonos-Problemchen sortiert.
    Das schlimmste war dass sich der Subprozess nicht beenden konnte.
    Selbst beim shutdown Restart des einwandfrei laufenden fhem blieb der Subprozess immer übrig, und konnte sich natürlich erst recht nicht selbst Neustarten.
    Nach Update des perl 5.16.0 auf 5.24.1 (auf OS X 10.11.6 auf Mac mini Anfang 2009) klappt das jetzt.
    Weiter beschwerte der Restore-Thread sich beharrlich über Error creating SSDP multicast listen socket: Address already in use und schmierte grundsätzlich gleich wieder ab.

    Dieser Beitrag hier:
    https://github.com/openframeworks/openFrameworks/issues/2937

    brachte mich zu folgender Änderung an der fhem/FHEM/lib/UPnP/ControlPoint.pm(Ausschnitt ab Zeile 80 der aktuellen Version 13971):
    # Create the socket on which we'll listen for SSDP Notifications.
    $self->{_ssdpMulticastSocket} = IO::Socket::INET->new(
    Proto => 'udp',
    Reuse => 1,
    ReusePort => 1,
    LocalPort => SSDP_PORT) ||


    Und jetzt flutscht es, durch den restore-thread natürlich auch jetzt erst die Sprachausgaben als Temporärwiedergabe.

    Vielleicht hilft das auch in anderen Situationen, klingt nach so einem "hilft-immer-Parameter". :)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 April 2017, 11:18:17
    Hi Wichtel,

    kann es denn sein, dass bei dir der Port 1900 durch einen anderen Prozess belegt wird?
    Dieser wird vom Modul als SSDP-Antwortport verwendet.
    Wenn ja, sollte ich diesen Port vielleicht konfigurierbar machen... wobei Multicast-Ports von mehreren Prozessen gleichzeitig verwendet werden können, und von dieser Seite wohl keine Probleme zu erwarten sind

    Ich habe die Zeile mal so eingefügt, und beobachte erstmal bei mir das Verhalten, bevor ich es einchecke :)

    Danke für die Untersuchung und das herausfinden...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Wichtel am 15 April 2017, 12:38:58
    Zitat von: Reinerlein am 15 April 2017, 11:18:17
    kann es denn sein, dass bei dir der Port 1900 durch einen anderen Prozess belegt wird?
    Dieser wird vom Modul als SSDP-Antwortport verwendet.
    Diese zentrale Frage habe ich für mich nicht schlüssig beantworten können.
    Die Befehle sudo lsof -i -P |grep 1900
    sudo lsof -i -P |grep LISTEN
    lieferten zumindest nichts zurück, jetzt steht dort der Sonos-Prozess.

    Dass der Port zumindest nicht dauerhaft blockiert ist, habe ich ausgeschlossen durch versuchsweises Starten eines weiteren Port-1900-Lauschers in Form der Linn Kinsky UPnP-Controller-App.

    Unter OS X wird UPnP aber auch für Systemdienste wie die Bonjour-Netzwerkgeräteerkennung und die Fernwartungsfunktionen genutzt. Daher gehe ich davon aus dass hier grundsätzlich solch eine Mehrfachnutzung angesagt ist, wenn weitere Software dort mitspielen soll.

    Edit: Linn KinSky...ich kaufe hiermit das "S".
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 April 2017, 13:18:03
    Hi Wichtel,

    ich habe das mal untersucht. Unter Windows gibt es das Problem, dass dieses Attribut gar nicht definiert ist, und der Prozess damit stirbt. Das habe ich jetzt durch ein zweistufiges Verfahren in den Griff bekommen: Erst wird versucht den Socket mit diesem Flag zu öffnen, und wann das mit der "Ist-nicht-möglich"-Fehlermeldung verhindert wird, dann wird der bisherige Mechanismus verwendet...

    Des Weiteren scheint es im Normalfall bei Multicast besser zu sein, es mit aktivem Flag zu verbinden (natürlich nicht für Windows :) ), da es auch kein Problem ist, wenn mehrere Empfänger dasselbe empfangen... Multicast eben...

    Es könnte auch sein, dass eben diese Multicast-Empfangs-Sockets gar nicht aufgelistet werden, da es ja im Normalfall kein Problem ist (wenn man das Flag nutzen kann)...

    Ich würde sagen, so kann ich es drin lassen... Da ich noch eine andere Änderung unter Beobachtung habe, werde ich das vermutlich erst Morgen einchecken...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Wichtel am 15 April 2017, 15:16:22
    Vielen Dank dass du dich dem annimmst. Und ganz besonders dafür dass dieses großartige Modul existiert, so langsam fängt es hier auch an zu glänzen.
    Ich staune jedesmal wieder wenn ich in den Quellcode schaue, wie umfangreich es doch schon ist...

    Falls es mit der Try-and-error-Methode bei der Portreservierung anderweitig stört, wäre vermutlich auch eine Abfrage auf die von fhem beim Start festgestellte "os:darwin"-Angabe möglich. Ich weiß nur leider nicht wie. :)
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 15 April 2017, 15:36:28
    Hallo zusammen,
    ich bekomme seit ein paar Tagen folgenden Fehler im Lo:
    400-URL-Absolute-Error! Location: "192.168.1.89:51255", Content: "400 URL must be absolute
    " at ./FHEM/00_SONOS.pm line 4117 thread 1
    Loading device description failed with error: 400 URL must be absolute (Location: 192.168.1.89:51255) at ./FHEM/00_SONOS.pm line 4117 thread 1


    192.168.1.89 ist aber überhaupt kein Sonos Device. Es ist ein "normaler" PC. Weiß jemand was das bedeutet, bzw. wie ich es abstellen kann?

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 April 2017, 16:39:56
    Hi

    @Christian: Da schummelt sich wieder mal ein Nicht-Sonos-Gerät dazwischen.
    Am Besten mit dem Attribut "ignoredIPs" ausschließen...

    @Wichtel: Das ist so kein Problem, da es wohl auf allen Nicht-Windows-Plattformen direkt funktioniert, und unter Windows dann eben einen internen Fehlversuch hat, der aber auch nicht sooo lange dauern dürfte...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoWiemann am 15 April 2017, 16:41:55
    Oder über das Attribut usedonlyIPs eine kommaseparierte Liste Deiner Sonos Geräte definieren. Alle anderen IPs werden ignoriert.

    Grüße Jörg
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 15 April 2017, 16:44:07
    Hallo,
    Besten Dank für den Tipp!
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 15 April 2017, 18:42:24
    Hallo,

    habe eben ein Apple Music Abo abgeschlossen.
    Im Modul wird beim Abspielen aber kein "TrackProvider" angegeben.
    Liegt das an Sonos (liefert den nicht) oder fehlt der im Modul?

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 15 April 2017, 19:17:47
    Hi Detlef,

    da wird leider nix von Sonos geliefert... Das mache ich selber, und bedeutet immer einen manuellen Eintrag :).

    Kannst du mir mal die TrackURI zukommen lassen? Dann trage ich das mal ein...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 16 April 2017, 00:11:59
    Das steht aktuell drin:

    x-sonos-http:song%3a31097204.mp4?sid=204&flags=8224&sn=12

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 April 2017, 00:34:16
    Hi Detlef,

    OK, ich habe jetzt mal den Anfang bis song als Erkennung eingebaut, also

    ^x-sonos-http:song
    als regulären Ausdruck.

    Passt das bei den meisten (am Besten bei allen :) ) Titeln?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 16 April 2017, 09:55:06
    Scheint zu passen.
    Hab mal jede Menge ausprobiert, bleibt immer gleich.

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: sebbi2k5 am 17 April 2017, 21:26:49
    Guten Abend zusammen,

    ich bin seit 2 Tagen Besitzer eines Sonos Play 1 und habe diesen bereits erfolgreich in FHEM integriert.

    Nun hänge ich jedoch seit Stunden an einem Problem, bei dem ich nicht mehr weiterkomme:

    Ich möchte per HTTP Request (fhem?cmd= ...) einen Radio Sender starten. Teste ich dies über die Player Seite in der FHEM Oberfläche, funktioniert alles bestens. Rufe ich jedoch den Sender per URL auf, klappt es nicht. Eine Spotify Playlist lässt sich über diesen Weg ohne Probleme ansteuern. Hat da jemand eine zündende Idee?

    Hier die URL, die ich zum Aufruf verwende:

    192.168.1.56:8083/fhem?cmd=set%20Sonos_Bad%20StartRadio%201LIVE%20diggi%20-%20Multimedia%20-%201LIVE&fwcsrf=TokenID

    Viele Grüße
    Sebastian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 April 2017, 21:45:54
    Hi Sebastian,

    ich fürchte das wird unschön, da du die Leerzeichen wahrscheinlich doppelt maskieren musst:
    1. Damit sie bei Fhem ankommen
    2. Damit sie als ein Parameter im Modul ankommen

    Versuch mal

    set+Sonos_Bad+StartRadio+1LIVE%2520diggi%2520-%2520Multimedia%2520-%25201LIVE
    Das ist noch einigermaßen lesbar :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: sebbi2k5 am 17 April 2017, 21:55:22
    Hallo Reiner,

    ich danke die vielmals! Das hat funktioniert!

    Danke Danke Danke :-)

    Top Community!

    Gruß
    Sebastian
    Titel: Antw:Sonos steuern
    Beitrag von: DeeSPe am 17 April 2017, 23:23:37
    Zitat von: Reinerlein am 17 April 2017, 21:45:54
    Hi Sebastian,

    ich fürchte das wird unschön, da du die Leerzeichen wahrscheinlich doppelt maskieren musst:
    1. Damit sie bei Fhem ankommen
    2. Damit sie als ein Parameter im Modul ankommen

    Versuch mal

    set+Sonos_Bad+StartRadio+1LIVE%2520diggi%2520-%2520Multimedia%2520-%25201LIVE
    Das ist noch einigermaßen lesbar :)

    Grüße
    Reiner

    Noch einfacher wäre die Sender in der Sonos App umzubenennen (ohne Leerzeichen).
    Dann sind sie erstens kürzer und man ist die lästigen Leerzeichen ein für alle Male los.

    Gruß
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 April 2017, 23:50:17
    Hi Dan,

    das geht aber doch nur, wenn man sie als Favorit hinzufügt...
    Das ist manchmal aber nicht der gewünschte Weg, bzw. wird irgendwann unübersichtlich in den Favoriten...

    Ich verwende meistens den Weg über den regulären Ausdruck, dort kann man die Leerzeichen einfach mit einem Punkt beschreiben:

    set Sonos_Bad StartRadio /1LIVE.diggi.-.Multimedia.-.1LIVE/

    das sieht dann kodiert so aus:

    set+Sonos_Bad+StartRadio+%2F1LIVE.diggi.-.Multimedia.-.1LIVE%2F

    und ist damit meiner Meinung nach besser lesbar, bzw. man kann es im Kopf kodieren...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 18 April 2017, 23:06:17
    Habe gerade einen Fehler bei der Speech Ausgabe bekommen in Verbindung mit dem Cache der Dateien auf Hash-Basis:
    2017.04.18 23:01:09 3: msg Sonos_Schlafzimmer: ID=1492549269.20823.1 TYPE=au
    dio ROUTE=Sonos_Schlafzimmer STATUS=OK PRIORITY=0 TITLE='Announcement' MSG='
    Teilweise bedeckt. Höchsttemperatur 9 °C. Wind aus NO mit 10 bis 15 km/h.'
    2017.04.18 23:01:09 2: SONOS1: Beim Ermitteln des Hash-Wertes ist ein Fehler
    aufgetreten: Wide character in subroutine entry at ./FHEM/00_SONOS.pm line
    4034.


    Jemand eine Idee, wo hier das Problem ist? Andere Texte scheinen problemlos zu funktionieren.
    Dieser hier kommt per ReadingsVal in einem Notify aus dem Wunderground Modul (forecast Text).
    Scheint mir aber auch eher ein perl Problem zu sein?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 April 2017, 23:28:42
    Hi Phiolin,

    an der Stelle wird der Hash gebildet:

    $digest = '_'.sha1_hex(lc($text));

    Der Text ist der in MSG=""?

    Hast du mal versucht, diesen Text direkt per Speak auszugeben? Also nicht durch das msg-Modul...
    Ich denke, da gibt es mal wieder irgendein UTF8 Problem. Leider ist Perl in dieser Hinsicht relativ unkooperativ, und muss immer wieder getreten werden :)

    Ich möchte nicht ausschließen, dass ich da was einbauen muss, nur weiß ich noch nicht so richtig was. Ich könnte vor dem Hash bilden erstmal alle Nicht-ASCII-Zeichen aus dem Text entfernen, bin aber nicht sicher, ob das der Grund ist...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 19 April 2017, 06:44:02
    Auch direkt geht es leider nicht:

    set Sonos_Schlafzimmer speak 20 de
    Meistens klar. Vereinzelt Frost möglich. Höchsttemperatur 9 °C. Wind aus NO mit 10 bis 15 km/h.


    2017.04.19 06:42:22 2: SONOS4: Beim Ermitteln des Hash-Wertes
    ist ein Fehler aufgetreten: Wide character in subroutine entry
    at ./FHEM/00_SONOS.pm line 4034.


    Werde mal schauen, ob ich das mit meinen bescheidenen Perl Kenntnissen weiter eingrenzen kann.

    Es liegt schon mal am "ö" und am Grad-Zeichen. Also wirst du mit UTF-8 wohl recht haben. Ohne diese Zeichen geht die Ausgabe.
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 19 April 2017, 09:04:47
    Für mich funktioniert diese Variante hier:

    $digest = '_'.sha1_hex(lc(encode("iso-8859-1", $text, 0)));

    Zwar wird in Zeile 4027 auch schon via

    $text = SONOS_Utf8ToLatin1($text);

    nach Latin1 decodiert, aber offenbar bleiben da wohl noch irgendwelche Leichen übrig. Da das erneute encode nach iso-8859-1 dann nur für die Hash-Generierung genommen wird, sollte es wohl keine weiteren Folgeschäden geben? Bei meinen Tests funktioniert die Sprachausgabe und der Hash-Cache jetzt auf jeden Fall auch für diesen Text mit Sonderzeichen.
    Alternativ könnte man vielleicht auch direkt in SONOS_Utf8ToLatin1 einen entsprechenden Fix anbringen.
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 19 April 2017, 09:21:30
    Zitat von: Reinerlein am 16 April 2017, 00:34:16
    Hi Detlef,

    OK, ich habe jetzt mal den Anfang bis song als Erkennung eingebaut, also

    ^x-sonos-http:song
    als regulären Ausdruck.

    Passt das bei den meisten (am Besten bei allen :) ) Titeln?

    Grüße
    Reiner

    Baust Du das noch ein?

    Gruß Detlef
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 April 2017, 10:34:26
    Hi,

    @Phiolin: Ich habe deinen String bei mir getestet, und er funktioniert normal. Auch mit den Umlauten. Das bedeutet, dass irgendwie das Message-Modul etwas ausgibt, was mein Modul nicht mag. Und auf dem Weg über das Forum zu mir in die Kommandozeile wird es in etwas Funktionierendes umgewandelt :(
    Was du herausgefunden hast deutet darauf hin, dass aus dem msg-Modul eben ISO8859-1 rasukommt.

    Mit welchem Editor editierst du deine Texte? Könnte es von dir bereits als ISO8859-1 reingeschrieben worden sein? Wobei ich nicht weiß, wie man das mit einem Browser hinbekommen kann... komisch...

    @Masterfunk: Ich habe es schon drin, konnte es nur noch nicht einchecken, da ich noch etwas im Test habe, was ich noch nicht veröffentlichen kann. Da gab es Gestern noch unschärfen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 19 April 2017, 11:23:28
    Zitat von: Reinerlein am 19 April 2017, 10:34:26
    @Masterfunk: Ich habe es schon drin, konnte es nur noch nicht einchecken, da ich noch etwas im Test habe, was ich noch nicht veröffentlichen kann. Da gab es Gestern noch unschärfen...

    Eilt ja auch nicht.
    Wollte nur das es nicht in Vergessenheit gerät. ;-)

    Gruß Detlef

    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 19 April 2017, 12:27:37
    Zitat von: Reinerlein am 19 April 2017, 10:34:26
    Hi,

    @Phiolin: Ich habe deinen String bei mir getestet, und er funktioniert normal. Auch mit den Umlauten. Das bedeutet, dass irgendwie das Message-Modul etwas ausgibt, was mein Modul nicht mag. Und auf dem Weg über das Forum zu mir in die Kommandozeile wird es in etwas Funktionierendes umgewandelt :(
    Was du herausgefunden hast deutet darauf hin, dass aus dem msg-Modul eben ISO8859-1 rasukommt.

    Mit welchem Editor editierst du deine Texte? Könnte es von dir bereits als ISO8859-1 reingeschrieben worden sein? Wobei ich nicht weiß, wie man das mit einem Browser hinbekommen kann... komisch...

    Bei mir ist es dagegen so, dass ich, wenn ich genau den String aus dem Forum kopiere, auch den Fehler bekomme (Safari/MacOS).
    set Sonos_Schlafzimmer speak 20 de Meistens klar. Vereinzelt Frost möglich. Höchsttemperatur 9 °C. Wind aus NO mit 10 bis 15 km/h.

    Der Fehler liegt wohl auch nicht im MSG Modul, da ich die Meldung auch bekommen, wenn ich über

    set Sonos_Schlafzimmer speak 20 de [wu.Gladbeck:fc0_text]

    den Text direkt aus dem Wunderground Forecast Reading hole.
    Ein kurzer Blick ins Wunderground Modul lässt mich zumindest vermuten, dass dort die über JSON ausgelesenen Daten alle UTF-8 codiert sein sollten. Scheint wohl ein eher komplexeres Problem zu sein. ;)
    Gebe ich manuell einen String per Tastatur mit entsprechenden Zeichen ein, funktioniert übrigens alles normal...

    Kurze Info: Habe das "Problem" im Wunderground Modul wohl identifiziert, siehe hier (https://forum.fhem.de/index.php/topic,59646.msg622844.html#msg622844).
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 21 April 2017, 18:40:33
    Hallo Reinerlein,
    ich habe gerade festgestellt, dass eine meiner Funktionen nicht mehr funktioniert. Du hattest diese Funktion mir damals gebastelt, da ich checken wollte, ob zwei Player in der gleichen Gruppe sind. Das klappt aber nicht mehr. Hier der Fehler:
    Undefined subroutine &main::SONOS_getDeviceDefHash called at ./FHEM/99_mySonosUtils.pm line 16
    Offenbar gibt es diese Routine nicht mehr.

    Die Funktion sameGroup:
    # prüfe gleiche Gruppe
    #
    sub sameGroup($$) {
    my ($first, $second) = @_;
    my $groups = CommandGet(undef, SONOS_getDeviceDefHash(undef)->{NAME}.' Groups');

    while ($groups =~ m/\[(.*?)\]/ig) {
    my @member = split(/, /, $1);

    return 1 if (SONOS_isInList($first, @member) && SONOS_isInList($second, @member));
    }
    return 0;
    }


    Was muss ich da jetzt ändern, oder gibt es dazu einen Workaround?

    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 April 2017, 19:15:09
    Hi Christian,

    jaa, da habe ich eine interne Umbenennung durchgeführt, um die Prozeduren harmonischer zu benennen.
    Die heißt jetzt "SONOS_getSonosPlayerByName"...

    Sorry.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Spartacus am 21 April 2017, 19:38:57
    Hi Reinerlein,
    Besten Dank dafür, es läuft wieder...
    Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 24 April 2017, 17:48:14
    Hallo zusammen,

    ich wollte nur mal kurz fragen, wie lange es durchschnittlich dauert bis der Player in Fhem wieder als "appeared" gekennzeichnet wird, nach dem er neugestartet bzw wieder eingeschaltet wurde.

    Ist es Ratsam, seine Player auszuschalten, bzw werden alle Player immer Ordnungsgemäß wieder eingebunden?

    Danke, Gruß
    Fixel
    Titel: Antw:Sonos steuern
    Beitrag von: inesa394 am 25 April 2017, 10:36:17
    Wen es interessiert mit Samba 4.5 wird smb Protokol SMBv1 per default nicht mehr aktiviert und somit hatte Sonos keine zugriff mehr auf meine Freigaben.
    Ein ntlm auth= yes in der smb.conf könnte helfen.
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 26 April 2017, 06:20:03
    Hallo Reinerlein,


    00_SONOS.pm         13952 2017-04-09 14:04:00Z Reinerlein
    21_SONOSPLAYER.pm   13898 2017-04-04 17:52:34Z Reinerlein


    bei folgendem Kommando bekomme ich folgende Fehler und es tut nicht:


    set Sonos_.*:FILTER=TYPE=SONOSPLAYER Stop



    Use of uninitialized value $bufferedTrackPosition in pattern match (m//) at ./FHEM/00_SONOS.pm line 6360, <$client> line 9.
    Use of uninitialized value $bufferedTrackPosition in pattern match (m//) at ./FHEM/00_SONOS.pm line 6360, <$client> line 9.
    Use of uninitialized value $bufferedTrackPosition in pattern match (m//) at ./FHEM/00_SONOS.pm line 6360, <$client> line 9.
    Use of uninitialized value $alarmID in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6433, <$client> line 9.
    Use of uninitialized value $trackPosition in pattern match (m//) at ./FHEM/00_SONOS.pm line 6668, <$client> line 9.
    Use of uninitialized value $bufferedTrackPosition in pattern match (m//) at ./FHEM/00_SONOS.pm line 6360, <$client> line 9.
    Use of uninitialized value $trackPosition in pattern match (m//) at ./FHEM/00_SONOS.pm line 6668, <$client> line 9.
    Use of uninitialized value $bufferedTrackPosition in pattern match (m//) at ./FHEM/00_SONOS.pm line 6360, <$client> line 9.
    Use of uninitialized value $trackPosition in pattern match (m//) at ./FHEM/00_SONOS.pm line 6668, <$client> line 9.
    Use of uninitialized value $bufferedTrackPosition in pattern match (m//) at ./FHEM/00_SONOS.pm line 6360, <$client> line 9.
    ... und viele weitere Zeilen ...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 April 2017, 12:41:43
    Hallo Ralli,

    hmm... das sieht nach einem Player aus, der keine relative Position für die Bookmarkspeicher liefert.
    Kannst du das nachvollziehen?
    Ein Player, der z.B. einen Stream abspielt, und eine definierte Bookmarkgruppe hat, wirft diesen Fehler?

    Was wird denn für eine Liste von Playern mit dem Ausdruck

    list Sonos_.*:FILTER=TYPE=SONOSPLAYER
    geliefert?

    Danke schon mal :)

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 26 April 2017, 17:53:39
    Hallo Reiner,

    das Ergebnis von Deinem list:


    Sonos_Bad
    Sonos_Esszimmer
    Sonos_HWR
    Sonos_Kind1
    Sonos_Schlafzimmer
    Sonos_Kind2


    Und wie üblich: bis vor kurzem ging's noch  8) ;D
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 28 April 2017, 20:06:44
    Guten Abend,

    ich hatte vorhin Probleme mit meiner Sonos steuerung per Fhem.

    Inzwischen geht alles wieder, ohne dass ich etwas getan habe.

    Ich habe folgende Log Einträge von Sonos gefunden, vielleicht könnt ihr damit etwas anfangen und Berichten um was es sich handelt.

    Ich kann aus dem Log leider nur herauslesen, dass wohl der benötigte Sonos Dienst abgeschmiert ist. Anschließend war das neustarten wohl nicht machbar?

    2017.04.28 16:44:12 0: SONOS0: No Answer from Subprocess. Restart Sonos-Subprocess...
    (in cleanup) Unsubscription request failed with error: 500 Can't connect to 192.168.1.24:1400 at FHEM/lib/UPnP/ControlPoint.pm line 1066 thread 4.
    2017.04.28 17:00:07 1: Perfmon: possible freeze starting at 17:00:05, delay is 2.296
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 9120.
    Perl exited with active threads:
    3 running and unjoined
    0 finished and unjoined
    0 running and detached
    2017.04.28 17:02:14 0: SONOS0: No Answer from Subprocess. Restart Sonos-Subprocess...
    2017.04.28 17:13:47 0: SONOS0: No Answer from Subprocess. Restart Sonos-Subprocess...
    2017.04.28 17:28:49 0: SONOS0: No Answer from Subprocess. Restart Sonos-Subprocess...


    Da dies das erste mal vorgekommen ist, ist das erstmal nicht schlimm.

    Grüße Fixel
    Titel: Antw:Sonos steuern
    Beitrag von: Xguide am 02 Mai 2017, 14:37:34
    Hallo Leute,

    Gefahr zu laufen, dass ich es überlesen habe, bzw. falsch gesucht habe, möchte ich eine kurze Frage stellen.

    Ich betreibe mehrere Sonos Komponenten, u.a. eine Play1 im Bad. Diese aktiviere ich via motion eines Bewegungsmelders.
    Dadurch das in anderen Räumen ggf. der gleicher Stream lief, kommt es zu der oft diskutierten Echo-Bildung.
    Nach Anregung dieses Forums habe ich ein dynamisches Gruppierung vorgenommen, was auch zuverlässig funktioniert.

    Mein Problem ist jetzt vielmehr das de-gruppieren, sprich wenn ich meinen Bad-Lautsprecher nach 10 Min per watchdog wieder ausschalte.
    Wenn der Player zu dem Zeitpunkt noch in der Gruppe ist, dann schalten alle Lautsprecher ab.
    Wie habt ihr das gelöst, ein reines set Sonos_MASTER RemoveMember Sonos_Bad führt dazu, dass alle Player stoppen.

    Danke für Eure Tipps,

    Marcel
    Titel: Antw:Sonos steuern
    Beitrag von: Xguide am 02 Mai 2017, 14:47:32
    Hallo Leute,

    hat sich erledigt, da hat noch ein notify quer geschossen!

    Grüße Marcel
    Titel: Antw:Sonos steuern
    Beitrag von: Zerika am 05 Mai 2017, 09:38:32
    Hallo zusammen,

    die Einbindung meiner zwei Sonos Play:1 hat soweit super funktioniert und beide lassen sich auch problemlos steuern.

    Die Anzeige der Cover bereitet mir allerdings aktuell noch Probleme.

    In der Sonos App sind alle Cover vorhanden. Beim abholen mit
    get Sonos_Kueche FavouritesWithCovers
    bekomme ich allerdings nur für 1 von 3 Favoriten das entsprechende Cover.
    Bei Radio FFH (im Sonos über TuneIn eingebunden) versucht das Modul wohl auch das Cover zu laden (siehe Auszug aus dem Logfile), allerdings stimmt die URL scheinbar nicht, da auch bei einem manuellen Aufruf eine Fehler Seite zurückgegeben wird.
    2017.05.05 08:53:39 4: SONOS0: Transport-Event: Radiocover-Download: SONOS_DownloadReplaceIfChanged('http://cdn-radiotime-logos.tunein.com/s223993g.png', './www/images/default/SONOSPLAYER/Sonos_Kueche_AlbumArt.png');
    2017.05.05 08:53:39 5: SONOS0: Call of SONOS_DownloadReplaceIfChanged("http://cdn-radiotime-logos.tunein.com/s223993g.png", "./www/images/default/SONOSPLAYER/Sonos_Kueche_AlbumArt.png")
    2017.05.05 08:53:39 4: SONOS0: Couldn't retrieve file "http://cdn-radiotime-logos.tunein.com/s223993g.png" via web. Trying to copy directly...
    2017.05.05 08:53:39 4: SONOS0: Couldn't even copy file "http://cdn-radiotime-logos.tunein.com/s223993g.png" directly... exiting...


    Das zweite Cover ist ein von einem Favorit aus Apple Music (Radio), allerdings kann es hier auch daran liegen das dass Radio mit dem Namen nicht mehr in Apple Music gefunden wird (abgespielt werden kann es noch), wobei in der Sonos App hierzu auch ein Cover vorhanden ist.

    Danke schonmal vorab.

    Gruß
    Tom
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Mai 2017, 11:16:44
    Hi Tom,

    die Cover sind bei mir gerade in Überarbeitung, da die momentan leicht fehlerhaft sind.
    Ich wühle mich da gerade durch die offizielle Sonos Music API durch (das ist die API, die Musikcontentanbieter bedienen, damit Sonosplayer deren Musik abspielen kann), und versuche da bessere Cover zu erhalten.
    Für TuneIn geht das schon, für andere Anbieter noch nicht befriedigend, und deshalb leider noch nicht zur Veröffentlichung geeignet.

    Da bitte ich noch um etwas Geduld :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Zerika am 05 Mai 2017, 12:48:29
    Hey Reiner,

    danke für die Info, dann warten wir mal auf die neue Version =)

    Gruß
    Tom
    Titel: Antw:Sonos steuern
    Beitrag von: Tomk am 09 Mai 2017, 07:44:24
    Hi, zunächst mal besten Dank für das Modul! Klasse Arbeit!

    Ich habe aktuell das Problem das PlayUriTemp nicht wie erwartet funktioniert... Ich starte ein PlayUriTemp während der sonos Radio spielt. Der Sound wird erst abgespielt wenn ich mit der original Sonos app play starte. Dann erhält Modul auch die erwartete Antwort (siehe Zeitstempel)... was mache ich falsch?

    2017.05.09 07:31:48 4: SONOS0: Got correct Answer from Subprocess...
    2017.05.09 07:32:18 5: SONOS0: Received from UPnP-Server: 'DoWorkAnswer:RINCON_B8E937329C8C01400_MR:LastActionResult:PlayURITemp: Success!'
    2017.05.09 07:32:18 4: SONOS0: DoWorkAnswer arrived for Sonos_Wohnzimmer->LastActionResult: 'PlayURITemp: Success!'


    sieht für mich so aus als kämen die in eine Playliste und würden erst abgespielt wenn man das radio beendet pausiert.

    Sorry für den voreiligen Post. Ich habe den Fehler gefunden... ich habe den Befehl in einer Perl Anweisung ausgeführt und vergessen die Sonderzeichen zu escapen... dadurch konnte der Pfad nciht gefunden werden... Nun läufts...
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 17 Mai 2017, 21:51:04
    Guten Abend,

    mein Fhem ist eben gerade abgestürzt (zumindest per Fhem web nicht mehr erreichbar), da im Log Sonos Fehlermeldungen zuletzt auftraten, habe ich die Vermutung, dass Fhem wohl durch das Sonos Modul "abgestürzt" ist.

    2017.05.17 20:54:45 1: Perfmon: possible freeze starting at 20:54:44, delay is 1.369
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 9120.
    Perl exited with active threads:
    3 running and unjoined
    0 finished and unjoined
    0 running and detached
    2017.05.17 21:04:26 0: SONOS0: No Answer from Subprocess. Restart Sonos-Subprocess...
    send: Cannot determine peer address at ./FHEM/00_SONOS.pm line 1794.
    Invalid value for shared scalar at ./FHEM/00_SONOS.pm line 9720.


    Hat Jemand eine Idee bzw Bestätigung, dass es an dem Sonos Modul liegt?

    Danke und Grüße

    Fixel
    Titel: Antw:Sonos steuern
    Beitrag von: l2r am 18 Mai 2017, 08:51:48
    bei mir war FHEM nach dem Update auch erst nicht bedienbar. Nach 2-3 reboots der pi läuft es aber seit dem problemlos.

    Ich habe als es dann lief aber noch die Notifys und Readinggroups und alles was mit dem SONOSPLAYERDEVICE verknüpft war gelöscht, außer das Playerdevice selber.

    Ob du die Readinggroups für die Playlists/Favoriten usw. löschst, bleibt aber dir überlassen.

    Seit dem ist alles tutti.

    Gruß Michael
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 18 Mai 2017, 11:26:49
    Hallo Fixel,

    kann es sein, dass du noch nicht die aktuellste Version vom 15.5. hast?

    Wenn du bereits aktuell bist, dann müsstest du mal den Loglevel hochstellen, damit wir feststellen können, was er eigentlich versucht hat...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 19 Mai 2017, 12:16:49
    Zitat von: Reinerlein am 18 Mai 2017, 11:26:49
    Hallo Fixel,

    kann es sein, dass du noch nicht die aktuellste Version vom 15.5. hast?

    Wenn du bereits aktuell bist, dann müsstest du mal den Loglevel hochstellen, damit wir feststellen können, was er eigentlich versucht hat...

    Grüße
    Reiner
    Mahlzeit,

    Mein Fhem is aktuell, somit denke ich, dass ich die Aktuelleste Version habe. Ich konnte auf die Schnelle nicht finden, wo ich die Modul Versions-Nummer Finden kann.

    Falls der Fehler noch mal auftritt, werde ich das Log hochstellen. Bis dahin warte ich Geduldig und checke immer mal meine Logs!  :D

    Danke dir für deine Antwort,
    Fixel


    EDIT: Nach dem löschen der definierten Player, wurden die Player nach etwas warten wieder erstellt. Anschließend hing aber der ganze Raspi, sprich ssh Verbindungen konnten auch nicht aufgebaut werden. Nach dem neustart habe ich dann diese Einträge im Log vorgefunden.
    2017.05.19 15:00:13 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_getSonosPlayerByUDN" at ./FHEM/00_SONOS.pm line 9640.
    2017.05.19 15:00:13 1: stacktrace:
    2017.05.19 15:00:13 1:     main::__ANON__                      called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_Log" at ./FHEM/00_SONOS.pm line 9389.
    2017.05.19 15:00:13 1: stacktrace:
    2017.05.19 15:00:13 1:     main::__ANON__                      called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)
    2017.05.19 15:00:13 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9640)
    2017.05.19 15:00:13 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9389)



    Ich habe jetzt mal Sonos und Global verbose auf 5 gestellt, hoffe Mein Log quillt nicht über  ;D
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 19 Mai 2017, 17:03:26
    Hi Fixel,

    diese Meldungen kommen, weil du nicht den SubProzess vor dem Löschen beendet hast. Dadurch wird noch versucht auf Player zuzugreifen, die gar nicht mehr existieren...

    Am Besten du beendest mal den Prozess mit dem Setzen des Attributs "disable" am Sonos-Device. Wartest mal 30 Sekunden oder so, und löschst das Attribut wieder.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 22 Mai 2017, 14:20:32
    Nach dem disablen/enablen des Sonos Moduls und dem löschen aller Player, habe ich bisher keine Fehlermeldungen mehr wahrnehmen können.

    Danke dir trotzdem für deine Hilfe!
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 24 Mai 2017, 00:45:16
    Bei mir stürzt neuerdings (bisher 2 mal in den letzten 2-3 Tagen) der 00_SONOS Prozess ab.
    Bin noch nicht dahinter gekommen, warum...
    Da der Subprozess sich nicht automatisch neu startet, merkt man es immer erst, wenn die Sonos Geräte benutzt werden sollen und nichts passiert.
    Hier ein Auszug aus dem Log. Ideen zur Fehlersuche?

    2017.05.23 09:02:59 3: SONOS0: Connection accepted from localhost:47090
    2017.05.23 09:03:29 3: SONOS0: Connection accepted from localhost:47108
    2017.05.23 09:03:59 3: SONOS0: Connection accepted from localhost:47122
    2017.05.23 09:04:29 3: SONOS0: Connection accepted from localhost:47140
    2017.05.23 09:04:59 3: SONOS0: Connection accepted from localhost:47162
    2017.05.23 09:05:29 3: SONOS0: Connection accepted from localhost:47170
    2017.05.23 09:05:59 3: SONOS0: Connection accepted from localhost:47192
    2017.05.23 09:06:29 3: SONOS0: Connection accepted from localhost:47210
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 97
    30, <$client> line 3.
    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 25 Mai 2017, 19:55:01
    Ich habe ein ähnliches Verhalten, habe aber erst heute auf die neue Version upgedated:

    2017.05.25 19:30:50 2: SONOS1: Error during UPnP-Handling: 500 read timeout at FHEM/lib/UPnP/ControlPoint.pm line 867 thread 1

            (in cleanup) Unsubscription request failed with error: 500 Can't connect to 192.168.2.35:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1083 thread 1
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 9730, <$client> line 46.
    Perl exited with active threads:
            2 running and unjoined
            1 finished and unjoined
            0 running and detached


    Bei mir lief es weniger als 2 h mit der neuen Version.

    Ich habe einen Player, der bei mir an einer Schaltsteckdose hängt erst eingeschaltet und konnte ihn auch steuern, dann habe ich ihn wieder abgeschaltet (vom Netz getrennt per schaltsteckdose) und dann konnte ich kurz darauf die noch laufenden Player nicht mehr bedienen
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 26 Mai 2017, 01:54:59
    Zitat von: viegener am 25 Mai 2017, 19:55:01
    Ich habe ein ähnliches Verhalten, habe aber erst heute auf die neue Version upgedated:

    2017.05.25 19:30:50 2: SONOS1: Error during UPnP-Handling: 500 read timeout at FHEM/lib/UPnP/ControlPoint.pm line 867 thread 1

            (in cleanup) Unsubscription request failed with error: 500 Can't connect to 192.168.2.35:1400 (No route to host) at FHEM/lib/UPnP/ControlPoint.pm line 1083 thread 1
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 9730, <$client> line 46.
    Perl exited with active threads:
            2 running and unjoined
            1 finished and unjoined
            0 running and detached


    Bei mir lief es weniger als 2 h mit der neuen Version.

    Ich habe einen Player, der bei mir an einer Schaltsteckdose hängt erst eingeschaltet und konnte ihn auch steuern, dann habe ich ihn wieder abgeschaltet (vom Netz getrennt per schaltsteckdose) und dann konnte ich kurz darauf die noch laufenden Player nicht mehr bedienen

    Habe das gleiche Verhalten wie bei dir mit der Funksteckdose geschrieben.  ???
    Titel: Antw:Sonos steuern
    Beitrag von: Avatar am 26 Mai 2017, 08:49:27
    Hallo Reiner

    mit der neuen Version kommt dieser Fehler wieder auf:
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6075 thread 1.

    Es sind die Surround/Sub welche, wenn di IP ausgeschlossen wird, der Eintrag nicht mehr auftaucht.
    Aber wie schon erwähnt fehlt dann jegliche Information von denen, was ja auch nicht das Ziel ist.

    -> Wie damals schon erwähnt, wenn das Attribut minVolume bei den Surround gelöscht wird ist die Fehlermeldung weg.

    was aber noch bleibt ist dieser Eintrag im Log:
    at ./FHEM/00_SONOS.pm line 4310 thread 1.
    at ./FHEM/00_SONOS.pm line 5022 thread 3.

    Da ich zwei Surround Lautsprecher habe, könnte es ja sein dass es von denen herkommt.
    Oder?

    Grüsse
    Eric
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Mai 2017, 10:06:45
    Hi Eric,

    ich dachte, dass wir das mit den Surrounds drin hätten :) Ich schaue mir das nochmal an.
    Zu den beiden "leeren" Fehlermeldung: Die habe ich gefunden. Es sind tatsächlich keine Fehler, und der Fluss wird dadurch auch nicht behindert...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 29 Mai 2017, 12:58:42
    Zitat von: Phiolin am 19 April 2017, 12:27:37
    Bei mir ist es dagegen so, dass ich, wenn ich genau den String aus dem Forum kopiere, auch den Fehler bekomme (Safari/MacOS).
    set Sonos_Schlafzimmer speak 20 de Meistens klar. Vereinzelt Frost möglich. Höchsttemperatur 9 °C. Wind aus NO mit 10 bis 15 km/h.

    Der Fehler liegt wohl auch nicht im MSG Modul, da ich die Meldung auch bekommen, wenn ich über

    set Sonos_Schlafzimmer speak 20 de [wu.Gladbeck:fc0_text]

    den Text direkt aus dem Wunderground Forecast Reading hole.
    Ein kurzer Blick ins Wunderground Modul lässt mich zumindest vermuten, dass dort die über JSON ausgelesenen Daten alle UTF-8 codiert sein sollten. Scheint wohl ein eher komplexeres Problem zu sein. ;)
    Gebe ich manuell einen String per Tastatur mit entsprechenden Zeichen ein, funktioniert übrigens alles normal...

    Kurze Info: Habe das "Problem" im Wunderground Modul wohl identifiziert, siehe hier (https://forum.fhem.de/index.php/topic,59646.msg622844.html#msg622844).

    Möchte das hier noch mal aufgreifen. Da Loredo auf dem chr(0x202F) im Wunderground Modul besteht, da es zur korrekten typographischen Darstellung der Einheit gehört, können wir diesen speziellen Character bei der Sprachausgabe im Sonos Modul filtern? Für die Sprachausgabe selber ist der "narrow-no-brake-space" völlig unwichtig, die funktioniert ohne genauso gut. Nur mit dem Character klappt es nicht, weil dann die Hash Generierung auf die Nase fällt.
    Da der Benutzer praktisch keine Handhabe darüber hat, welche Strings nun wie an das Sonos Modul übergeben werden - außer man baut in alle DOIFs, Notifies und ähnliches immer entsprechende Charakter-Konvertierungen ein - sollte das Problem doch eher im Backend gelöst werden. Also entweder gibt Wunderground dieses Zeichen nicht aus, oder Sonos filtert die eingehenden Zeichenketten für die Sprachausgabe entsprechend, damit die Verarbeitung der Daten ordentlich läuft.
    Wahrscheinlich wäre eine Lösung im Sonos Modul wohl logischer und einfacher, denn als Endnutzer würde ich erwarten, dass das Modul mit allem klar kommt, was ich ihm so vorwerfe - Stichwort "Data validation" als Coding "Best-Practice"? :)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Mai 2017, 00:12:01
    Hi,

    @phiolin: Ich habe das von dir vorgeschlagene Prozedere eingebaut, wenn es eine Wide-Character Fehlermeldung bei der Hashberechnung geben sollte.

    @Eric: Ich habe daraus jetzt eine abgefangene Fehlmeldung gemacht. Da ich an der Stelle noch keine umfangreichen Informationen über diesen Player vorliegen habe, war das die einzige Möglichkeit, dass wenigstens der Erkennungsprozess sauber abgeschlossen wird...

    Bei den anderen Problemen: Ich versuche gerade ein Problem beim Abschalten von Playern zu provozieren, bin dabei aber Erfolglos... Bei mir geht das Problemfrei, was im Prinzip gut ist, aber leider bei der Fehlersuche nicht weiterhilft...
    Außerdem habe ich das Modul mal ohne Neustart betrieben. Auf meiner Entwicklungsmaschine (Windows 2003) lief das 10 Tage Problemfrei, dann habe ich neuen Code produziert, und musste mal neustarten :) Auf meinem Produktivsystem konnte ich es mal 20 Tage laufen lassen, dann habe ich auch dort ein Update machen müssen... In der ganzen Zeit gab es noch nicht mal eine Fehlermeldung... das ist alles sehr verwirrend...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 30 Mai 2017, 08:53:19
    Bei mir lief das Modul jetzt auch einige Tage problemlos durch. Gestern habe ich dann mal wieder einen FHEM restart gemacht und direkt wurde am Abend der Sonos Player im Schlafzimmer nicht gefunden "disappeared". Habe dann das Sonos Device mal kurz für eine Minute auf disabled gesetzt und danach wieder aktiviert, dann lief der Player wieder...

    Ursache war wohl wieder der bekannte Fehler aus dem Log:

    2017.05.29 13:17:28 3: SONOS0: Connection accepted from localhost:45904
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 9730, <$client> line 3.


    Danach ist das Sonos Modul erst mal tot und muss manuell wiederbelebt werden, was über einen Restart oder disable/enable wohl funktioniert.
    Nach dem setattr disable 1 und deleteattr disable wird der UPnP Server neu gestartet:

    2017.05.29 23:09:53 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2017.05.29 23:09:54 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2017.05.29 23:10:01 3: Opening Sonos device localhost:4711
    2017.05.29 23:10:01 3: SONOS0: Connection accepted from localhost:35772
    2017.05.29 23:10:01 3: Sonos device opened
    2017.05.29 23:10:03 3: SONOS1: UPnP-Thread gestartet.


    Und dann läuft es halt auch wieder...
    Warum der UPnP Thread manchmal verstirbt ist mir aber noch nicht klar.

    Den wide-character fix werde ich dann testen, sobald er im update drin ist. :)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Mai 2017, 09:00:33
    Hi Phiolin,

    kannst du das Log denn mal bis zum nächsten Sonos-SubProzess-Tod auf 5 hochsetzen?
    Dann sehen wir vielleicht, was als letztes hin- und hergesendet wurde, und warum er der Meinung ist, sterben zu müssen.
    Die Fehlermeldung mit dem "can't kill..." ist nur eine Folgemeldung des eigentlichen Problems...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 30 Mai 2017, 11:54:12
    Reicht es, wenn ich das Sonos Device auf verbose 5 stelle, oder muss ich das global setzen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Mai 2017, 14:05:22
    Hi Phiolin,

    das kann ich dir gar nicht so genau sagen :)
    Primär geht es erstmal um Verbose am Sonos-Device.
    Aber wenn du global auf 5 stellst, sieht man ja sogar jedes Byte, welches per DevIO an die Gegenstelle übertragen wird. Unter Umständen ist das dann doch wichtig, je nachdem, was mein Modul so loggt, oder eben auch nicht loggt...

    Ich würde es im ersten Schritt mit Verbose 5 am Sonos-Device versuchen, und sehen, ob was dabei rauskommt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: JoWiemann am 30 Mai 2017, 17:52:10
    Hallo,

    mit der aktuellen Version bekomme ich folgenden Stack Trace:

    2017.05.30 12:11:11 1: readingsUpdate(Sonos_Bad,MasterPlayer,Sonos_Bad) missed to call readingsBeginUpdate first.
    2017.05.30 12:11:11 1: stacktrace:
    2017.05.30 12:11:11 1:     main::readingsBulkUpdate            called by /usr/share/fhem/FHEM/00_SONOS.pm (9289)
    2017.05.30 12:11:11 1:     main::SONOS_readingsBulkUpdateIfChanged called by /usr/share/fhem/FHEM/00_SONOS.pm (1265)
    2017.05.30 12:11:11 1:     main::SONOS_Read                    called by /usr/share/fhem/fhem.pl (3412)
    2017.05.30 12:11:11 1:     main::CallFn                        called by /usr/share/fhem/fhem.pl (686)


    Da scheint ein readingsBeginUpdate zu fehlen!

    Grüße Jörg
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 Mai 2017, 18:19:35
    Hallo Jörg,

    vermutlich nicht :)
    Es geht bei dir nur auf dem Weg vom SubProzess hin zu Fhem verloren... Das ist ja bei manchen Anwendern anscheinend das Problem, dass Dinge zwischen den beiden Instanzen verloren gehen...

    Leider gestaltet sich dabei die Suche etwas schwierig.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 31 Mai 2017, 10:38:37
    Hallo Reinerlein,

    manchmal finde ich sowas im Log und jetzt habe ich mal stacktrace eingeschaltet. Das scheint bevorzugt aufzutreten, wenn das Gerät frisch am Strom eingeschaltet wird:

    2017.05.31 08:35:45 1: readingsUpdate(Sonos_Wohnzimmer,currentTrackPosition,0:00:00) missed to call readingsBeginUpdate first.
    2017.05.31 08:35:45 1: stacktrace:
    2017.05.31 08:35:45 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1252)
    2017.05.31 08:35:45 1:     main::SONOS_Read                    called by fhem.pl (3412)
    2017.05.31 08:35:45 1:     main::CallFn                        called by fhem.pl (686)
    2017.05.31 08:35:45 1: readingsUpdate(Sonos_Wohnzimmer,currentTrackPositionSec,1) missed to call readingsBeginUpdate first.
    2017.05.31 08:35:45 1: stacktrace:
    2017.05.31 08:35:45 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1252)
    2017.05.31 08:35:45 1:     main::SONOS_Read                    called by fhem.pl (3412)
    2017.05.31 08:35:45 1:     main::CallFn                        called by fhem.pl (686)
    2017.05.31 08:35:45 1: readingsUpdate(Sonos_Wohnzimmer,numberOfTracks,3) missed to call readingsBeginUpdate first.
    2017.05.31 08:35:45 1: stacktrace:
    2017.05.31 08:35:46 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9289)
    2017.05.31 08:35:46 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1265)
    2017.05.31 08:35:46 1:     main::SONOS_Read                    called by fhem.pl (3412)
    2017.05.31 08:35:46 1:     main::CallFn                        called by fhem.pl (686)
    2017.05.31 08:35:46 1: readingsUpdate(Sonos_Wohnzimmer,currentStreamAudio,1) missed to call readingsBeginUpdate first.
    2017.05.31 08:35:46 1: stacktrace:
    2017.05.31 08:35:46 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9289)
    2017.05.31 08:35:46 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1265)
    2017.05.31 08:35:46 1:     main::SONOS_Read                    called by fhem.pl (3412)
    2017.05.31 08:35:46 1:     main::CallFn                        called by fhem.pl (686)
    2017.05.31 08:35:46 1: readingsUpdate(Sonos_Wohnzimmer,currentNormalAudio,) missed to call readingsBeginUpdate first.
    2017.05.31 08:35:46 1: stacktrace:
    2017.05.31 08:35:46 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9289)
    2017.05.31 08:35:46 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1265)
    2017.05.31 08:35:46 1:     main::SONOS_Read                    called by fhem.pl (3412)
    2017.05.31 08:35:46 1:     main::CallFn                        called by fhem.pl (686)


    Gruß

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 01 Juni 2017, 22:25:45
    Heute mal wieder abgestürzt, leider aber trotz verbose 5 keine interessanten Meldungen im Logfile:

    2017.06.01 15:43:21 3: SONOS0: Connection accepted from localhost:45974
    2017.06.01 15:43:21 4: SONOS0: Got correct answer from Subprocess...
    2017.06.01 15:43:51 3: SONOS0: Connection accepted from localhost:45996
    2017.06.01 15:43:51 4: SONOS0: Got correct answer from Subprocess...
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 9730, <$client> line 3.


    Meistens ist es so, dass der Prozess an einem Tag abstürzt, wo auch ein FHEM Restart gemacht wurde, meistens auch relativ zeitnah (heute knapp 30 Minuten nach dem restart). Wenn der FHEM Prozess erst mal längere Zeit läuft, stürzt das Modul scheinbar auch nicht mehr ab.

    Werde das morgen noch mal versuchen zu reproduzieren und dabei auch global verbose auf 5 setzen.
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 02 Juni 2017, 15:23:05
    Hi,
    ich habe heute ein FHEM Update gemacht und seitdem generiert das "mute" kein Event mehr
    Das LastActionResult wird noch als event mit "SetMute: off" gesetzt, aber "Mute" generiert selbst kein Event mehr.
    Folge ist, das die Rückmeldung ins TableUI ausbleibt :(

    Das Attribut generateVolumeEvent ist auf 1 gesetzt
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Juni 2017, 15:54:41
    Hi Tobias,

    ist denn auch eines der Attribute "minVolume", "maxVolume", "minVolumeHeadphone" oder "maxVolumeHeadphone" gesetzt?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 02 Juni 2017, 15:58:57
    minVolume ist auf 0 gesetzt
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 04 Juni 2017, 12:07:07
    Heute mal wieder ein Update & Restart gemacht, prompt ist der SONOS Prozess nicht mal 2 Stunden später auch wieder abgestürzt.

    Leider trotz verbose 5 im SONOS und im Global Device keine wirklich spannenden Meldungen im Logfile, so dass ich jetzt hier auch erst mal ausgezählt bin. Vermutlich kommen wir hier ohne das generieren weiterer Debug-Meldungen nicht viel weiter...

    Einziger Anhaltspunkt, in den 2-3 Sekunden vor dem Fehler im Log sind einige Blocking-Calls vom TRAFFIC Modul im Log... aber ob da ein Zusammenhang besteht...?
    2017.06.04 11:42:51 4: Connection accepted from telnetPort_127.0.0.1_47450
    2017.06.04 11:42:51 5: Cmd: >{BlockingStart('68')}<
    2017.06.04 11:42:51 5: Cmd: >{TRAFFIC_FinishUpdate('traffic;;;normal;;;{"READINGS":{"status":"OK","duration_in_traffic_min":28,"duration
    _in_traffic":"28 mins","duration_min":31,"eta":"12:10:57","duration":"31 mins","delay_min":0,"state":"OK","delay":"0 min","distance":"33.9 km"},"HEL
    PER":{"GoogleMapsCenter":"51.5659077,6.9934656","Poly":"fW12eUhlfHRpQG9CakF4QHhFVHBBTm5Ab0ZsQntAQlBkQGZAakFsQG5BfEBiQn5AdEF8QGhBYEBg\nQGBBckB0QGBAdk
    BWakBIbEFCfkFNbEZrQHhGbUB4QEFqQEpoQFBgRH5BbkF2QHRBZEF0QXJBfERi\nRmBBZkF4QHhATlxYWGpAakBWUmBEakJyR3JER35BSXJCR35ASVhNUlVOU0JZRU1LTVNbX0FrQWNM\nZ0BrRm
    FAfUNLXUlVbUBlSW1BZ1JrQ2VhQGtDfWBAa0BvSlN5RFVfRk9xRlNzTD9tSEBxRU5vSlxp\nTHxDa3lAUnlJRHFDQGNFP3tES2dHX0B1S2NHY2hBX0F7UG1CaV1nQ3NfQHtAfUxtQmVYc0B5SV9A
    \ne0RtQHtFdUFfSnVCX01rRGlTcUFvR29JeV9AfUZ9V2VFbVJlQW9GX0F3RmdAb0RnQGlFa0B1RmdA\nd0dZfUVbX0lFd0NJeUZBcUZOZ11Sd15CZU1Bc0NJb0ZLZUVZaUhhQHNHc0BjSWdCa09v
    TF9lQW1D\nbVVhQGtEWWtEbUBnSV9AeUhRb0hHYUpfQXNsQE93R01tRVFnRWdAYUlZZ0RzQHlHd0BhR3tAcUZ7\nQXFJcUV1VmlDZU9hQm1KV31Dd0FtSWlEZVJnRW9WbUJ5S1VlREVxQT9rQkhl
    QU51QXRAa0VYbUFY\neUBkQHlAakB3QF5dXFVwQF9AakFjQFJRWEt6QFlaS1RZekBTdkhhQnJHdUF6Tn1DYkV5QGBEZUBy\nRm1AYENPdERPbklLYklHekZNfENPYEVfQGBEY0B2QmFAfkdhQmpC
    aUBiSWNDZkdnQmpDc0B4R3dB\nakVzQGxDXWBNe0F0RntAckNpQGRFZUFiRGdBZkJzQGpCe0B0QmlBbENhQnxAbUBoRWdEfkJxQmxB\na0FmQmtCbEJxQmBHYUdmRHdDakRfQ25EZ0J8QW1AakN3
    QHhBX0B0Ql1gQ1l8QlF+QUluTVVqSU1i\nRVFwQ1NiRGFAfEFVeENtQH5EY0F4Q2FBfENpQXZDb0FsSntEdEt3RXREb0JsQXVAckJfQmxBa0Fm\nQnVCfkBzQXxBY0N8QXdDZEJhRWhBY0RwQXtF
    ekBxRHBBeUdwQXFJfkBpSHxIY25AaEF5SWhJfW9A\nZENxUmhCYU5yQHlFYkBrRGhBbUhuQHtEekJjTVJfQGBCcUhsQGFDTFNOZ0BmQG1BXG1AWFluQGFA\nYEBNYkFJYEBPTE1QV1BtQERvQEFn
    QkF7QEZTRlVIT05ZXkVwQEduQEl4QUl6QURkQEhqQExyQVxg\nQWRAYkF0QHhBekFsQ3JEXFpwQnJBbEBcdEFiQGhASmZARGxAQGBARW5EZUBoQUFkQUxiQlxsR3RE\ndEF4QGZCfEBgQVxsQVRq
    QUxiQUJ+QEFiQ1d4RGtAdERzQHJAT2xDZUB0QFVwQltqRntAfEdxQWZE\ncUBkSGNCclBzRWRFYUFwQ2dAbkJbYEFPdkFJfEBHXD9OTFxKUEZoQGBAXmxAWHJAXGJBXGhAXlpo\nQFBqQEpaQkVo
    Q1FuSkV8RD9iUERmRER2QVh8Q1JkQ1R0RkRwQT9kQ0VyQUtmQVdqQmtAdkJ5QWZG\nd0BwQ31AdEJbYkFdYkJDeEBpQHBCbUFqRXdAdENRWFduQFNuQGtAbkJ3QHhDY0ByQmtAdEJzQX5F\nb0B0
    QlN8QFd4QUNkQUlqQF9DaFBPbEA=\n"}}')}<
    2017.06.04 11:42:51 4: Connection accepted from telnetPort_127.0.0.1_47452
    2017.06.04 11:42:51 5: Cmd: >{BlockingStart('69')}<
    2017.06.04 11:42:51 5: Cmd: >{TRAFFIC_FinishUpdate('traffic;;;return;;;{"HELPER":{"Poly":"eWRleUhhe2JrQE5tQG5BfUloQHdETHdATF1MV1RnQW5AZU
    N5RGFEc0F9QGdCeUBrRXFBfUZrQV9E\neUBRRWlATXdEX0FtQGRGUWxAYUBqQGNAXmlASF1BVUlTR29AZUB5QnNCT1FhQ2FHYUtoSHlDbEJd\nQnNAYEBhRGxDX0BYYUB2QEdFV0hVVEVQP0hTQl
    NCfUBcbUBKY0FDd0FVcUBDaUBEc0RyQXlCdkBj\nQEpXS2tAUWtAYUBpQGFBW3NBSW1CSF9DTG1CQWlBQndEQ3FCT2dDb0B7RnFAZUVlQGFFYUBtRktf\nREVtRUZxRV5zSWRAc0h6QHdQUHlJRG
    tHRWVIRXtDWWVJW3lGcUBlSXVAY0hzQGdHW2lDQGtARWlA\ndUB9SWtAbUh9QHlPYUBtTUJnQD9ZP29ASHdAUG9AVmNAUEtWS1ZBVkZiQFxadEBKeEA/bEBFZkBN\nakBPXllgQFdcR1RjQ2ZEbU
    B6QHdCZERnRHRGcUFgQ2FGfEpvRGRJdUB+Qkt2QGNCbkVxRG5LZUJ4\nRmFCYEdpRHZOc0FqR2NDbk1nRGBUZ0ZmX0BxS3h6QGlJcm9AZUN0Um9BdElrQnpKeUBwRHNAZkNh\nQGpBX0JuRXtAbE
    JxQmJFfUFgQ2dCeEJnQWxBX0ZuRHdFbkNlQ2hBd0xiRnVFbkJ9R2pDcUV0QX1E\nfkBfRnhAb0NWfUhmQHtJTn1FQG9HVHVCTnlFZEB5Rm5Ba0JsQHVEYEJhQWZAaUNkQmFFZERxRGxE\nY0NqQ1
    9EZERhRHxDYUVoRG1FeEN7Qm5BeUFyQHVEfEFhRnxBcUVgQWFHYEFfR3RAX0dyQGNEYEB9\nR2hBYURyQGFDbkBvRGJBb0xuRGNDdEB9RWxBeUZiQXdGaEBrQ05nS1BrSkhtRERlRVB5R2pAZUZy
    \nQHNFekBxTnpDZ01uQ3VATltDW0BtQ2BAdUFSZ0FWY0NoQF9KakJ1QmRAdUBOa0BMZUFJZ0BTWV1L\nXUtrQD91QEJlQExpQFJbVlVkQEleSGBAYkBaekBIXn5AeElqQWBKYkNmT2xDfk5oRmpa
    ZkFmR3BA\nbENkQHhCWmZCakBgQ3ZDdlBuSHRhQH5CdE10QXRKfkBkSnpAZk1cZkpwQGBgQFpuVEJ4R0JwQUJu\nQVh6SWhAbEpiQG5GbkRuW2xDeFV4SGhxQGZCcE9qQHBHZEB0SFRmRkxqRkhw
    RkB+Q0VkTk1+VEtg\nVUlqUEJoR1BqSmhAZk14QHZLZEBuRWpAfkV6QHpGekB6RXZBfkdqQnBJYkdoWG5LbGZAdEFkSGJE\nbFJsQmBMcEFsSWZBdkpiQHxFbEFyUWpFYm5AZkR8bEBuSGZ0QVpm
    SUxsR0JyRkVwR1FySWlEeH5A\nW25NS3BNRHZNVnhMbEB+TWBCcldqRmx4QHJBblN8QGpMYkFqS3pBck5AYENDbkBLYkBbZEBVSmFA\nRltTT1VRZ0BLdUB1QHdLdUB7S0JPQFVCUVBpQEhhQFlR
    aUBhQF1ZVUddXXVAd0B3QWVCdURxRVdX\nc0FnQWVBc0BjRXVCaUBRa0BLeUBAd0FOb0toQV9CTGFAP3dBTXdAV1VNYUJnQV9Ca0JfQXVBfUBj\nQm1Ab0FPWUJpQERfQEZRbkZtQk9vQFVxQXlA
    eUVuQmtB\n","GoogleMapsCenter":"51.4774144,7.2288135"},"READINGS":{"state":"OK","delay_min":0,"duration":"29 mins","distance":"35.9 km","delay":"0 m
    in","duration_min":29,"duration_in_traffic_min":28,"duration_in_traffic":"28 mins","status":"OK","eta":"12:11:03"}}')}<
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 9730, <$client> line 3.


    Vielleicht einfacher, wenn man hier um die passende Zeile herum einen entsprechenden Check einbaut und den SONOS Prozess neu startet?
    Wenn ich den Prozess jetzt über disable/enable neu starte, läuft er mit hoher Wahrscheinlichkeit wieder tagelang problemlos durch, zumindest bis zum nächsten FHEM restart.

    Hattest du übrigens schon Gelegenheit, den Workaround/Fix für die wide-character Problematik bei der Hash Generierung einzubauen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Juni 2017, 14:17:30
    Hi Phiolin,

    das kann schon sein. ich habe mal gerade mein Fhem mit einem "{ sleep(45) }" als Kommando blockiert, und eine Playerwiedergabe mit dem Controller gestartet.
    Das Ergebnis war überhaupt nicht erfreulich... Mein Fhem war (nach den 45 Sekunden) nicht mehr über die Wenoberfläche erreichbar.

    Wohl eine Mischung aus: der Subprozess wird seine Daten irgendwie nicht los, und in der Datenschlange auf Fhem-Seite lungern dann plötzlich Pakete, die nicht mehr sauber zugestellt werden...

    Ich weiß noch überhaupt nicht, wie ich das in den Griff bekommen kann.
    Bei dir vermute ich mal, dass dein Traffic irgendwann nach einem Neustart besonders viel Laden möchte, und du nach einem Neustart auch zuhause bist, und natürlich auch gerade Musik hörst :)
    Ein Zusammenkommen mehrere (unglücklicher?) Umstände sozusagen :)

    Das andere ist schon drin, da ich aber noch gerade eine andere Baustelle offen habe, kann ich es noch nicht einchecken...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 05 Juni 2017, 18:35:15
    Ich behelfe mir jetzt erst mal damit, dass ich alle paar Minuten via Cron schaue ob der 00_SONOS.pm Prozess noch läuft. Gegebenenfalls switched das Script dann über den telnet Port mal eben kurz das Device auf disabled/enabled, damit der Prozess neu gestartet wird.

    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 05 Juni 2017, 19:10:38
    Zitat von: Phiolin am 05 Juni 2017, 18:35:15
    Ich behelfe mir jetzt erst mal damit, dass ich alle paar Minuten via Cron schaue ob der 00_SONOS.pm Prozess noch läuft. Gegebenenfalls switched das Script dann über den telnet Port mal eben kurz das Device auf disabled/enabled, damit der Prozess neu gestartet wird.

    Nette Idee, wärst du so nett und stellst den Cron Zeiler hier für die Allgemeinheit zur Verfügung?  :P


    habe letze Woche verschlafen weil der Sonos Prozess abgestürzt ist, dies sollte damit dann nicht mehr vorkommen!  ;D

    Dankende Grüße,

    Fixel
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 06 Juni 2017, 08:23:51
    Crontab Eintrag, prüft alle 10 Minuten:

    */10 * * * * /opt/fhem/check_sonos.sh

    Dazugehöriges bash Script:

    #!/bin/bash
    ps aux|grep [0]0_SONOS.pm > /dev/null
    if [ $? -gt 0 ]
    then
      echo attr Sonos disable|telnet localhost 7072
      sleep 5
      echo deleteattr Sonos disable|telnet localhost 7072
    fi


    Ist recht simpel gehalten. Funktionierte bei meinem Test problemlos, also schnell mal den 00_SONOS.pm Prozess gekillt und gewartet was passiert. Prozess wird dann bei der nächsten Ausführung über cron neu gestartet.
    Wichtig ist hier nur, dass das Script auf dem FHEM Server ausgeführt wird, ansonsten muss das telnet Kommando entsprechend angepasst werden.

    Eventuell muss der Name des Sonos Devices angepasst werden, das Script geht davon aus, dass das Device in FHEM "Sonos" heißt.
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 07 Juni 2017, 07:26:37
    Meine Probleme werden offenbar schlimmer. Heute Nacht ist der SONOS Thread gut ein Dutzend mal verstorben, und das obwohl Nachts praktisch auf der FHEM Installation nichts los ist - klar, wir schlafen halt. ;)
    Die gute Nachricht ist, dass mein Auto-Restart Script zumindest funktioniert, aber eine endgültige Lösung scheint mir das noch nicht zu sein.

    Ich werde jetzt zuerst mal das "reuseport" Setting ausprobieren. Vielleicht gehe ich auch mal zurück auf die SONOS Modul Version von vor dem 15. Mai, da ich mich nicht erinnern kann, dass ich diese Probleme in dem Ausmaß schon immer hatte. Eigentlich lief das Modul mal sehr stabil und zuverlässig.

    Ein paar neue Fehlermeldungen aus dem Log habe ich auch noch:

    2017.06.06 23:26:18 3: SONOS1: Start temporary playing of "\\10.0.0.107\SonosSpeak/RINCON_949F3E85047601400_MR_Speak_e5809200b92a0d0aed129afec9fbc948
    3cf00abe.mp3"
    2017.06.06 23:26:18 2: SONOS1: Error during UPnP-Handling: Can't use an undefined value as an ARRAY reference at ./FHEM/00_SONOS.pm line 2400.

    2017.06.06 23:26:19 3: SONOS1: UPnP-Thread wurde beendet.


    2017.06.06 23:50:19 3: SONOS0: Connection accepted from localhost:45956
    Can't call method "kill" on an undefined value at ./FHEM/00_SONOS.pm line 9730, <$client> line 46.
    Perl exited with active threads:
            2 running and unjoined
            1 finished and unjoined
            0 running and detached


    2017.06.06 05:57:03 5: SONOSPLAYER0: Notify: transportState: STOPPED
    2017.06.06 05:57:03 5: SONOS0: Player: Sonos_Schlafzimmer ~ Slaves: []
    Use of uninitialized value in numeric gt (>) at ./FHEM/00_SONOS.pm line 5041, <$client> line 4.
    Use of uninitialized value $location in concatenation (.) or string at FHEM/lib/UPnP/ControlPoint.pm line 325, <$client> line 4.
    400-URL-Absolute-Error! Location: "", Content: "400 URL missing
    " at ./FHEM/00_SONOS.pm line 5047 thread 6.
    Use of uninitialized value $location in concatenation (.) or string at FHEM/lib/UPnP/ControlPoint.pm line 326, <$client> line 4.
    Loading device description failed with error: 400 URL missing (Location: ) at ./FHEM/00_SONOS.pm line 5047 thread 6.
    Thread 6 terminated abnormally: Can't call method "children" on an undefined value at ./FHEM/00_SONOS.pm line 5051, <$client> line 4.
    2017.06.06 05:57:04 5: SONOSPLAYER0: Notify: transportState: ERROR


    2017.06.05 22:48:10 3: SONOS7: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2017.06.05 22:48:11 5: SONOS0: Player: Sonos_Schlafzimmer ~ Slaves: []
    2017.06.05 22:48:11 5: SONOS0: Player: Sonos_Schlafzimmer ~ Slaves: []
    2017.06.05 22:48:11 5: SONOS0: Player: Sonos_Schlafzimmer ~ Slaves: []
    2017.06.05 22:48:11 5: SONOS0: Player: Sonos_Schlafzimmer ~ Slaves: []
    2017.06.05 22:48:11 5: SONOS0: Player: Sonos_Schlafzimmer ~ Slaves: []
    Use of uninitialized value in numeric gt (>) at ./FHEM/00_SONOS.pm line 5041, <$client> line 4.
    2017.06.05 22:48:13 3: SONOS6: Restorethread has found a job. Waiting for stop playing...
    2017.06.05 22:48:14 3: SONOS6: Restoring playerstate...
    Use of uninitialized value $old{"CurrentURI"} in concatenation (.) or string at ./FHEM/00_SONOS.pm line 5075, <$client> line 4.
    Use of uninitialized value $old{"CurrentURI"} in pattern match (m//) at ./FHEM/00_SONOS.pm line 5077, <$client> line 4.
    2017.06.05 22:48:14 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2017.06.05 22:48:14 3: SONOS4: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2017.06.05 22:48:14 3: SONOS6: Playerstate restored!
    2017.06.05 22:48:14 3: SONOS7: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    Use of uninitialized value $trackProviderRoundURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6951, <$client> line 4.
    Use of uninitialized value $trackProviderQuadraticURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6952, <$client> line 4.
    Use of uninitialized value $trackProviderRoundURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6951, <$client> line 4.
    Use of uninitialized value $trackProviderQuadraticURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6952, <$client> line 4.
    Use of uninitialized value $trackProviderRoundURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6979, <$client> line 4.
    Use of uninitialized value $trackProviderQuadraticURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6980, <$client> line 4.
    Use of uninitialized value $trackProviderRoundURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6979, <$client> line 4.
    Use of uninitialized value $trackProviderQuadraticURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6980, <$client> line 4.
    Use of uninitialized value $trackProviderRoundURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6951, <$client> line 4.
    Use of uninitialized value $trackProviderQuadraticURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6952, <$client> line 4.
    Use of uninitialized value $trackProviderRoundURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6979, <$client> line 4.
    Use of uninitialized value $trackProviderQuadraticURL in concatenation (.) or string at ./FHEM/00_SONOS.pm line 6980, <$client> line 4.
    2017.06.05 22:48:14 3: SONOS4: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2017.06.05 22:48:14 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2017.06.05 22:48:14 3: SONOS7: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".



    Update: Gerade ein FHEM update gemacht und danach den RasPi rebooted. 3 Minuten nach dem FHEM Start stürzt das SONOS Modul wieder ab.
    Habe jetzt nur die 00_SONOS.pm zurück auf die Version aus rev 13952 vom 9. April gedreht. Mal gucken ob die ältere Version wieder stabil läuft. :)
    Titel: Antw:Sonos steuern
    Beitrag von: Hotbird am 09 Juni 2017, 10:58:41
    wie schließe ich das Sonos Modul eigentlich komplett aus nem update raus. Hab grad nen altes Backup auf meine Karte gespielt und will natürlich die anderen Module updaten.

    Nach
    attr global exclude_from_update 21_SONOSPLAYER.pm

    und einem update ist FHEM abgestürzt. Muss ich auch noch die  00_Sonos.pm excludieren?

    // geht übrigens so

    attr global exclude_from_update 21_SONOSPLAYER.pm 00_SONOS.pm

    dann werden beide von Update in Ruhe gelassen
    Titel: Antw:Sonos steuern
    Beitrag von: JoWiemann am 09 Juni 2017, 12:52:12
    Soweit ich weiß, ja, alle abhängigen Module. Und, ich bin mir nicht sicher, ob wild Cards gehen. Also SONOS.*.pm.

    Grüße Jörg
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 12 Juni 2017, 13:23:15
    Seit ich die 00_SONOS.pm auf den Stand vom 09. April zurück gesetzt habe (SVN Rev 13952), habe ich keine Probleme mit Abstürzen mehr.
    Die Auslöser für die Abstürze sollten sich also in den Änderungen vom 14./15. Mai finden lassen.
    Die sind leider ziemlich umfangreich, so dass ich beim drüber schauen jetzt nicht sofort einen konkreten Verdacht habe.
    Titel: Antw:Sonos steuern
    Beitrag von: Hotbird am 13 Juni 2017, 12:12:50
    @Phiolin
    kannst Du mir nen Tip geben wie das mit dem zurücksetzen ging?
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 13 Juni 2017, 13:09:21
    Du kannst im FHEM SVN nach der Versionshistorie des Moduls schauen:
    https://svn.fhem.de/trac/log/trunk/fhem/FHEM/00_SONOS.pm

    Dort wählst du dir dann die Version aus, die du gerne haben möchtest, einfach auf die entsprechende Version in der Spalte "Rev" klicken. In meinem Fall war das die Revision 13952:
    https://svn.fhem.de/trac/browser/trunk/fhem/FHEM/00_SONOS.pm?rev=13952

    Dann öffnet sich die Seite mit dem Quellcode der ausgewählten Revision. Ganz unten am Ende der Seite gibt es dann einen Link "Reiner Text". Damit kannst du den Quellcode im passenden Format herunterladen und musst dann nur die 00_SONOS.pm durch den heruntergeladenen Code ersetzen.

    Das gleiche müsstest du im Prinzip auch mit der 21_SONOSPLAYER.pm (https://svn.fhem.de/trac/log/trunk/fhem/FHEM/21_SONOSPLAYER.pm) machen (hier wäre die passende Revision wohl 13898). Das habe ich bei mir allerdings nicht gemacht. Ich habe keine (mich störenden) Probleme dabei festgestellt, zumindest keine die so schlimm gewesen wären, wie die ständigen Abstürze. :)

    Außerdem habe ich alle angelegten Sonos Player und dazugehörige Geräte aus meiner Installation gelöscht.
    Habe nur das SONOS Device behalten. Die Sonos Player werden dann nach dem FHEM restart automatisch neu angelegt.

    Damit die 00_SONOS.pm nicht beim nächsten FHEM update wieder überschrieben wird, müsstest du außerdem im Global Device das exclude_from_update Attribut entsprechend anpassen. :)
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 29 Juni 2017, 22:06:09
    Bei mir geht seit einem RPi-Neustart heute gar nichts mehr.. FHEM startet laut Logs sauber, die letzten Einträge lauten

    2017.06.29 22:00:54 0: Featurelevel: 5.7
    2017.06.29 22:00:54 0: Server started with 247 defined entities (fhem.pl:14348/2017-05-22 perl:5.020002 os:linux user:fhem pid:11144)


    Allerdings hängt FHEM komplett, das Web-Interface lässt sich auch nicht öffnen. Ich habe dann auf Verdacht die 00_SONOS.pm gelöscht, was alle Probleme sofort löst.

    Was ich bisher versucht habe:
    - FHEM Update
    - RPi Update
    - 00_SONOS.pm vom 09. April installiert

    Ansonsten bin ich aufgrund mangelnder Fehlermeldungen ratlos. Was kann ich noch tun?

    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 02 Juli 2017, 21:52:53
    Ich habe jetzt alles aus der fhem.cfg rausgeschmissen, das mit Sonos zu tun hat. FHEM läuft normal. Füge ich folgende Zeile ein:

    define Sonos SONOS localhost:4711 30

    oder alternativ

    define Sonos SONOS

    startet FHEM nicht mehr. Hat niemand eine Idee?  :-\
    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 02 Juli 2017, 22:32:33
    logge Dich doch mal mit einer shell auf deinen RPi ein, und schau doch mal was am Ende vom Logfile in /opt/fhem/log fhem.log steht.
    Z.B mit "tail /opt/fhem/log fhem.log"
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 02 Juli 2017, 22:34:57
    Du meinst im aktuellen Log, z.B. fhem-2017-07.log? Da steht gar nichts drin, FHEM hängt sich einfach komplett auf. Wenn ich das Sonos-Device über die Web-Oberfläche definiere, wird im Device "Waiting for subprocess..." angezeigt, danach geht nichts mehr.
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 03 Juli 2017, 21:27:21
    Hallo,

    hast Du auch die readings von "SONOS" gelöscht? Ich vermute, dass hier Dein Problem liegt. Ich weiß allerdings nicht, wie man diese nachträglich löschen kann.

    VG
    juemuc
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 03 Juli 2017, 22:02:16
    Ich habe das SONOS-Device und alle SONOSPLAYER und deren Attribute aus der fhem.cfg gelöscht, also komplett aufgeräumt. Kann es abgesehen davon noch "gecachte" Daten/Readings geben?
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 04 Juli 2017, 08:17:13
    Zitat von: dantist am 03 Juli 2017, 22:02:16
    Ich habe das SONOS-Device und alle SONOSPLAYER und deren Attribute aus der fhem.cfg gelöscht, also komplett aufgeräumt. Kann es abgesehen davon noch "gecachte" Daten/Readings geben?

    normalerweise löscht man nur im äußersten Notfall etwas aus der Fhem.cfg ansonsten nutzt man dazu den button "delete device" in der GUI. Kann schon sein, dass dadurch Fehler auftreten. ::)
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 04 Juli 2017, 10:01:09
    ich meine mich schwach zu erinnern, dass ich ähnliche Problem nach dem Löschen eines Device auch schon mal hatte ... es kamen noch Meldungen  im Log mit Bezug auf das gelöschte Device ... nach dem 2. Restart vom FHEM war dann aber alles OK

    Gruß Nobby
    Titel: Antw:Sonos steuern
    Beitrag von: fhem-challenge am 04 Juli 2017, 10:29:41
    Hallo Zusammen,

    Frage: Wer hat eine stabile SONOS config laufen ?

    Seit geraumer Zeit habe ich mit allen neueren Versionen (gefühlt seit dem Arpil 2017) immer wieder diverse Probleme. Derzeit ist es so, das die Player allesamt ganz unmotiviert "disapered" sind und das meist nach einigen Stunden.

    Mit der aktuellen neuesten Version kommt ein:

    2017.07.04 03:51:52 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 2017-07-04 03:49:36)... try to restart the process and connection...
    2017.07.04 03:51:54 3: SONOS0: Disconnecting client and shutdown server...
    2017.07.04 03:51:54 3: SONOS0: Trying to kill Sonos_Thread...
    2017.07.04 03:51:54 3: SONOS0: Trying to kill IsAlive_Thread...
    2017.07.04 03:51:54 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2017.07.04 03:51:54 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    2017.07.04 03:52:22 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2017.07.04 03:52:24 1: SONOS0: /opt/fhem/FHEM/00_SONOS.pm is listening to Port 4711
    2017.07.04 03:52:30 3: Opening Sonos device localhost:4711
    2017.07.04 03:52:30 3: SONOS0: Connection accepted from localhost:33879
    2017.07.04 03:52:30 3: Sonos device opened


    ... danach ist SONOS tot.


    Das SONOS Modul erlaubt mometan dermassen viele Features, und ist damit so umfangreich, das vermutlich auch die Fehlerquellen analog zunehmen. Mir würde ja vollkommen ein "SONOS light" genügen, finde aber keine über mehrere Tage stabil laufende Version.

    Ich verwende derzeit die vom 4.4.2017 (auch den SONOSPLAYER vom 4.4.). Vielleicht muss ich ja noch weiter in den releases zurück gehen.

    Was wäre die "stable" Version ?


    Viele Grüße!


    Andreas
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 04 Juli 2017, 10:38:40
    Hallo Andreas,

    also bei mir ist im Moment alles stabil ... die in einem anderen Thread diskutierten Probleme mit BeginUpdate-Verschachtelungen sind ja eher zur Fehlersuche provoziert und haben aus meiner Sicht nichts mit Instabilität zu tun

    Die "disapeared" Probleme, die ich vor ein paar Monaten hatte, lagen wie sich inzwischen herausgestellt hat an Multicasts die von Telekom Entertain ausgelöst wurden, von einem veralteten Switch nicht gefiltert wurden und dann den Sonos-Player gestört (aufgehängt) haben. Mit einem neuen Switch sind die Probleme jetzt gelöst

    Gruß Nobby
    Titel: Antw:Sonos steuern
    Beitrag von: fhem-challenge am 04 Juli 2017, 11:19:52
    Zitat von: Nobby1805 am 04 Juli 2017, 10:38:40
    Hallo Andreas,

    also bei mir ist im Moment alles stabil ... die in einem anderen Thread diskutierten Probleme mit BeginUpdate-Verschachtelungen sind ja eher zur Fehlersuche provoziert und haben aus meiner Sicht nichts mit Instabilität zu tun

    Die "disapeared" Probleme, die ich vor ein paar Monaten hatte, lagen wie sich inzwischen herausgestellt hat an Multicasts die von Telekom Entertain ausgelöst wurden, von einem veralteten Switch nicht gefiltert wurden und dann den Sonos-Player gestört (aufgehängt) haben. Mit einem neuen Switch sind die Probleme jetzt gelöst

    Gruß Nobby


    Okay.... ja Entertain habe ich nicht. Die Hardware Player laufen auch problemlos .. zu jeder Zeit ... nur halt nicht mit FHEM --> 00_SONOS.pm.

    Interessant ist nach meinen Beobachtungen, dass es i.d.R. einige Stunden braucht, bis SONOS.pm sich verabschieded.


    Viele Grüße!

    Andreas
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 04 Juli 2017, 11:35:09
    Zitat von: fhem-challenge am 04 Juli 2017, 11:19:52

    Okay.... ja Entertain habe ich nicht. Die Hardware Player laufen auch problemlos .. zu jeder Zeit ... nur halt nicht mit FHEM --> 00_SONOS.pm.

    Interessant ist nach meinen Beobachtungen, dass es i.d.R. einige Stunden braucht, bis SONOS.pm sich verabschieded.


    Viele Grüße!

    Andreas

    bei mir habe ich auch (nur noch sporadisch) das Problem mit den disappearten Player ...

    meine Vermutung liegt bei dem Linux unten drunter

    Meistens verschwinden diese nachdem shared libraries ausgetauscht worden sind (apt upgrade). Ein normaler Boot des Computers hilft dann bestens :-)

    Viel Erfolg

    Wuppi
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 04 Juli 2017, 15:37:09
    Hallo,

    ich habe vor kurzer Zeit auch FHEM komplett neu aufgesetzt, weil ich unerklärliche Probleme mit Sonos hatte. Jetzt ist Ruhe :-). Es funktioniert alles.

    Viele Grüße
    juemuc
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 04 Juli 2017, 17:09:12
    Zitat von: Fixel2012 am 04 Juli 2017, 08:17:13
    normalerweise löscht man nur im äußersten Notfall etwas aus der Fhem.cfg ansonsten nutzt man dazu den button "delete device" in der GUI. Kann schon sein, dass dadurch Fehler auftreten. ::)

    Ich kann das Device nicht löschen, da ich gar nicht erst in FHEM reinkomme. Dazu muss ich die Module SONOS und SONOSPLAYER aus /opt/fhem/FHEM löschen, und ohne diese Module wird das Device in FHEM nicht geladen.
    Titel: Antw:Sonos steuern
    Beitrag von: fhem-challenge am 05 Juli 2017, 08:55:20
    Zitat von: Wuppi68 am 04 Juli 2017, 11:35:09
    bei mir habe ich auch (nur noch sporadisch) das Problem mit den disappearten Player ...

    meine Vermutung liegt bei dem Linux unten drunter

    Meistens verschwinden diese nachdem shared libraries ausgetauscht worden sind (apt upgrade). Ein normaler Boot des Computers hilft dann bestens :-)

    Viel Erfolg

    Wuppi


    Ich vermute bei den "disapered" eher zu geringe Timeout Einstellungen in 00_SONOS.pm. Ich habe nun reproduzierbar auch den Effekt, dass in FHEM bei einem "backup", danach die SONOS alle disapered sind. Also auch hier ggf. Abhängigkeiten mit Timeouts.


    Frage an Reinerlein:

    Gibt es eine Möglichkeit diese Timeouts zu erhöhen ?


    Viele Grüße!

    Andreas
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Juli 2017, 09:36:41
    Hi Andreas,

    Das Problem ist, herauszufinden, warum die Player auf disappeared gehen. Bislang gibt es leider keine Logs dazu...

    Es gibt dafür mehrere Prüfungen:
    1. Der Teil, der prüft, ob der SubProzess überhaupt noch erreichbar ist. Wenn dieser einen nicht mehr erreichbaren Prozess erkennt (momentan: dreimal hintereinander nicht erreichbar gewesen), dann wird versucht den SubProzess neuzustarten. Dabei werden erstmal *alle* Player auf disappeared gesetzt.

    2. Der Teil, der prüft, ob ein einzelner Player noch erreichbar ist. Wenn der Player dreimal nicht erreichbar war, dann wird *dieser* Player auf disappeared gesetzt.

    in beiden Fällen ist das der Wert, den man hinter der Definition von <Host:Port> angibt (das Internal INTERVAL). Die Timeouts sind also identisch.
    In allen Fällen wird im Log ausgegeben, wenn ein Player oder der ganze SubProzess nicht mehr gefunden werden konnte. Das kann man also nachlesen. Auch, wenn ein Player mal kurz nicht erreichbar war, und es dann wieder ist, kann man das dann im Log erkennen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: fhem-challenge am 05 Juli 2017, 10:10:17
    Zitat von: Reinerlein am 05 Juli 2017, 09:36:41
    Hi Andreas,

    Das Problem ist, herauszufinden, warum die Player auf disappeared gehen. Bislang gibt es leider keine Logs dazu...

    Es gibt dafür mehrere Prüfungen:
    1. Der Teil, der prüft, ob der SubProzess überhaupt noch erreichbar ist. Wenn dieser einen nicht mehr erreichbaren Prozess erkennt (momentan: dreimal hintereinander nicht erreichbar gewesen), dann wird versucht den SubProzess neuzustarten. Dabei werden erstmal *alle* Player auf disappeared gesetzt.

    2. Der Teil, der prüft, ob ein einzelner Player noch erreichbar ist. Wenn der Player dreimal nicht erreichbar war, dann wird *dieser* Player auf disappeared gesetzt.

    in beiden Fällen ist das der Wert, den man hinter der Definition von <Host:Port> angibt (das Internal INTERVAL). Die Timeouts sind also identisch.
    In allen Fällen wird im Log ausgegeben, wenn ein Player oder der ganze SubProzess nicht mehr gefunden werden konnte. Das kann man also nachlesen. Auch, wenn ein Player mal kurz nicht erreichbar war, und es dann wieder ist, kann man das dann im Log erkennen...

    Grüße
    Reiner


    Hallo Reinerlein,


    danke für die Info!. Ja , das habe ich noch überlesen. Ich werde mal ein Timeout von 60 oder mehr probieren.


    Ich hatte das log mal gepostet (vor ein paar Tagen).



    2017.07.04 03:51:52 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 2017-07-04 03:49:36)... try to restart the process and connection...
    2017.07.04 03:51:54 3: SONOS0: Disconnecting client and shutdown server...
    2017.07.04 03:51:54 3: SONOS0: Trying to kill Sonos_Thread...
    2017.07.04 03:51:54 3: SONOS0: Trying to kill IsAlive_Thread...
    2017.07.04 03:51:54 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2017.07.04 03:51:54 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    2017.07.04 03:52:22 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2017.07.04 03:52:24 1: SONOS0: /opt/fhem/FHEM/00_SONOS.pm is listening to Port 4711
    2017.07.04 03:52:30 3: Opening Sonos device localhost:4711
    2017.07.04 03:52:30 3: SONOS0: Connection accepted from localhost:33879
    2017.07.04 03:52:30 3: Sonos device opened



    Danach sind alle Player "disapered". Aus irgend einem Grund werden die Player nach "SONOS0: Trying to kill Sonos_Thread" nicht mehr erreicht.  Ich versuche mal ein Interval von >= 60.

    Viele Grüße!

    Andreas
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Juli 2017, 10:48:29
    Hi Andreas,

    und versucbh auf jeden Fall die neue Version. Ich habe noch etwas an den Stellschrauben gedreht, in diesem Fall wird ab sofort eine LastProcessAnswer von 4*INTERVAL erst berücksichtigt.
    Außerdem habe ich noch ein bißchen am Restart korrigiert. Das sollte besser abgearbeitet werden.

    Vielleicht ist das dann tatsächlich schon alles... Man darf ja mal hoffen :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: fhem-challenge am 05 Juli 2017, 11:07:16
    Zitat von: Reinerlein am 05 Juli 2017, 10:48:29
    Hi Andreas,

    und versucbh auf jeden Fall die neue Version. Ich habe noch etwas an den Stellschrauben gedreht, in diesem Fall wird ab sofort eine LastProcessAnswer von 4*INTERVAL erst berücksichtigt.
    Außerdem habe ich noch ein bißchen am Restart korrigiert. Das sollte besser abgearbeitet werden.

    Vielleicht ist das dann tatsächlich schon alles... Man darf ja mal hoffen :)

    Grüße
    Reiner

    Hi Reiner,

    ja, ich verwende die neueste Version. Habe nun:

    define Sonos SONOS localhost:4711 180 20 10

    ... mit deutlich erhöhten Werten verwendet und warte mal ab, ob es läuft.

    Vielen Dank!

    Gruss

    Andreas

    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 05 Juli 2017, 11:38:45
    Hi Reinerlein,

    hast du vielleicht eine Idee zu meinem Problem und wie ich diesen Fehler debuggen könnte, der die ganze FHEM-Installation zum Stillstand bringt?

    Danke & Gruß
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Juli 2017, 13:25:36
    Hi Daniel,

    ohne Log ist das immer schwierig. Versuch doch mal vor dem Fhem-Start den verbose-Wert am Sonos-Device (oder wenn das nicht geht am global-Device) auf 5 zu setzen. Das kannst du ja auch direkt in der Config-Datei machen...

    Das wird zwar eine Menge Logs erzeugen, aber mit etwas Glück ist dann auch das eigentliche Problem dabei...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 05 Juli 2017, 17:04:14
    Muss mich leider auch nochmal melden, Fhem ist so eben wieder abgeschmiert.

    Folgende Zeilen Finden sich im Log auf (gekürzt):

    2017.07.05 16:46:23 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_getSonosPlayerByUDN" at ./FHEM/00_SONOS.pm line 9870.
    2017.07.05 16:46:23 1: stacktrace:
    2017.07.05 16:46:23 1:     main::__ANON__                      called by ./FHEM/00_SONOS.pm (9870)
    2017.07.05 16:46:23 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (9870)
    2017.07.05 16:46:23 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9619)


    mit einem anschließendem2017.07.05 16:46:23 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9619)
    Out of memory!

    hat sich Fhem bzw der ganze Raspi dann verabschiedet  :o :-X

    Lässt sich damit was anfangen?  :-[

    Gruß Fixel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Juli 2017, 17:21:55
    Hi Fixel,

    verwendest du schon die neueste Version von Heute?
    Ich hatte da etwas am Log-Mechanismus angepasst....

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 05 Juli 2017, 18:18:26
    Hi, danke für deine Antwort.
    Zitat von: Reinerlein am 05 Juli 2017, 17:21:55
    Hi Fixel,

    verwendest du schon die neueste Version von Heute?
    Ich hatte da etwas am Log-Mechanismus angepasst....

    Grüße
    Reiner
    Nein, ich wollte noch warten, bis es im SVN verfügbar ist.  8)

    Vielleicht kommt die Fehlermeldungen Morgen nochmal, wer weiß  ???

    Grüße und trotzdem Danke,

    Fixel
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 05 Juli 2017, 20:58:30
    Zitat von: Reinerlein am 05 Juli 2017, 13:25:36
    Hi Daniel,

    ohne Log ist das immer schwierig. Versuch doch mal vor dem Fhem-Start den verbose-Wert am Sonos-Device (oder wenn das nicht geht am global-Device) auf 5 zu setzen. Das kannst du ja auch direkt in der Config-Datei machen...

    Das wird zwar eine Menge Logs erzeugen, aber mit etwas Glück ist dann auch das eigentliche Problem dabei...

    Grüße
    Reiner

    Hallo Reinerlein,

    ich habe zur Sicherheit die neue Version aus dem SVN gezogen, global verbose auf 5 gestellt und ein SONOS-Device definiert. FHEM leitet zur Device-Seite weiter, der Status dort ist "waiting for subprocess", danach geht nichts mehr. Anbei das Log vom Absenden des Befehls bis zum Freeze:

    2017.07.05 20:52:33 4: Connection accepted from WEB_192.168.108.51_56632
    2017.07.05 20:52:33 4: WEB_192.168.108.51_56632 POST /fhem&fw_id=230&room=00+-+%C3%9Cbersicht&cmd=define+Sonos+SONOS+localhost%3A4711+30; BUFLEN:0
    2017.07.05 20:52:33 5: Cmd: >define Sonos SONOS localhost:4711 30<
    2017.07.05 20:52:33 5: Loading ./FHEM/00_SONOS.pm
    2017.07.05 20:52:34 5: Starting notify loop for global, 1 event(s), first is DEFINED Sonos
    2017.07.05 20:52:35 5: createNotifyHash
    2017.07.05 20:52:35 5: End notify loop for global
    2017.07.05 20:52:35 4: WEB_192.168.108.51_56632 GET /fhem?detail=Sonos&fw_id=230; BUFLEN:0
    2017.07.05 20:52:35 4: name: /fhem?detail=Sonos&fw_id=230 / RL:3566 / text/html; charset=UTF-8 / Content-Encoding: gzip
    /
    2017.07.05 20:52:35 4: Connection closed for WEB_192.168.108.51_56631: EOF
    2017.07.05 20:52:35 4: WEB_192.168.108.51_56632 GET /fhem?cmd={ReadingsVal(%22Sonos%22,%22DisableBookmark%22,%22%22)}&XHR=1; BUFLEN:0
    2017.07.05 20:52:35 5: Cmd: >{ReadingsVal("Sonos","DisableBookmark","")}<
    2017.07.05 20:52:35 4: name: /fhem?cmd={ReadingsVal(%22Sonos%22,%22DisableBookmark%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
    /
    2017.07.05 20:52:35 4: Connection accepted from WEB_192.168.108.51_56633
    2017.07.05 20:52:35 4: WEB_192.168.108.51_56633 GET /fhem?cmd={AttrVal(%22Sonos%22,%22room%22,%22%22)}&XHR=1; BUFLEN:0
    2017.07.05 20:52:35 5: Cmd: >{AttrVal("Sonos","room","")}<
    2017.07.05 20:52:35 4: name: /fhem?cmd={AttrVal(%22Sonos%22,%22room%22,%22%22)}&XHR=1 / RL:21 / text/plain; charset=UTF-8 / Content-Encoding: gzip
    /
    2017.07.05 20:52:35 5: Starting notify loop for BewegungsmelderFlur, 3 event(s), first is motion: off
    2017.07.05 20:52:35 5: End notify loop for BewegungsmelderFlur
    2017.07.05 20:52:35 4: WEB_192.168.108.51_56633 GET /fhem?XHR=1&inform=type=status;filter=Sonos;since=1499280754;fmt=JSON&fw_id=230&timestamp=1499280755501; BUFLEN:0


    Anschließend muss ich mit einem "sudo /etc/init.d/fhem stop" und "sudo /etc/init.d/fhem start" FHEM wieder zum Leben erwecken.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Juli 2017, 21:22:17
    Hi Daniel,

    das ist echt komisch..
    Wieso versucht er das Reading "DisableBookmark" zu lesen, oder das Attribut "room"?
    Vor Allem als Web-Command abgesetzt...

    Ist da vielleicht noch ein TabletUI oder ähnliches dran? Aber selbst das sollte gehen...

    Ich bin echt überfragt... Wie sieht das denn in einem htop auf Systemebene aus? Wird der SubProzess denn noch erzeugt? Werden auch noch dessen drei SubThreads erzeugt?
    Das Log endet dafür eigentlich zu früh, da der SubProzess ja erst nach 8 Sekunden angestartet wird...
    Aber es müssten überhaupt mal Logausgaben des Moduls kommen... da kommt ja gar nichts... So, als wäre das Modul gar nicht geladen worden...
    Gibt es vielleicht im Systemlog der Maschine einen gemeldeten Perl Absturz?

    Sorry für das gestocher, aber da habe ich echt gerade keine direkt zielführende Idee...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 05 Juli 2017, 22:01:51
    Hi Reinerlein,

    kannst du mir kurz sagen, wie ich an diese Infos (htop, Subprozesse, etc.) rankomme? Ich bin kein Linux-Profi, werde aber gerne alles machen, das bei der Fehlersuche hilft. Ohne Sonos macht FHEM nämlich nur halb so viel Spaß..

    Eine TabletUI oder andere Dinge, die unaufgefordert Web-Requests absetzen, laufen übrigens nicht.

    Danke & Gruß
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Juli 2017, 22:29:53
    Hi Daniel,

    ich weiß ja nicht, auf was für einem System dein Fhem läuft. Ich gehe mal von einem Raspberry Pi mit Debian aus.

    "htop" ist ein Prozessanzeige-Tool für die Linux Konsole. Einfach mal auf der Konsole per ssh anmelden und htop eingeben.

    Wenn da eine Fehlermeldung kommt, dass es nicht installiert sei, kannst du es einfach mit

    sudo apt-get install htop
    installieren.

    Wenn htop läuft, kannst du mit F4 und der anschließenden Angabe von "perl" die Ausgabe auf Perl-Prozesse hin filtern.

    Im Anhang mal ein Screenshot von mir. Dort siehst du, dass es einen Perl-Prozess mit dem Parametr fhem.pl gibt, und vier Stück mit dem Parameter 00_SONOS.pm.
    Das wäre der Normalzustand :)

    Aber wie gesagt, das wird vermutlich darauf hinauslaufen, dass bei dir nur der Fhem-Prozess läuft...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 06 Juli 2017, 08:58:17
    Danke Reiner,

    habe ich getestet, und wie du vermutet hast, wird nur fhem-Prozess angezeigt. Ich habe danach aufgegeben, ein altes Images meiner RPi SD-Karte eingespielt und ein aktuelles Backup von FHEM installiert. Was soll ich sagen - es läuft wieder alles wie gewohnt. Weiß der Geier, was das gewesen sein könnte. Wenn FHEM jetzt noch ein "apt-get upgrade" übersteht, ist alles gut :)

    Danke Dir für deine Hilfe!

    Gruß
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: l2r am 06 Juli 2017, 09:35:11
    @Reinerlein: Könnte es einen Unterschied machen, ob die SONOS-Subprozesse bei dir als root laufen und bei mir unter dem Benutzer fhem?

    Gruß Michael
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Juli 2017, 09:54:11
    Hi Michael,

    nur, wenn du als pingType "ICMP" (also den klassischen Ping) ausgewählt hast. Den darf man nur als root absetzen... Das müsste aber auch im Log entsprechend auftauchen.

    Ansonsten sind mir zumindest keinerlei Einschränkungen in der Modulnutzung bekannt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: gloob am 09 Juli 2017, 19:57:26
    Das Sonos-Modul hat heute mein FHEM komplett einfrieren lassen:

    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2505, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2508, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2510, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2512, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2514, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2516, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2518, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2524, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2531, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2535, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2537, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2539, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2542, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2545, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2552, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2558, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2564, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2570, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2586, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2624, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2630, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2645, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2649, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2672, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2678, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2717, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2739, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2748, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2757, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2766, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2775, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2784, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2793, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2829, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2843, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2852, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2872, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2892, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2912, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2921, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2930, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2934, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2938, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2942, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2946, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2950, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2969, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2980, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3001, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3023, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3044, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3066, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3080, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3111, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3411, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3432, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3454, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3505, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3558, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3610, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3688, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3812, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3887, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3893, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3899, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3909, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3925, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3931, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3935, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3941, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3947, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3951, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4007, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4033, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4073, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4078, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4295, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4307, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4335, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4344, <$client> line 7.
    Use of uninitialized value $workType in pattern match (m//) at ./FHEM/00_SONOS.pm line 4353, <$client> line 7.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4444, <$client> line 7.
    Use of uninitialized value $workType in ucfirst at ./FHEM/00_SONOS.pm line 4447, <$client> line 7.
    Use of uninitialized value $udn in concatenation (.) or string at ./FHEM/00_SONOS.pm line 5630, <$client> line 7.
    2017.07.09 19:27:31 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_getSonosPlayerByUDN" at ./FHEM/00_SONOS.pm line 9963.
    2017.07.09 19:27:31 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_Log" at ./FHEM/00_SONOS.pm line 9714.


    Ich hoffe das Log hilft etwas.
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 10 Juli 2017, 11:12:14
    Hallo Reiner,

    ich habe endlich den Grund für mein seltsames Problem gefunden: Es ist das Zusammenspiel mit der aktuellen Version vom DNS-AdBlocker Pi-hole (https://pi-hole.net/). Ich habe das auch im allgemeinen Bereich gepostet, da ich nicht sicher bin, ob es mit FHEM oder mit dem Sonos-Modul zusammenhängt: https://forum.fhem.de/index.php/topic,74032.0.html

    Was könnte dein Modul machen, das andere nicht machen und das mit einem DNS-Dienst kollidiert? Die Tools, die Pi-hole nachinstalliert, sind: bc, cron, curl, dnsmasq, dnsutils, iputils-ping, lsof, netcat, sudo, unzip, wget, lighttpd, php5-common, php5-cgi, FTL (https://github.com/pi-hole/FTL/releases/latest).

    Damit sollte das Problem auch reproduzierbar sein. Einfach die aktuelle Version von Pi-hole installieren, und nach einem Neustart des RPi läuft FHEM nicht mehr, wenn Sonos-Devices eingerichtet sind.

    Gruß
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Juli 2017, 11:36:18
    Hi Daniel,

    das Sonos-Modul greift auf jeden Fall auf diverse Server im Internet zu. Die Adressen werden bei Sonos ermittelt und verwendet (z.B. TuneIn-Cover bei tunein.com oder Logos bei sonos-logo.ws.sonos.com).
    Wenn man da unsichtbar nicht mehr hinkommt, dann blockiert das natürlich alles.
    So wie ich die Beschreibung verstehe, kommt statt der eigentlichen Antwort eine Hinweisseite oder ein GIF. Beides kann dann vom Modul nicht mehr korrekt verarbeitet werden, und sorgt natürlich für Fehler...

    Die Frage ist ja: Wieso sind anscheinend einige der Adressen, die von Sonos (nicht ausschließlich mein Modul, ich verwende nur diesselben Abfragesysteme) verwendet werden, im pi-hole blockiert?
    In der Hauptsache sind das ja Cloud-Dienste und andere Speichersysteme...

    Am Einfachsten wird es wohl sein, wenn du dem Pi ohne DHCP eine eigene Adresse gibst, und vor allem dabei nicht den pi-hole als DNS-Server angibst.

    Ansonsten: Zeigt der pi-hole in seiner Übersicht nicht, welche Seiten er vom Sonos-Modul aus geblockt hat? Dann müsstest du die doch auf die Whitelist setzen können...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 10 Juli 2017, 12:10:09
    Hallo Reiner,

    Zitat von: Reinerlein am 10 Juli 2017, 11:36:18
    das Sonos-Modul greift auf jeden Fall auf diverse Server im Internet zu. Die Adressen werden bei Sonos ermittelt und verwendet (z.B. TuneIn-Cover bei tunein.com oder Logos bei sonos-logo.ws.sonos.com).
    Wenn man da unsichtbar nicht mehr hinkommt, dann blockiert das natürlich alles.

    Kann das Modul dadurch tatsächlich bis zu dem Punkt blockieren, dass FHEM nicht mehr reagiert?

    Zitat von: Reinerlein am 10 Juli 2017, 11:36:18
    Am Einfachsten wird es wohl sein, wenn du dem Pi ohne DHCP eine eigene Adresse gibst, und vor allem dabei nicht den pi-hole als DNS-Server angibst.

    Ansonsten: Zeigt der pi-hole in seiner Übersicht nicht, welche Seiten er vom Sonos-Modul aus geblockt hat? Dann müsstest du die doch auf die Whitelist setzen können...

    Der Pi hat eine feste IP, da er selbst als DHCP-Server arbeitet. Er verwendet aber nicht sich selbst als DNS, cat /etc/resolv.conf gibt mir die IP der Fritzbox als DNS-Server zurück. Entsprechend steht auch nichts in den Pi-hole-Logs. Daran sollte es also nicht liegen..

    Trotzdem scheint Pi-hole etwas zu blockieren, ohne das es bei deinem Modul nicht weitergeht. Das übersteigt meine Debugging-Fähigkeiten unter Linux leider bei weitem. Ich verstehe aber, dass das Problem recht speziell ist und wahrscheinlich zu zeitaufwendig für dich, es nachzustellen. Zur Not muss der AdBlocker dran glauben, Sonos geht vor ;)

    Gruß
    Daniel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 10 Juli 2017, 13:00:47
    Hi Daniel,

    eine Idee noch: Welchen pingType verwendest du?
    pi-hole scheint ja auch den Ping zu ersetzen, wenn du also Ping als Type verwendest, könnte das ein Problem sein.

    Das sollte aber Fhem wirklich nicht anhalten, da es ausschließlich in einem Thread des SubProzesses läuft...

    hmmm... keine Ahnung...

    Grüße
    Reiner

    P.S.: Sonst den pi-hole in einem Docker-Image laufen lassen? z.B.: "diginc/pi-hole". Ist immerhin schon über 500.000 mal verwendet worden :)
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 10 Juli 2017, 13:50:12
    Danke für deine Anregungen, das schaue ich mir beides mal an. Von Docker habe ich gehört, aber noch nie etwas damit gemacht. Das wird dann wohl mein nächstes Wochenendprojekt ;)
    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 12 Juli 2017, 00:09:27
    Hallo alle zusammen,
    ich möchte nach dem Einschalten meiner Funksteckdosen für meine Sonos Play eine beliebig lange "welcome message" abspielen, und danach einen Radio Sender.
    Nun passiert es immer wieder, das die Sprachdurchsage kommt, aber der Radiosender nur manchmal. Der trigger unten geht irgendwie nicht immer zuverlässig.
    Gibt es einen zuverlässigen Trigger für das event wenn die Sprachdurchsage beendet ist?

    define Sonos_Ready_p notify (Sonos_BOOST|Sonos_Bad|Sonos_Flur|Sonos_Kueche|Sonos_Kueche_RF|Sonos_Schlaf|Sonos_Schlaf_RF):presence:.appeared {
      Log(2,"$NAME: Event: $EVENT");
      if (ReadingsVal("Sonos_Kueche","presence","nA")    eq "appeared" &&
          ReadingsVal("Sonos_Kueche_RF","presence","nA") eq "appeared" &&
          ReadingsVal("Sonos_Bad","presence","nA")       eq "appeared" &&
          ReadingsVal("Sonos_Flur","presence","nA")      eq "appeared" &&
          ReadingsVal("Sonos_BOOST","presence","nA")     eq "appeared" &&
          ReadingsVal("Sonos_Schlaf","presence","nA")    eq "appeared" &&
          ReadingsVal("Sonos_Schlaf_RF","presence","nA") eq "appeared") {
          fhem("set Sonos Groups [Sonos_Schlaf,Sonos_Kueche,Sonos_Flur,Sonos_Bad];
                set Sonos_Schlaf,Sonos_Kueche,Sonos_Bad,Sonos_Flur Volume 4;set Sonos_Schlaf SnapshotGroupVolume;
                set Sonos Mute 0;set Sonos_Schlaf GroupMute 0;set Sonos_Schlaf StartFavourite /(?i)ANTENNE.*/ noStart;trigger WelcomeMessage ");


    und dann ein
    Sonos_Schlaf:currentAlbum:. set Sonos_Schlaf:FILTER=transportState=STOPPED Play

    Der trigger wenn die Sprachdurchsage aktiv wird habe ich, aber ich muss ja trigger auf das event wenn die beendet ist Sonos_Schlaf:currentAlbum:.Sprachdurchsagen
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 12 Juli 2017, 14:45:17
    Hallo inoma,

    bitte poste mal ein list Sonos_Ready_p - so mit diesen Stückchen ist alles mehr oder weniger "fake". Da kann nichts funktionieren, da hat wahrscheinlich gar keiner Lust drüber nachzudenken.

    Die umständliche "Anfangsarie" in deinem notify würde ich anders ansetzen: Mach als erstes eine ordentliche structure für Sonos_BOOST|Sonos_Bad|Sonos_Flur|Sonos_Kueche|Sonos_Kueche_RF|Sonos_Schlaf|Sonos_Schlaf_RF auf die kannst Du dann triggern -> <structure_sonos>:presence:.appeared

    Damit sparst Du dir nicht nur die Abfrage am Anfang sondern auch, dass das notify 6 mal umsonst anspringt.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 12 Juli 2017, 19:27:03
    Hallo Otto,
    danke für die Antwort, vielleicht habe ich mich nicht so richtig klar ausgedrückt,
    meine eigentliche Frage war ja, "Was ist das Event für das Ende einer Sprachdurchsage?", also auf welches Sonos reading kann ich triggern wenn das Speak aufhört set Sonos_Schlaf Speak 14 de |Gong| $text Oder woran erkenne ich den Moment wenn eine (beliebig lange) Sprachdurchsage beendet ist?

    Ein Sonos_Schlaf:currentAlbum:.Sprachdurchsagen {} triggert auf den Anfang der Sprachdurchsage.

    Wenn die Sprachdurchsage endet, ist das reading 'currentAlbum' aber leer, darauf kann ich meiner Meinung nach nicht triggern.

    Gibt es ein Reading das sich ändert wenn eine Sprachdurchsage endet?


    PS:
    Die Structure habe ich probiert, die zeigt aber die presence der Sonos devices nicht an. Die Structure hat genau 3 readings, LastDevice, LastDevice_Abs, und state, wobei state dann PLAYING oder STOPPED (oder undefined) ist.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 13 Juli 2017, 12:02:41
    Hi inoma,

    zur structure, das sollte eigentlich so gehen:defmod st_SonosPlayer structure Player .*:FILTER=TYPE=SONOSPLAYER
    attr st_SonosPlayer clientstate_behavior relative
    attr st_SonosPlayer clientstate_priority disappeared appeared
    attr st_SonosPlayer room Sonos

    Funktioniert bei mir, abgesehen davon dass es schwierig war einen Player auf disappeared zu bringen :)

    Hier mal noch ein paar Links ->
    https://forum.fhem.de/index.php?topic=42116.0
    https://www.google.de/search?q=site%3Aforum.fhem.de&rct=j#q=site:forum.fhem.de+structure+sonos_player+disappeared

    Gruß Otto

    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 13 Juli 2017, 21:37:22
    Hallo Otto,

    Hier mal das list von der Structure. Aber ich bekomme da kein reading 'presence'.
    Unten auch nochmal das list vom Sonos_Bad, und vom Sonos_Schlaf, der der Master Player ist.
    Ich habe nicht das ".*:FILTER=TYPE=SONOSPLAYER" verwendet wie vorgeschlagen, weil ich noch einen Wohnzimmer Player habe, der nicht Teil der Structure sein soll.

    Internals:
       ATTR       Player
       CFGFN
       CHANGED
       CHANGEDCNT 116
       DEF        Player Sonos_Bad Sonos_Flur Sonos_Kueche Sonos_Kueche_RF Sonos_Schlaf Sonos_Schlaf_RF
       NAME       SonosStructure
       NR         8925
       NTFY_ORDER 50-SonosStructure
       STATE      undefined
       TYPE       structure
       CONTENT:
         Sonos_Bad  PLAYING
         Sonos_Flur PLAYING
         Sonos_Kueche PLAYING
         Sonos_Kueche_RF PLAYING
         Sonos_Schlaf PLAYING
         Sonos_Schlaf_RF PLAYING
       READINGS:
         2017-07-13 21:31:32   LastDevice      Sonos_Schlaf_RF
         2017-07-13 21:31:32   LastDevice_Abs  Sonos_Schlaf_RF
         2017-07-13 21:31:32   state           undefined
    Attributes:
       clientstate_behavior relative
       clientstate_priority disappeared appeared
       event-on-change-reading currentAlbum,currentSender,GroupMute,LastActionResult,Mute,presence,state,transportState,Volume
       group      SONOS
       room       Sonos


    Internals:
       DEF        RINCON_5CAAFD22856E01400_MR
       NAME       Sonos_Schlaf
       NOTIFYDEV  Sonos_Schlaf
       NR         3264
       NTFY_ORDER 50-Sonos_Schlaf
       STATE      appeared ~ 0.0% (0:00:04 / 0:00:00)
       TYPE       SONOSPLAYER
       UDN        RINCON_5CAAFD22856E01400_MR
       READINGS:
         2017-07-13 07:50:38   AlarmList       {}
         2017-07-13 07:50:38   AlarmListIDs
         2017-07-13 07:50:38   AlarmListVersion RINCON_5CAAFD22856E01400:0
         2017-06-25 13:33:38   AlarmRunning    0
         2017-06-25 13:33:38   AlarmRunningID
         2017-07-13 21:31:13   AvailablePlayer []
         2017-06-25 13:33:33   Balance         0
         2017-06-25 13:34:48   Bass            0
         2017-06-25 13:33:38   CrossfadeMode   0
         2017-06-25 13:34:35   DailyIndexRefreshTime
         2017-06-25 13:33:38   DirectControlAccountID
         2017-06-25 13:33:38   DirectControlClientID
         2017-06-25 13:33:38   DirectControlIsSuspended 0
         2017-06-25 13:34:47   FavouritesVersion RINCON_949F3E0498E401400,44
         2017-07-13 21:26:58   GroupMute       0
         2017-07-13 21:31:27   GroupVolume     5
         2017-06-25 13:33:38   HeadphoneConnected 0
         2017-06-25 13:33:33   IsBonded        0
         2017-06-25 13:33:33   IsMaster        1
         2017-07-13 21:31:12   LastActionResult PlayURITemp: Success!
         2017-06-25 13:34:48   Loudness        1
         2017-06-25 13:33:34   MasterPlayer    Sonos_Schlaf
         2017-07-13 21:26:58   Mute            0
         2017-06-25 13:34:48   OutputFixed     0
         2017-06-25 13:34:47   PlaylistsVersion RINCON_5CAAFD22856E01400,0
         2017-06-25 13:34:47   RadiosVersion   RINCON_949F3E0498E401400,44
         2017-06-25 13:33:38   Repeat          0
         2017-06-25 13:33:38   RepeatOne       0
         2017-06-25 13:33:38   Shuffle         0
         2017-07-13 21:31:19   SlavePlayer     ['Sonos_Bad','Sonos_Flur','Sonos_Kueche','Sonos_Kueche_RF','Sonos_Schlaf_RF']
         2017-07-13 21:31:13   SlavePlayerNotBonded ['Sonos_Bad','Sonos_Flur','Sonos_Kueche']
         2017-06-25 13:33:38   SleepTimer      off
         2017-06-25 13:33:37   SleepTimerVersion
         2017-06-25 13:34:48   SubEnable       1
         2017-06-25 13:34:48   SubGain         0
         2017-06-25 13:34:48   SubPolarity     0
         2017-06-25 13:34:48   Treble          0
         2017-06-25 13:34:48   TruePlay        1
         2017-07-13 21:31:28   Volume          4
         2017-06-25 13:34:36   ZoneGroupID     RINCON_5CAAFD22856E01400:__
         2017-07-13 20:49:58   ZoneGroupName   Schlaf + 3
         2017-07-13 21:31:13   ZoneGroupNameDetails  + Bad + Flur + Kueche
         2017-07-13 20:49:58   ZonePlayerUUIDsInGroup RINCON_5CAAFD22856E01400,RINCON_B8E9378ED7EC01400,RINCON_B8E937B0815001400,RINCON_949F3E0498E401400
         2017-07-13 21:31:27   currentAlbum
         2017-07-13 21:31:27   currentAlbumArtURL http://cdn-radiotime-logos.tunein.com/s42824g.png
         2017-07-13 21:31:27   currentAlbumArtist
         2017-07-13 21:31:27   currentArtist
         2017-07-13 21:31:27   currentEnqueuedTransportHandle x-sonosapi-stream:s42824?sid=254&flags=8224&sn=0|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><dc:title>ANTENNE BAYERN</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>
         2017-07-13 21:31:27   currentEnqueuedTransportURI x-sonosapi-stream:s42824?sid=254&flags=8224&sn=0
         2017-06-25 13:33:38   currentFavouriteName
         2017-07-13 21:31:27   currentNormalAudio 0
         2017-06-25 13:33:38   currentOriginalTrackNumber
         2017-06-25 13:33:38   currentPlaylistName
         2017-06-25 13:33:38   currentRadioName
         2017-07-13 21:31:27   currentSender   ANTENNE BAYERN
         2017-07-09 12:37:32   currentSenderCurrent
         2017-07-13 21:33:13   currentSenderInfo IMANY - Don't Be So Shy
         2017-07-13 21:31:27   currentSource   ANTENNE BAYERN
         2017-07-13 21:31:27   currentStreamAudio 1
         2017-07-13 21:31:27   currentTitle
         2017-07-13 21:31:17   currentTrack    1
         2017-07-13 21:31:27   currentTrackDuration 0:00:00
         2017-07-13 21:31:27   currentTrackDurationSec 0
         2017-07-13 21:33:13   currentTrackHandle aac://http://mp3channels.webradio.antenne.de/antenne.aac|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0</res><r:streamContent>IMANY - Don&apos;t Be So Shy</r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as42824%3fsid%3d254%26flags%3d8224%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
         2017-07-13 21:31:28   currentTrackPosition 0:00:00
         2017-07-13 21:31:28   currentTrackPositionSec 0
         2017-07-13 21:31:32   currentTrackPositionSimulated 0:00:04
         2017-07-13 21:31:27   currentTrackPositionSimulatedPercent 0.0
         2017-07-13 21:31:32   currentTrackPositionSimulatedSec 4.41271996498108
         2017-07-13 21:31:27   currentTrackProvider Radio
         2017-07-13 21:31:27   currentTrackProviderIconQuadraticURL /fhem/sonos/cover/tunein_quadratic.jpg
         2017-07-13 21:31:27   currentTrackProviderIconRoundURL /fhem/sonos/cover/tunein_round.png
         2017-07-13 21:31:27   currentTrackURI aac://http://mp3channels.webradio.antenne.de/antenne.aac
         2017-06-25 13:33:33   fieldType       LF
         2017-07-13 21:33:13   infoSummarize1  ANTENNE BAYERN: IMANY - Don't Be So Shy
         2017-07-13 21:33:13   infoSummarize2  PLAYING => ANTENNE BAYERN: IMANY - Don't Be So Shy
         2017-07-13 21:31:28   infoSummarize3  Lautstärke: 4 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2017-06-25 13:33:38   infoSummarize4
         2017-06-25 13:33:33   location        http://172.21.0.41:1400/xml/device_description.xml
         2017-06-25 13:33:38   nextAlbum
         2017-06-25 13:33:38   nextAlbumArtURL /fhem/sonos/cover/empty.jpg
         2017-06-25 13:33:38   nextAlbumArtist
         2017-06-25 13:33:38   nextArtist
         2017-06-25 13:33:38   nextOriginalTrackNumber
         2017-06-25 13:33:38   nextTitle
         2017-06-25 13:33:38   nextTrackDuration
         2017-06-25 13:33:38   nextTrackDurationSec
         2017-06-25 13:33:38   nextTrackHandle |
         2017-06-25 13:33:38   nextTrackProvider
         2017-06-25 13:33:38   nextTrackProviderIconQuadraticURL
         2017-06-25 13:33:38   nextTrackProviderIconRoundURL
         2017-06-25 13:33:38   nextTrackURI
         2017-07-13 21:31:27   numberOfTracks  2
         2017-06-25 13:33:33   playerType      S1
         2017-07-13 21:30:47   presence        appeared
         2017-06-25 13:34:46   roomIcon        masterbedroom
         2017-06-25 13:33:33   roomName        Schlaf
         2017-06-25 13:33:33   roomNameAlias   Schlaf - Links
         2017-06-25 13:33:33   saveRoomName    Schlaf
         2017-06-25 13:33:33   serialNum       5C-AA-FD-22-85-6E:3
         2017-06-25 13:33:33   softwareRevision 7.3
         2017-07-13 21:33:13   somethingChanged 1
         2017-07-13 21:31:28   state           PLAYING
         2017-07-13 21:31:28   transportState  PLAYING
       helper:
         simulateCurrentTrackPosition 0
    Attributes:
       Player     SonosStructure
       VolumeStep 4
       alexaName  Sonos Schlaf
       alexaRoom  Schlafzimmer
       alias      Schlaf - Links
       event-on-change-reading currentAlbum,currentSender,GroupMute,LastActionResult,Mute,presence,state,transportState,Volume
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateSomethingChangedEvent 1
       generateVolumeEvent 1
       generateVolumeSlider 1
       getAlarms  1
       getTitleInfoFromMaster 1
       group      SERVER
       icon       icoSONOSPLAYER_icon-S1.png
       maxVolume  30
       minVolume  0
       model      Sonos_S1
       room       Alexa,Schlafzimmer,Sonos
       simulateCurrentTrackPosition 0
       sortby     20
       stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Queue:LastActionResult.*?GetQueueWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }
       userattr   Player Player_map structexclude
       verbose    0
       webCmd     Volume


    Internals:
       DEF        RINCON_B8E937B0815001400_MR
       NAME       Sonos_Bad
       NOTIFYDEV  Sonos_Bad
       NR         3253
       NTFY_ORDER 50-Sonos_Bad
       STATE      appeared ~ 0.0% (0:00:04 / 0:00:00)
       TYPE       SONOSPLAYER
       UDN        RINCON_B8E937B0815001400_MR
       READINGS:
         2017-07-13 07:50:31   AlarmList       {}
         2017-07-13 07:50:31   AlarmListIDs
         2017-07-13 07:50:31   AlarmListVersion RINCON_5CAAFD22856E01400:0
         2017-06-25 13:33:31   AlarmRunning    0
         2017-06-25 13:33:31   AlarmRunningID
         2017-07-08 18:40:05   AvailablePlayer ['Sonos_Flur','Sonos_Kueche','Sonos_Schlaf']
         2017-06-25 13:33:30   Balance         0
         2017-06-25 13:34:49   Bass            0
         2017-06-25 13:33:31   CrossfadeMode   0
         2017-06-25 13:33:36   DailyIndexRefreshTime
         2017-06-25 13:33:31   DirectControlAccountID
         2017-06-25 13:33:31   DirectControlClientID
         2017-06-25 13:33:31   DirectControlIsSuspended 0
         2017-06-25 13:34:36   FavouritesVersion RINCON_949F3E0498E401400,44
         2017-07-13 21:27:30   GroupMute       0
         2017-07-13 21:31:29   GroupVolume     5
         2017-06-25 13:33:31   HeadphoneConnected 0
         2017-06-25 13:33:30   IsBonded        0
         2017-07-13 21:31:15   IsMaster        0
         2017-07-13 21:30:54   LastActionResult SetGroupMute: off
         2017-06-25 13:34:49   Loudness        1
         2017-07-13 21:31:14   MasterPlayer    Sonos_Schlaf
         2017-07-13 21:26:58   Mute            0
         2017-06-25 13:34:49   OutputFixed     0
         2017-06-25 13:34:36   PlaylistsVersion RINCON_5CAAFD22856E01400,0
         2017-06-25 13:34:36   RadiosVersion   RINCON_949F3E0498E401400,44
         2017-06-25 13:33:31   Repeat          0
         2017-06-25 13:33:31   RepeatOne       0
         2017-06-25 13:33:31   Shuffle         0
         2017-06-25 13:33:30   SlavePlayer     []
         2017-06-25 13:33:30   SlavePlayerNotBonded []
         2017-06-25 13:33:31   SleepTimer      off
         2017-06-25 13:33:31   SleepTimerVersion
         2017-06-25 13:34:49   SubEnable       1
         2017-06-25 13:34:49   SubGain         0
         2017-06-25 13:34:49   SubPolarity     0
         2017-06-25 13:34:49   Treble          0
         2017-06-25 13:34:49   TruePlay        1
         2017-07-13 21:31:27   Volume          4
         2017-07-12 19:11:11   ZoneGroupID     RINCON_5CAAFD22856E01400:__
         2017-06-25 14:02:01   ZoneGroupName   Bad
         2017-07-13 21:31:14   ZoneGroupNameDetails Schlaf
         2017-07-13 20:49:45   ZonePlayerUUIDsInGroup RINCON_5CAAFD22856E01400,RINCON_B8E9378ED7EC01400,RINCON_949F3E0498E401400,RINCON_B8E937B0815001400
         2017-07-13 21:31:27   currentAlbum
         2017-07-13 21:31:27   currentAlbumArtURL http://cdn-radiotime-logos.tunein.com/s42824g.png
         2017-07-13 21:31:27   currentAlbumArtist
         2017-07-13 21:31:27   currentArtist
         2017-07-13 21:31:27   currentEnqueuedTransportHandle x-sonosapi-stream:s42824?sid=254&flags=8224&sn=0|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><dc:title>ANTENNE BAYERN</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>
         2017-07-13 21:31:27   currentEnqueuedTransportURI x-sonosapi-stream:s42824?sid=254&flags=8224&sn=0
         2017-06-25 13:33:31   currentFavouriteName
         2017-07-13 21:31:27   currentNormalAudio 0
         2017-06-25 13:33:31   currentOriginalTrackNumber
         2017-06-25 13:33:31   currentPlaylistName
         2017-06-25 13:33:31   currentRadioName
         2017-07-13 21:31:27   currentSender   ANTENNE BAYERN
         2017-07-09 12:37:33   currentSenderCurrent
         2017-07-13 21:33:14   currentSenderInfo IMANY - Don't Be So Shy
         2017-07-13 21:31:27   currentSource   ANTENNE BAYERN
         2017-07-13 21:31:27   currentStreamAudio 1
         2017-07-13 21:31:27   currentTitle
         2017-07-13 21:31:18   currentTrack    1
         2017-07-13 21:31:27   currentTrackDuration 0:00:00
         2017-07-13 21:31:27   currentTrackDurationSec 0
         2017-07-13 21:33:14   currentTrackHandle aac://http://mp3channels.webradio.antenne.de/antenne.aac|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0</res><r:streamContent>IMANY - Don&apos;t Be So Shy</r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosapi-stream%3as42824%3fsid%3d254%26flags%3d8224%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s42824?sid=254&amp;flags=8224&amp;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
         2017-07-13 21:31:22   currentTrackPosition 0:00:00
         2017-07-13 21:31:22   currentTrackPositionSec 0
         2017-07-13 21:31:48   currentTrackPositionSimulated 0:00:04
         2017-07-13 21:31:27   currentTrackPositionSimulatedPercent 0.0
         2017-07-13 21:31:48   currentTrackPositionSimulatedSec 4.41271996498108
         2017-07-13 21:31:27   currentTrackProvider Radio
         2017-07-13 21:31:27   currentTrackProviderIconQuadraticURL /fhem/sonos/cover/tunein_quadratic.jpg
         2017-07-13 21:31:27   currentTrackProviderIconRoundURL /fhem/sonos/cover/tunein_round.png
         2017-07-13 21:31:27   currentTrackURI aac://http://mp3channels.webradio.antenne.de/antenne.aac
         2017-06-25 13:33:30   fieldType
         2017-07-13 21:33:14   infoSummarize1  ANTENNE BAYERN: IMANY - Don't Be So Shy
         2017-07-13 21:33:14   infoSummarize2  PLAYING => ANTENNE BAYERN: IMANY - Don't Be So Shy
         2017-07-13 21:31:29   infoSummarize3  Lautstärke: 4 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2017-06-25 13:33:31   infoSummarize4
         2017-06-25 13:33:30   location        http://172.21.0.13:1400/xml/device_description.xml
         2017-06-25 13:33:31   nextAlbum
         2017-06-25 13:33:31   nextAlbumArtURL /fhem/sonos/cover/empty.jpg
         2017-06-25 13:33:31   nextAlbumArtist
         2017-06-25 13:33:31   nextArtist
         2017-06-25 13:33:31   nextOriginalTrackNumber
         2017-06-25 13:33:31   nextTitle
         2017-06-25 13:33:31   nextTrackDuration
         2017-06-25 13:33:31   nextTrackDurationSec
         2017-06-25 13:33:31   nextTrackHandle |
         2017-06-25 13:33:31   nextTrackProvider
         2017-06-25 13:33:31   nextTrackProviderIconQuadraticURL
         2017-06-25 13:33:31   nextTrackProviderIconRoundURL
         2017-06-25 13:33:31   nextTrackURI
         2017-07-13 21:31:27   numberOfTracks  2
         2017-06-25 13:33:30   playerType      S1
         2017-07-13 21:30:52   presence        appeared
         2017-06-25 13:34:36   roomIcon        living
         2017-06-25 13:33:30   roomName        Bad
         2017-06-25 13:33:30   roomNameAlias   Bad
         2017-06-25 13:33:30   saveRoomName    Bad
         2017-06-25 13:33:30   serialNum       B8-E9-37-B0-81-50:F
         2017-06-25 13:33:30   softwareRevision 7.3
         2017-07-13 21:31:22   state           PLAYING
         2017-07-13 21:31:29   transportState  PLAYING
       helper:
         simulateCurrentTrackPosition 0
    Attributes:
       Player     SonosStructure
       VolumeStep 4
       alexaName  Sonos Bad
       alexaRoom  Bad
       alias      Bad
       event-on-change-reading currentAlbum,currentSender,GroupMute,LastActionResult,Mute,presence,state,transportState,Volume
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       getTitleInfoFromMaster 1
       group      SERVER
       icon       icoSONOSPLAYER_icon-S1.png
       minVolume  0
       model      Sonos_S1
       room       Bad,Sonos
       simulateCurrentTrackPosition 0
       sortby     11
       stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Queue:LastActionResult.*?GetQueueWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }
       userattr   Player Player_map structexclude
       verbose    0
       webCmd     Volume
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 13 Juli 2017, 23:30:30
    Hallo inoma,

    Ich habe auch nicht gesagt, das es damit ein Reading presence gibt. Aber es gibt den state und der funktioniert. Allerdings habe ich stateformat nicht angepasst wie Du, bei mir ist (Standard?) state = presence.
    Konnte ich nicht wissen: sorry für meine Idee.

    Zu Deiner eigentlichen Frage habe ich so auch keine Idee - außer: Mach den Eventmonitor auf und schau zu was passiert, aus meiner Sicht wird das Reading transportState: STOPPED so ziemlich zuletzt gesetzt. Aber laut Eventmonitor nicht als Letztes, allerdings ist Dein Trigger auch nicht der Erste.

    Gruß Otto


    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 13 Juli 2017, 23:48:38
    Hallo Otto,
    am stateformat hatte ich eigentlich gar nichts geändert, das kommt automatisch wenn die Player 'generiert' werden (also wenn man das SONOS device das erste mal definiert).
    Kommt also irgendwo von Reinerlein.

    Beste Grüsse und Danke nochmal!
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 14 Juli 2017, 09:37:28
    Zitat von: inoma am 13 Juli 2017, 23:48:38
    am stateformat hatte ich eigentlich gar nichts geändert, das kommt automatisch wenn die Player 'generiert' werden (also wenn man das SONOS device das erste mal definiert).
    Kommt also irgendwo von Reinerlein.
    Hallo inoma,

    komisch ist bei mir nicht so. Allerdings sind meine "Player" auch schon etwas älter. Letztens (nach einem Update?) wurden die aber eh ziemlich "zerrissen".
    Ich werde die wohl mal neu anlegen lassen.

    Wenn ich aber die commandref richtig verstehe, kannst Du durchaus auch ein anderes reading als state verwenden:
    Zitat<struct_type>_map
    Mit diesem Attribut, das dem Struktur-Mitglied zugewiesen werden muss, koennen die Werte, die die einzelnen Struktur- Mitglieder melden, umdefiniert werden, damit man unterschiedliche Geraeteklassen zusammenfassen kann. Es existieren drei Varianten:
    readingName
    nehme den Wert von readingName anstatt von state

    Probiert habe ich das jetzt nicht.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Esjay am 14 Juli 2017, 16:05:04
    Hallo zusammen, ich hoffe es ist ok, wenn meine erste Frage nicht direkt eine Frage zum Modul ist,sondern eher zum technischen. Ich habe mir beim Primeday ein Doppelpack Play 1 zugelegt, diese werde ich wohl demnächst noch um eine Playbase erweitern,dann besteht die Möglichkeit entweder per Optischem Ausgang aus meiner Ax Box (E2) oder aus meinem Samsung TV zu speisen. Vll hat hier ja jemand ebenfalls diese Kombi, und kann mir sagen, was mehr Sinn macht.

    Dann würde es mich interessieren, ob ich, bevor ich über einen Sonos Lautsprecher eine Sprachausgabe ausgebe, die Quelle/Gruppe irgendwie wechseln muss, oder ob die Ausgabe einfach beim Fernseh gucken beispielsweise"dazwischen" quatscht.

    Meine nächste Frage bezieht sich auf die Stabilität des Moduls. Ich hatte noch nicht so viel Zeit mich mit Sonos und Fhem zu beschäftigen, da ich wie gesagt erst vor kurzem zugeschlagen habe, und zweitens noch die nächsten Tage am Strand von Bibione verweile  8). Da es wohl einen enormen Funktionsumfang gibt, habe Ich beiläufig mitbekommen, dass es für jede Version ein neuen Theard gibt, daher ist es nicht so einfach den Überblick zu behalten. Und daher meine Frage, ob es Sinnvoll ist die Sonos Devices auf dem Hauptsystem laufen zu lassen, oder doch ein 2 System aufzusetzen.

    Liebe Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: markusphi am 20 Juli 2017, 22:35:37
    Zitat von: Esjay am 14 Juli 2017, 16:05:04
    diese werde ich wohl demnächst noch um eine Playbase erweitern,dann besteht die Möglichkeit entweder per Optischem Ausgang aus meiner Ax Box (E2) oder aus meinem Samsung TV zu speisen. Vll hat hier ja jemand ebenfalls diese Kombi, und kann mir sagen, was mehr Sinn macht.
    direkt an den TV macht am meisten Sinn

    Zitat
    Dann würde es mich interessieren, ob ich, bevor ich über einen Sonos Lautsprecher eine Sprachausgabe ausgebe, die Quelle/Gruppe irgendwie wechseln muss, oder ob die Ausgabe einfach beim Fernseh gucken beispielsweise"dazwischen" quatscht.
    Die Sprachausgabe quatscht einfach los/dazwischen.
    Das wirst Du aber nicht wirklich wollen wenn der TV läuft und gerade im Krimmi der Täter genannt wird....
    Du musst Dich also drum kümmern unter welchen Voraussetzungen (z.B. Fernseher ist aus) Sprachausgabe erfolgt.
    Wenn Dein TV im Netz ist, nicht schwierig.

    Zitat
    Meine nächste Frage bezieht sich auf die Stabilität des Moduls. Ich hatte noch nicht so viel Zeit mich mit Sonos und Fhem zu beschäftigen, da ich wie gesagt erst vor kurzem zugeschlagen habe, und zweitens noch die nächsten Tage am Strand von Bibione verweile  8). Da es wohl einen enormen Funktionsumfang gibt, habe Ich beiläufig mitbekommen, dass es für jede Version ein neuen Theard gibt, daher ist es nicht so einfach den Überblick zu behalten. Und daher meine Frage, ob es Sinnvoll ist die Sonos Devices auf dem Hauptsystem laufen zu lassen, oder doch ein 2 System aufzusetzen.

    Liebe Grüße

    Hier ist das ausreichend stabil - nachdem ich im Modul die IP der Player eingetragen habe
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 20 Juli 2017, 22:52:56
    Hallo Esjay,

    Sonos läuft bei mir seit Januar 2015, völlig ohne Probleme.  Jetzt vor kurzem musste ich mal was neu machen, dass kann schon immer mal passieren wenn die Module intensiv weiterentwickelt werden. Irgendwann passt vielleicht was nicht mehr mit den alten Definitionen. Irgendwann muss der alte Zopf ab.  ;D

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 22 Juli 2017, 10:43:41
    Hallo,

    ich habe ein reading "roomicon" mit dem Inhalt "living". Ich hätte gerne den Player mit dem Icon "living" dargestelt. Weiß jemand, wie der Pfad zum dem Icon lautet?

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Juli 2017, 10:51:20
    Hi Elektrolurch,

    die Roomicons sind nur Sonos-intern vorhanden, und nicht herunterladbar (zumindest habe ich das noch nicht entdeckt).
    Du müsstest dir also ein Bildchen mittels eines Screenshots aus der Mac- oder Windows-Software heraus erzeugen...
    Oder natürlich, es hat schon mal jemand gemacht, und kann es hier hochladen :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 22 Juli 2017, 11:39:08
    bei mir z.B.
    c:/fhem/www/images/default/icoSONOSPLAYER_icon-S1.png
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Juli 2017, 11:53:43
    Hi Nobby,

    das ist der Pfad zu dem Playersymbol-Icon (also die Darstellung eines S1 z.B.). Das wird in der Default-Erzeugung ja auch für den Player als Icon eingetragen.
    Elektrolurch wollte aber vermutlich das Icon für das "Wohnzimmer" haben...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 22 Juli 2017, 14:35:16
    Hi Reiner,

    :-[ du hast natürlich völlig Recht ... lesen sollte man können  :-[

    Gruß Nobby
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 22 Juli 2017, 15:06:17
    Wenn ich für ein Notify auf "Select icon" klicke, sehe ich ganz oben in der Liste teils riesige Albumcover, auch von Musik, die in keiner Playliste steckt und die ewig nicht mehr lief. Kann ich die irgendwie löschen?
    Titel: Antw:Sonos steuern
    Beitrag von: Eragos am 22 Juli 2017, 17:56:20
    Zitat von: Reinerlein am 10 Juli 2017, 11:36:18
    Hi Daniel,

    das Sonos-Modul greift auf jeden Fall auf diverse Server im Internet zu. Die Adressen werden bei Sonos ermittelt und verwendet (z.B. TuneIn-Cover bei tunein.com oder Logos bei sonos-logo.ws.sonos.com).
    Wenn man da unsichtbar nicht mehr hinkommt, dann blockiert das natürlich alles.
    So wie ich die Beschreibung verstehe, kommt statt der eigentlichen Antwort eine Hinweisseite oder ein GIF. Beides kann dann vom Modul nicht mehr korrekt verarbeitet werden, und sorgt natürlich für Fehler...

    Die Frage ist ja: Wieso sind anscheinend einige der Adressen, die von Sonos (nicht ausschließlich mein Modul, ich verwende nur diesselben Abfragesysteme) verwendet werden, im pi-hole blockiert?
    In der Hauptsache sind das ja Cloud-Dienste und andere Speichersysteme...

    Am Einfachsten wird es wohl sein, wenn du dem Pi ohne DHCP eine eigene Adresse gibst, und vor allem dabei nicht den pi-hole als DNS-Server angibst.

    Ansonsten: Zeigt der pi-hole in seiner Übersicht nicht, welche Seiten er vom Sonos-Modul aus geblockt hat? Dann müsstest du die doch auf die Whitelist setzen können...

    Grüße
    Reiner

    Ich habe eine ähnliche Kombination (FHEM + Pi-Hole auf RPI, fixed IP) am laufen. Sobald man SONOS definiert, steht FHEM. Es werden keinerlei Logausgaben geschrieben. Augenscheinlich wird am Pi-Hole selber auch nichts geblockt (Logfiles durchgeschaut und ebenfalls den Filter einmal komplett abgeschaltet). In FHEM habe ich dann 'attr global dnsServer 8.8.8.8' gesetzt. Ebenfalls ohne Erfolg. Um Wechselwirkungen mit anderen FHEM Modulen auszuschließen, habe ich FHEM jeweils in einer Minimalkonfiguration mit verbose 5 gestartet.

    Testhalber habe ich FHEM auf meinem Mac installiert => SONOS definiert => SONOS wird erkannt und lässt sich steuern :)

    Auf dem RPI habe ich danach mit 'define Sonos SONOS 192.168.178.59:4711 30 1 5' den UPnP-Server auf dem Mac definiert. FHEM stürzt immer noch ab (uns reißt den gesamten RPI mit sich), allerdings schreibt er vorher noch ein wenig im Log. Vielleicht hilft das, der Ursache näher zu kommen.


    2017.07.22 17:25:59 1: SONOS0: Modify Device: Sonos
    2017.07.22 17:26:05 3: Opening Sonos device 192.168.178.59:4711
    2017.07.22 17:26:05 5: SW: Establish connection

    2017.07.22 17:26:05 3: Sonos device opened
    2017.07.22 17:26:05 5: SONOS0: Received from UPnP-Server: 'Sorry. I don't understand you - 'Establish connection'.'
    2017.07.22 17:26:05 5: SONOS0: MainTrigger()-Line: Sorry. I don't understand you - 'Establish connection'.
    2017.07.22 17:26:05 2: SONOS0: Error during MainTrigger: syntax error at (eval 1984) line 1, at EOF
    - Trying to execute 'Sorry. I don't understand you - 'Establish connection'.'
    2017.07.22 17:26:05 5: SONOS0: Received from UPnP-Server: 'ReadingsSingleUpdateIfChanged:RINCON_5CAAFD99896201400_MR:roomName:Lounge'
    2017.07.22 17:26:05 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_getSonosPlayerByUDN" at ./FHEM/00_SONOS.pm line 10002.
    2017.07.22 17:26:05 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_Log" at ./FHEM/00_SONOS.pm line 9753.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 22 Juli 2017, 18:59:47
    Hi Eragos,

    das hilft ein bißchen. Das Problem ist aber nicht einfach erklärbar. Es wird ein String "Establish connection" vom Fhem-Modul in Richtung SubProzess losgesendet, der vom SubProzess eigentlich blockierend erwartet werden sollte. Dieser wartet darauf aber gar nicht mehr...

    Versuch mal folgende Zeile hinter "send(listening for commands)" des SubProzesses einzufügen (um die Zeile 10089 ungefähr), also so:

    send($client, "This is UPnP-Server listening for commands\r\n", 0);
    select(undef, undef, undef, 0.5);

    Vielleicht müssen wie dort einfach etwas warten :) pi-hole hängt sich vielleicht, wie Wireshark auch, in die Verarbeitungskette des TCP/IP-Stacks rein, und sorgt für eine Verzögerte Auslieferung...

    Danke schon mal...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Eragos am 23 Juli 2017, 03:26:23
    Guten Morgen Reiner,

    ich habe die Zeile hinzugefügt und erst mal nur auf dem RPI alleine probiert. Hier konnte ich keine Änderung im Verhalten feststellen. Nach der SONOS Device Definition zieht es FHEM ins Nirvana.

    In der Kombination mit dem UPnP-Server auf dem Mac, scheinen wir schon mal weiter gekommen zu sein. Nach dem ich das SONOS Device auf dem RPI definiert habe, initialisiert er sich und geht dann in den State open. SONOSPLAYER werden allerdings nicht angelegt. Auch nach einem RescanNetwork nicht. Hier weiß ich allerdings nicht, ob das nicht evtl. so gewollt ist. Ich werde heute Mittag mal den SONOSPLAYER von Hand anlegen und schauen was geht.

    EDIT: Hat etwas gedauert, aber nun sind die SONOSPLAYER ebenfalls da und scheinen auf den ersten Blick zu funktionieren :)

    Nun erst mal schlafen  8)


    2017.07.23 02:59:09 1: SONOS0: Modify Device: Sonos
    2017.07.23 02:59:15 3: Opening Sonos device 192.168.178.59:4711
    2017.07.23 02:59:15 5: SW: Establish connection

    2017.07.23 02:59:15 3: Sonos device opened
    2017.07.23 02:59:15 5: SONOS0: Received from UPnP-Server: 'Sorry. I don't understand you - 'Establish connection'.'
    2017.07.23 02:59:15 5: SONOS0: MainTrigger()-Line: Sorry. I don't understand you - 'Establish connection'.
    2017.07.23 02:59:15 2: SONOS0: Error during MainTrigger: syntax error at (eval 420) line 1, at EOF
    - Trying to execute 'Sorry. I don't understand you - 'Establish connection'.'
    2017.07.23 02:59:16 5: SONOS0: SetData:Sonos:5:-:syn:::0::
    2017.07.23 02:59:16 5: SW: SetData:Sonos:5:-:syn:::0::

    2017.07.23 02:59:16 5: SONOS0: SetValues:SONOS:INTERVAL=30|NAME=Sonos
    2017.07.23 02:59:16 5: SW: SetValues:SONOS:INTERVAL=30|NAME=Sonos

    2017.07.23 02:59:16 5: SW: StartThread

    2017.07.23 02:59:53 5: SW: DoWork:SONOS:rescanNetwork:


    Viele Grüße
    Micha
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Juli 2017, 11:22:37
    Hi Micha,

    kannst du mal ein bißchen mit dem Zahlenwert spielen?
    Ruhig zum Anfang mal deutlich hoch, vielleicht auf 3-4 Sekunden. Nur um mal zu sehen, ob es wirklich etwas bewirken kann...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Eragos am 23 Juli 2017, 17:44:28
    Hallo Reiner,

    ich habe diverse Werte ausprobiert, leider ohne Erfolg.

    Ich habe mir auf dem RPI mal eine Minimalkonfiguration erstellt und mal den Perl Debugger angeworfen.

    Unten findest du ein Tracelog. Nach

    main::SONOS_StartClientProcessIfNeccessary(./FHEM/00_SONOS.pm:1815):
    ...
    302:       ${*$sock}{'io_socket_peername'} = recv($sock, $_[1]='', $len, $flags);
    ist dann Feierabend.

    Locate:

     
    DB<1> l
    302==>      ${*$sock}{'io_socket_peername'} = recv($sock, $_[1]='', $len, $flags);
    303     }
    304
    305     sub shutdown {
    306:        @_ == 2 or croak 'usage: $sock->shutdown(HOW)';
    307:        my($sock, $how) = @_;
    308:        ${*$sock}{'io_socket_peername'} = undef;
    309:        shutdown($sock, $how);
    310     }
    311


    Den gesamten Trace findest du im Anhang.
    Titel: Antw:Sonos steuern
    Beitrag von: Eragos am 23 Juli 2017, 18:09:48
    Ich glaub ich habs :)


    # netstat -tulpn
    knetstat\(Es konnten nicht alle Prozesse identifiziert werden; Informationen über
    nicht-eigene Processe werden nicht angezeigt; Root kann sie anzeigen.)
    Aktive Internetverbindungen (Nur Server)
    Proto Recv-Q Send-Q Local Address           Foreign Address         State       PID/Program name
    tcp        0      0 127.0.0.1:4711          0.0.0.0:*               LISTEN      -               


    So kann das ja auch nicht gehen. Auf die einfachsten Dinge kommt man natürlich erst zum Schluss.

    Ich habe den Port mal in 4712 geändert:
    903:       $upnplistener = 'localhost:4712';

    und mit 'define Sonos SONOS localhost:4712 30 1 5; attr Sonos verbose 5' probiert. voila  8)

    Zwei Dinge würde ich vorschlagen:
    * Den Port konfigurierbar machen
    * Einen Check, ob der Port bereits belegt ist einfügen

    den 'select(undef, undef, undef, 0.5);' würde ich ebenfalls drin lassen.

    & Danke für deinen Einsatz.

    Viele Grüße
    Micha
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Juli 2017, 19:00:52
    Hi Micha,

    der Port ist ja frei definierbar. Den gibst du bei der Definition des Sonos-Moduls (oder auch beim eigenen Start des SubProzesses) ja an:

    define Sonos SONOS localhost:4712
    Damit startet das Modul den SubProzess selber, und verwendet den angegebenen Port.

    Leider kann man einen belegten Port nicht einfach feststellen. Im Normalfall wird aber eine Verwendung eines belegten Ports vom System unterbunden (außer man verwendet das Attribut ReusePort, dann sollte man aber wissen, was man macht :) ), und entsprechend im Log ausgegeben...
    Ich verstehe nicht ganz, wie dieser Port beim Socket Eröffnen als frei verwendbar gemeldet werden kann, und trotzdem bereits belegt sein kann...

    Danke für dieses Rausfinden...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 24 Juli 2017, 17:33:11
    Ich habe momentan ein Problem mit PlayURI bzw. PlayURITemp. Wenn ich folgendes in die Befehlszeile von FHEM eingebe, klappt alles einwandfrei:

    set Sonos_Flur PlayURITemp \\192.168.108.100\www\sonos_tts\beep2.mp3 30

    Wenn ich diesen Codeschnipsel allerdings in ein Notify oder eine myUtils-Funktion stecke, wird der Befehl zwar getriggert, es wird aber einfach der zuletzt geladene Track abgespielt, die eingegebene URL also ignoriert. Wie kann ich das beheben?
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 24 Juli 2017, 18:48:39
    Backslashs escapen oder single quotes verwenden.
    Titel: Antw:Sonos steuern
    Beitrag von: Eragos am 24 Juli 2017, 19:27:07
    Zitat von: Reinerlein am 23 Juli 2017, 19:00:52
    [...] (außer man verwendet das Attribut ReusePort, dann sollte man aber wissen, was man macht :) ), [...]

    Das nutze ich nicht. Kannte ich nicht einmal^^

    Viele Grüße
    Micha
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 24 Juli 2017, 20:05:59
    Zitat von: dev0 am 24 Juli 2017, 18:48:39
    Backslashs escapen oder single quotes verwenden.

    Danke, das hat geklappt!

    @Reinerlein: Ist PlayURITemp eigentlich schneller beim Laden und Abspielen eines MP3s als die Methode über speak? Oft habe ich Verzögerungen von mehreren Sekunden, bis ein kurzes lokales MP3 abgespielt wird, und ich kann mir die Ursache nicht erklären.

    Normalerweise mache ich es mit
    fhem("set Sonos_Flur Speak 30 de |alarm|");

    Alternativ wollte ich es nun mit
    fhem("set Sonos_Flur PlayURITemp \\192.168.108.100\www\sonos_tts\alarm.mp3 30;");

    testen. Aber da das einfach den letzten benutzten Track abspielt, wenn der angegebene nicht verfügbar ist, ist mir das zu unsicher.

    Gibt es einen Trick, einen Sound sofort zur Verfügung zu haben? Ich benutze sie zur akustischen Bestätigung, dass die Alarmanlage deaktiviert wurde, da zählt jede Sekunde  ;)
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 24 Juli 2017, 20:49:40
    Zitat von: dantist am 24 Juli 2017, 20:05:59
    Gibt es einen Trick, einen Sound sofort zur Verfügung zu haben? Ich benutze sie zur akustischen Bestätigung, dass die Alarmanlage deaktiviert wurde, da zählt jede Sekunde  ;)
    Ich denke dazu ist dieser technische Ansatz, die Verwendung einer selbständigen, über UPNP gesteuerten "über WLAN gestreamten Soundanlage" die erstmal die Playlist in den Stack rettet bevor sie loslegt, völlig ungeeignet.
    Tipp: steck einen kleinen Lautsprecher in die Klinke und mach diese Signalisierung einfach lokal.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 24 Juli 2017, 21:10:15
    Zitat von: Otto123 am 24 Juli 2017, 20:49:40
    Ich denke dazu ist dieser technische Ansatz, die Verwendung einer selbständigen, über UPNP gesteuerten "über WLAN gestreamten Soundanlage" die erstmal die Playlist in den Stack rettet bevor sie loslegt, völlig ungeeignet.
    Tipp: steck einen kleinen Lautsprecher in die Klinke und mach diese Signalisierung einfach lokal.

    Gruß Otto
    Prinzipiell hast du schon recht, allerdings steht der Raspi am anderen Ende der Wohnung. Ich könnte die Bestätigung auch optisch über Hue-Lampen lösen, aber per Sound finde ich es schöner und logischer. Es klappt ja auch, nur nicht immer verzögerungsfrei.
    Titel: Antw:Sonos steuern
    Beitrag von: ToM_ToM am 27 Juli 2017, 14:43:59
    Hallo Zusammen,

    gäbe es eigentlich irgendwie die Möglichkeit auch die Soundcloud-Playlisten über das Modul zu laden und zu steuern (abspielen)? Die Sonos-Android-App schafft das ja auch irgendwie.
    Ich hatte die Tage mal mit HTTPMOD was gebastelt um meine Playlisten sowie die zugehörigen Titel und URL zum Song als JSON herunterzuladen.
    Jedoch kann ich mit der URL zwar direkt den Song im Browser aufrufen (entsprechende Soundcloud-Seite), aber wenn ich diese URL an den Sonosplayer gebe, macht der nichts.
    Oder hat jemand eine Idee und wünscht sich vielleicht das Gleiche?

    VG, Thomas
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 28 Juli 2017, 11:09:01
    Hallo Reinerlein,

    ich hatte ja schon vor einiger Zeit darüber berichtet, dass die Lautstärke nach Abspielen von playURITemp (einer Durchsage) immer auf den Wert 25 zurückspringt, was den WAF nicht gerade erfreut, wenn sie gerade über den externen Eingang des Sonos TV anschaut. Mir ist da was im log aufgefallen, was ich hier mal posten will. Vielleicht erkennst Du den Fehler. Als Workaround hatte ich folgendes implementiert, was aber auch nicht funktionert, bzw. nur manchmal: Merke mir vor der Durchsage die eingestellte Lautstärke (hier in dem Fall 68, externen Eingang TV) und setze nach 12 s (länger dauert die Durchsage nicht) die Lautstärke wieder zurück.
    Im log habe ich die absoluten Zeiten durch relative ersetzt, damit man besser den zeitlichen Verlauf erkennt:

    # alte Lautstärke 68
    164.44 1: main::SonosCC_RestoreVolume: Sonos_Hobbyraum nicht auskommentiert: define Sonos_Hobbyraum_restorevol_at at +00:00:12 set Sonos_Hobbyraum Volume 68

    164.73 3: set Ku_Player sayText |sounds/ringin3| Anruf von xxxmit Nummer yyy
    167.90 1: main::SCC_PlayerEventSonos_Hobbyraum: LastActionResult: cmd PlayURITemp res Success!
    176.69 1: main::SCC_PlayerEventSonos_Hobbyraum: LastActionResult: cmd SetVolume res 68

    Also er quitiert das mit Volume 68, aber auf dem display erscheint 25.

    Nun drücke ich auf dem display (fhem) einen Knopt, der jeweils um 5 das Volumen erhöht:

    set Sonos_Hobbyraum VolumeU

    Sonos quittiert dies aber mit SetRelativeVolume 30. Also ist Volume (und hier im log nicht ersichtlich) vom letzten set Volume 68 - Befehlt auf 25 zurückgesprungen.


    290.45 1: main::SCC_PlayerEventSonos_Hobbyraum: LastActionResult: cmd SetRelativeVolume res 30
    293.57 1: main::SCC_PlayerEventSonos_Hobbyraum: LastActionResult: cmd SetRelativeVolume res 35
    295.93 1: main::SCC_PlayerEventSonos_Hobbyraum: LastActionResult: cmd SetRelativeVolume res 40
    299.15 1: main::SCC_PlayerEventSonos_Hobbyraum: LastActionResult: cmd SetRelativeVolume res 45
    302.03 1: main::SCC_PlayerEventSonos_Hobbyraum: LastActionResult: cmd SetRelativeVolume res 50

    # Na ja -> so lange auf VolumeU gedrückt, bis die alte Lautstärke wieder da war.

    Allerdings habe ich den gleichen Effekt, wenn ich den externen Eingang (TV) ausschalte und einen Radio-Stream am Player starte. Die Lautstärke springt auf 25, es gibt aber kein event, was mir anzeigt, dass das vom Sonos-Modul generiert wurde (result - event).
    Wenn ich nun wieder die Signalquelle am externen Eingang einschalte und die Wiedergabe mit
    set Sonos_Hobbyraum playURI Sonos_Hobbyraum
    wieder starte, so springt die Lautstärke wieder automatisch auf die 63. (muss eine Eigenschaft vom Sonos-Gerät selber sein).
    Und da muss wohl das Problem von playURITemp liegen: Es liest die Lautstärke der Wiedergabe von Streams aus, speichert diese und stellt nach der Durchsage wieder diese auf den alten Wert  zurück. Ich habe das mit Radioprogramm und Musik verifiziert: Da klappt das auch mit der Lautstärke von playURITemp, nur nicht für die Signalquelle am externen Eingang.

    Vielleicht kann man da was machen?

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: US am 30 Juli 2017, 16:45:02
    Hallo Reiner,

    bei der Umstellung von Filelog auf logDB ist mir aufgefallen, dass die Sonosplayer events "display_covertitle:...." erzeugen, obwohl über event-on-change-reading auf einzelne events eingeschränkt ist, so dass diese eigentlich nicht erzeugt werden sollten

    TIMESTAMP         DEVICE         TYPE                 EVENT
    2017-07-30 11:32:02 Sonos_Bad SONOSPLAYER display_covertitle: <html><div informId="Sonos_Bad-display_covertitle"><div style="border: 1px solid gray; border-radius: 10px; padding: 5px;"><script type="text/javascript"> if (!document.getElementById("global_fulldiv_Sonos_Bad")) { var newDiv = document.createElement("div"); newDiv.setAtt... (hash.innerHTML != RegExp.$1))) { global.innerHTML = elementHTML; } if (oldGlobal != "") { setTimeout(refreshFullSonos_Bad, 1000); var playing = document.getElementById("prog_playing_Sonos_Bad"); if (playing && playing.innerHTML == "1") { setTimeout(refreshTim...
    2017-07-30 11:24:08 Sonos_Bad SONOSPLAYER display_covertitle: <html><div informId="Sonos_Bad-display_covertitle"><div style="border: 1px solid gray; border-radius: 10px; padding: 5px;"><script type="text/javascript"> if (!document.getElementById("global_fulldiv_Sonos_Bad")) { var newDiv = document.createElement("div"); newDiv.setAtt... (hash.innerHTML != RegExp.$1))) { global.innerHTML = elementHTML; } if (oldGlobal != "") { setTimeout(refreshFullSonos_Bad, 1000); var playing = document.getElementById("prog_playing_Sonos_Bad"); if (playing && playing.innerHTML == "1") { setTimeout(refreshTim...
    2017-07-30 11:01:15 Sonos_Buero SONOSPLAYER display_covertitle: <html><div informId="Sonos_Buero-display_covertitle"><div style="border: 1px solid gray; border-radius: 10px; padding: 5px;"><script type="text/javascript"> if (!document.getElementById("global_fulldiv_Sonos_Buero")) { var newDiv = document.createElement("div"); newDiv.se... (hash.innerHTML != RegExp.$1))) { global.innerHTML = elementHTML; } if (oldGlobal != "") { setTimeout(refreshFullSonos_Buero, 1000); var playing = document.getElementById("prog_playing_Sonos_Buero"); if (playing && playing.innerHTML == "1") { setTimeout(refres...

    Ausserdem hab' ich dann immer parallel bzw. quasi zeitgleich dazu ein "Perfmon: possible freeze starting at ..." im log

    Gruß Uwe
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 31 Juli 2017, 07:37:18
    Das display_covertitle war mir ja auch schon aufgefallen.
    Vielleicht kann ein Attribut eingeführt werden, mit dem die Generierung des Events ab/angeschaltet werden kann?

    Gerade auch, wenn man versucht mal das Eventlog mitzulesen um Probleme zu finden oder merkwürdiges Verhalten zu diagnostizieren, stören die seiten-langen display_covertitle Events doch schon sehr. Es wäre hilfreich, wenn man die abschalten könnte, sofern man sie nicht braucht, weil man z.B. kein FTUI verwendet oder dort gar keine Sonos-Anzeige eingebaut hat.
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 31 Juli 2017, 18:44:57
    Seit einigen Tagen sind meine Player disappeared, ich habe seit 3 Wochen keine Änderung am Sytem gemacht. Ich habe nun ein Fhem update gemacht aber immer alle noch disappeared.

    Internals:
       DEF        192.168.197.33:4711 30 8 9
       DELAYTIME  9
       DeviceName 192.168.197.33:4711
       FD         57
       INTERVAL   30
       NAME       Sonos
       NOTIFYDEV  global
       NR         82
       NTFY_ORDER 50-Sonos
       PARTIAL
       STATE      opened
       TYPE       SONOS
       WAITTIME   8
       READINGS:
         2017-07-22 09:00:22   AllPlayer       ['Sonos_Bad','Sonos_Kueche','Sonos_Wohnzimmer']
         2017-07-22 09:00:22   AllPlayerCount  3
         2017-07-22 09:00:22   AllPlayerNotBonded ['Sonos_Bad','Sonos_Kueche','Sonos_Wohnzimmer']
         2017-07-22 09:00:22   AllPlayerNotBondedCount 3
         2017-07-22 16:36:25   LastActionResult SaveBookmarks: Success!
         2017-07-31 18:35:23   LastProcessAnswer 2100-01-01 00:00:00
         2017-07-29 15:21:42   LastProcessRestart 2017-07-29 15:21:42
         2017-07-29 15:21:42   LastProcessRestartCount 4
         2017-07-22 09:00:22   LineInPlayer    ['Sonos_Bad','Sonos_Kueche','Sonos_Wohnzimmer']
         2017-07-22 09:00:22   MasterPlayer    ['Sonos_Bad','Sonos_Kueche','Sonos_Wohnzimmer']
         2017-07-22 09:00:22   MasterPlayerCount 3
         2017-07-29 13:16:07   MasterPlayerNotPlaying ['Sonos_Bad','Sonos_Kueche','Sonos_Wohnzimmer']
         2017-07-29 13:16:07   MasterPlayerNotPlayingCount 3
         2017-07-29 13:16:07   MasterPlayerPlaying []
         2017-07-29 13:16:07   MasterPlayerPlayingCount 0
         2017-06-29 19:33:56   MusicServicesList {'232' => {'Resolution' => '1500','Capabilities' => '577','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-72x72.png','ResolutionSubstitution' => '_1500.jpg','Name' => 'Radioplayer','ServiceType' => '59399','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-400x400.png','SMAPI' => 'https://sonosrp.radioapi.io/Service.svc','PromoText' => 'Radio für dich – aus deiner Region. Der Radioplayer ist die offizielle App der Radiosender, in höchster Klangqualität, mit tollen Inhalten und vielen Podcasts.'},'218' => {'Resolution' => undef,'Capabilities' => '512','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-72x72.png','ResolutionSubstitution' => undef,'Name' => 'Soundsuit.fm','ServiceType' => '55815','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-400x400.png','SMAPI' => 'https://soundsuit.fm/smapi','PromoText' => 'Soundsuit – maßgeschneideiderte Musik für Ihren Laden oder Restaurant. Legal und mühelos. Richten Sie Ihr Konto in Sekunden ein. Und los!'},'201' => {'Resolution' => undef,'Capabilities' => '45633','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-72x72.png','ResolutionSubstitution' => undef,'Name' => 'Amazon Music','ServiceType' => '51463','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-400x400.png','SMAPI' => 'https://sonos.amazonmusic.com/','PromoText' => ''},'7' => {'Resolution' => '569','Capabilities' => '513','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-72x72.png','ResolutionSubstitution' => '/569/','Name' => 'Concert Vault','ServiceType' => '37383','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-400x400.png','SMAPI' => 'https://www.concertvault.com/ws/MOAPI.asmx','PromoText' => ''},'20' => {'Resolution' => '640','Capabilities' => '2579','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-72x72.png','ResolutionSubstitution' => '640x640.jpg','Name' => 'WiMP','ServiceType' => '38663','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-400x400.png','SMAPI' => 'https://sonos.tidalhifi.com/sonos-wimp','PromoText' => ''},'159' => {'Resolution' => '1500','Capabilities' => '35347','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-72x72.png','ResolutionSubstitution' => '/image?w=1500&amp;h=1500&amp;','Name' => 'Groove','ServiceType' => '44551','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-400x400.png','SMAPI' => 'https://sonos.auth.music.microsoft.com/api','PromoText' => 'Willkommen bei Groove!'},'154' => {'Resolution' => '999','Capabilities' => '513','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-72x72.png','ResolutionSubstitution' => '.s999','Name' => 'Radionomy','ServiceType' => '41735','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-400x400.png','SMAPI' => 'https://sonos.radionomy.com/SonosService.svc','PromoText' => 'Radionomy features a wide variety of music and themed online radio stations, accessible anywhere, produced and run by passionate people: music fans, artists, DJs, opinion leaders, comedians, story tellers, etc.'},'151' => {'Resolution' => undef,'Capabilities' => '98899','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-72x72.png','ResolutionSubstitution' => undef,'Name' => 'Google Play Music','ServiceType' => '48391','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-400x400.png','SMAPI' => 'https://mclients.googleapis.com/music/sonos/wsf/smapi','PromoText' => ''},'38' => {'Resolution' => '800','Capabilities' => '513','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-72x72.png','ResolutionSubstitution' => '_800.jpg','Name' => '7digital','ServiceType' => '49927','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-400x400.png','SMAPI' => 'https://sonos-service.7digital.com/sonos.asmx','PromoText' => 'Willkommen bei 7digital'},'53' => {'Resolution' => '400','Capabilities' => '1536','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-72x72.png','ResolutionSubstitution' => '/400x400/','Name' => 'MLB.com Gameday Audio','ServiceType' => '36871','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/36871/36871-400x400.png','SMAPI' => 'https://securea.mlb.com/ce/sonos/default.jsp','PromoText' => 'Listen to every regular season and postseason game LIVE (no blackouts)'},'191' => {'Resolution' => undef,'Capabilities' => '1030739','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-72x72.png','ResolutionSubstitution' => undef,'Name' => 'Classical Archives','ServiceType' => '43783','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-400x400.png','SMAPI' => 'https://api.classicalarchives.com/smapi/endpoint','PromoText' => ''},'231' => {'Resolution' => '640','Capabilities' => '537153','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-72x72.png','ResolutionSubstitution' => '640','Name' => 'Wolfgang&apos;s Music','ServiceType' => '59143','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-400x400.png','SMAPI' => 'https://moapi.wolfgangs.com/ws/wolfgangs.asmx','PromoText' => 'The world's largest collection of live music recordings. Thousands of concerts by legendary artists across all genres.'},'184' => {'Resolution' => undef,'Capabilities' => '295427','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-72x72.png','ResolutionSubstitution' => undef,'Name' => 'Stingray Music','ServiceType' => '8455','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-400x400.png','SMAPI' => 'https://sonos.stingray.com/ws/Sonos','PromoText' => 'The Stingray Music content you love, now available in every room of your house with Sonos! The best music for every moment, place and mood in your life, curated by experts from around the globe. A wide range of channels in all genres, featuring local and international talents. FREE with your TV subscription.'},'219' => {'Resolution' => '300','Capabilities' => '4672','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56071/56071-72x72.png','ResolutionSubstitution' => '-huge.jpg?size=300','Name' => 'Audiobooks.com','ServiceType' => '56071','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56071/56071-400x400.png','SMAPI' => 'https://api.audiobooks.com/api/v2/sonos/soap','PromoText' => 'Sign up for an Audiobooks.com account and get a free 30 day trial!'},'222' => {'Resolution' => undef,'Capabilities' => '6675','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-72x72.png','ResolutionSubstitution' => undef,'Name' => 'nugs.net','ServiceType' => '56839','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-400x400.png','SMAPI' => 'https://sonos.nugs.net/soap/nugs','PromoText' => 'Die personalisierte Musikerlebnis auf der Grundlage Ihrer eigenen einzigartigen Geschmack jetzt Sonos'},'157' => {'Resolution' => undef,'Capabilities' => '513','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-72x72.png','ResolutionSubstitution' => undef,'Name' => 'Bandcamp','ServiceType' => '40199','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-400x400.png','SMAPI' => 'https://sns.bandcamp.com/api/sonos/2/sonos_api','PromoText' => ''},'146' => {'Resolution' => undef,'Capabilities' => '513','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-72x72.png','ResolutionSubstitution' => undef,'Name' => 'Daytrotter','ServiceType' => '48903','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-400x400.png','SMAPI' => 'https://www.daytrotter.com/ws/MOAPI.asmx','PromoText' => 'The source for new music from the best emerging bands, recorded live in Daytrotter&apos;s studios.'},'144' => {'Resolution' => '600','Capabilities' => '512','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-72x72.png','ResolutionSubstitution' => '_600.jpg','Name' => 'Calm Radio','ServiceType' => '38407','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-400x400.png','SMAPI' => 'https://api.calmradio.com/sonos/','PromoText' => 'Calm Radio hat eine riesige Auswahl an Kanälen in jedem Stil. Mit einem kostenlosen Calm Radio-Konto oder zum Kauf einer Low-Cost-Mitgliedschaft für HD-Qualität und ohne Unterbrechungen. Über 200 Premium-Musikkanäle für die Mitglieder in HD-Audio-Qualität aus Pop, Rock, Akustik, Klassik, Ambient, Meditation, Entspannung, Weltmusik , Latin, Jazz, Atmosphärisch Kanäle, Solo Piano, Solo-Gitarre und viele mehr.'},'181' => {'Resolution' => '1500','Capabilities' => '2627','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-72x72.png','ResolutionSubstitution' => 'w/1500/h/1500/','Name' => 'Mixcloud','ServiceType' => '46855','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-400x400.png','SMAPI' => 'https://www.mixcloud.com/sonos-app/','PromoText' => 'Höre die zuverlässigsten DJs &amp; Kuratoren.'},'160' => {'Resolution' => '500','Capabilities' => '4611','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-72x72.png','ResolutionSubstitution' => 't500x500','Name' => 'SoundCloud','ServiceType' => '40967','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-400x400.png','SMAPI' => 'https://soundcloud-go.ws.sonos.com/smapi','PromoText' => ''},'212' => {'Resolution' => '1080','Capabilities' => '513','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-72x72.png','ResolutionSubstitution' => 'width=1080','Name' => 'Plex','ServiceType' => '54279','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-400x400.png','SMAPI' => 'https://sonos.plex.tv/sonos/','PromoText' => 'Plex!'},'195' => {'Resolution' => '1500','Capabilities' => '2579','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-72x72.png','ResolutionSubstitution' => '/1500x1500','Name' => 'JUKE','ServiceType' => '46343','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-400x400.png','SMAPI' => 'https://360-smapi.api.247e.com/musicopen.svc','PromoText' => 'JUKE! Du kannst.'},'198' => {'Resolution' => undef,'Capabilities' => '2627','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-72x72.png','ResolutionSubstitution' => undef,'Name' => 'Anghami','ServiceType' => '9735','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-400x400.png','SMAPI' => 'https://api.anghami.com/anghmob/SonosAPI.php','PromoText' => 'Add music to your day with Anghami, and make it louder with Sonos!'},'223' => {'Resolution' => undef,'Capabilities' => '513','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-72x72.png','ResolutionSubstitution' => undef,'Name' => 'RauteMusik.FM','ServiceType' => '57095','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-400x400.png','SMAPI' => 'https://sonos-smapi.rautemusik.fm/smapi','PromoText' => ' Erlebe dutzende kostenlose Musikkanäle mit den verschiedensten Musikrichtungen bei RauteMusik.FM. '},'24' => {'Resolution' => '328','Capabilities' => '512','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-72x72.png','ResolutionSubstitution' => 'lain328','Name' => 'DAR.fm Record Radio','ServiceType' => '13575','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-400x400.png','SMAPI' => 'http://dar.fm/SonosServer.php','PromoText' => 'DAR.fm is a personal recorder which records thousands of radio stations and shows to be played back at your convenience.'},'162' => {'Resolution' => undef,'Capabilities' => '513','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-72x72.png','ResolutionSubstitution' => undef,'Name' => 'radioPup','ServiceType' => '54023','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-400x400.png','SMAPI' => 'https://sonos.townsquaremedia.com/index.php','PromoText' => 'radioPup features 300+ local radio stations streaming the best music and news available. Covering many genres including: Country, Classic Rock, Hip-Hop / R&amp;B, Pop, Lite Sounds, Sports, News/Talk, Classic Hits, Rock and more.'},'216' => {'Resolution' => '1500','Capabilities' => '4627','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-72x72.png','ResolutionSubstitution' => '1500x1500.jpg','Name' => 'Aldi life Musik','ServiceType' => '55303','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-400x400.png','SMAPI' => 'https://sonosapi-aldimusic.rhapsody.com/smapi','PromoText' => 'Aldi life Musik powered by Napster bietet dir Millionen Songs, tausende Hörbücher, exklusive Playlists und redaktionelle Empfehlungen von unseren Experten.'},'221' => {'Resolution' => undef,'Capabilities' => '6675','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-72x72.png','ResolutionSubstitution' => undef,'Name' => 'LivePhish+','ServiceType' => '56583','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-400x400.png','SMAPI' => 'https://sonos.nugs.net/soap/livephish','PromoText' => 'Die personalisierte Musikerlebnis auf der Grundlage Ihrer eigenen einzigartigen Geschmack jetzt Sonos'},'169' => {'Resolution' => '1500','Capabilities' => '512','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-72x72.png','ResolutionSubstitution' => '_1500.jpg','Name' => 'Tribe of Noise','ServiceType' => '5127','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-400x400.png','SMAPI' => 'https://sonos.tribeofnoise.com/server-v2.0.php','PromoText' => 'Tribe of Noise bietet einen innovative Hintergrundmusik-Service für Unternehmen, bei dem keinerlei (jährliche) Gebühren an staatliche Verwertungsgesellschaften fällig werden. Dieser Cloud-Musikdienst hilft Unternehmen, das richtige Ambiente für Kunden und Personal zu schaffen.'},'189' => {'Resolution' => '1500','Capabilities' => '513','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-72x72.png','ResolutionSubstitution' => '_1500.png','Name' => 'SOUNDMACHINE','ServiceType' => '50695','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-400x400.png','SMAPI' => 'https://provider.sound-machine.com/sonosapi','PromoText' => 'A fully licensed cloud-based music service for business. Create a signature soundtrack by easily mixing and day-parting your favorite curated playlists. Style multiple locations with your unique sound.'},'9' => {'Resolution' => undef,'Capabilities' => '1116691','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-72x72.png','ResolutionSubstitution' => undef,'Name' => 'Spotify','ServiceType' => '2311','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-400x400.png','SMAPI' => 'https://spotify-v4.ws.sonos.com/smapi','PromoText' => 'Musik auf radikal andere Weise erleben. Millionen von Titeln auf Abruf in höchster Klangqualität.'},'211' => {'Resolution' => '119','Capabilities' => '515','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-72x72.png','ResolutionSubstitution' => '.l.jpg','Name' => 'The Music Manager','ServiceType' => '55559','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-400x400.png','SMAPI' => 'https://themusicmanager.eu/sonos/SonosAPI.php','PromoText' => 'TMM is a great service that brings new music to you everyday. Sample hits on Sonos. Set up your account to start listenning.'},'167' => {'Resolution' => '480','Capabilities' => '577','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-72x72.png','ResolutionSubstitution' => '_480x480_','Name' => 'Gaana','ServiceType' => '1799','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-400x400.png','SMAPI' => 'http://sonosapi.gaana.com/SonosAPI.php','PromoText' => 'The personalized music experience based on your own unique taste, now for Sonos.'},'45' => {'Resolution' => '290','Capabilities' => '512','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-72x72.png','ResolutionSubstitution' => '_290.png','Name' => 'hotelradio.fm','ServiceType' => '7943','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-400x400.png','SMAPI' => 'https://users.hotelradio.fm/sonosapi/index.php','PromoText' => 'hotelradio.fm - Musikkonzept für Hotels, Restaurants und Spa'},'2' => {'Resolution' => '1000','Capabilities' => '2643','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/519/519-72x72.png','ResolutionSubstitution' => '1000x1000-000000-80-0-0.jpg','Name' => 'Deezer','ServiceType' => '519','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/519/519-400x400.png','SMAPI' => 'https://api.deezer.com/sonos','PromoText' => 'Entdecke und genieße die weltweit größte On-Demand-Musikbibliothek auf deinem Sonos-Gerät - ganz bequem von zu Hause.'},'171' => {'Resolution' => '1500','Capabilities' => '4609','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-72x72.png','ResolutionSubstitution' => '_1500.png','Name' => 'Mood Mix','ServiceType' => '43271','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-400x400.png','SMAPI' => 'https://sonos.mix.moodmedia.com/api','PromoText' => 'A "Plug and Play" online music solution that enables business owners to mix fully licensed, professionally designed playlists to create a custom soundtrack quickly and easily.'},'174' => {'Resolution' => '640','Capabilities' => '2579','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-72x72.png','ResolutionSubstitution' => '640x640.jpg','Name' => 'TIDAL','ServiceType' => '47111','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-400x400.png','SMAPI' => 'https://sonos.tidalhifi.com/sonos','PromoText' => ''},'217' => {'Resolution' => '1500','Capabilities' => '4610','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-72x72.png','ResolutionSubstitution' => '_1500.jpg','Name' => 'FIT Radio Workout Music','ServiceType' => '40711','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-400x400.png','SMAPI' => 'https://www.fitradio.com/apisonos/ws','PromoText' => 'The personalized music experience based on your own unique taste now for Sonos'},'164' => {'Resolution' => '500','Capabilities' => '12865','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-72x72.png','ResolutionSubstitution' => '500x500.jpg','Name' => 'Saavn','ServiceType' => '42759','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-400x400.png','SMAPI' => 'https://www.saavn.com/apps/sonos/SonosAPI.php','PromoText' => 'Saavn for Sonos. The best Bollywood and Indian music listening experience with over a million tracks.'},'230' => {'Resolution' => '1000','Capabilities' => '512','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-72x72.png','ResolutionSubstitution' => '/1000x1000/','Name' => 'NTS Radio','ServiceType' => '58887','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-400x400.png','SMAPI' => 'https://www.nts.live/smapi','PromoText' => 'Kostenloser Live-Radio von den besten DJs der Welt'},'254' => {'Resolution' => '1200','Capabilities' => '4160','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-72x72.png','ResolutionSubstitution' => '1200x1200','Name' => 'TuneIn','ServiceType' => '52231','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-400x400.png','SMAPI' => 'http://legato.radiotime.com/Radio.asmx','PromoText' => ''},'150' => {'Resolution' => undef,'Capabilities' => '512','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-72x72.png','ResolutionSubstitution' => undef,'Name' => 'RUSC','ServiceType' => '39431','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-400x400.png','SMAPI' => 'https://www.rusc.com/sonos.asmx','PromoText' => 'In RUSC Ihrem Sonos-System und genießen Sie tausende von klassischen Radiosendungen aus den 1930er Jahren, 40er und 50er Jahre.'},'203' => {'Resolution' => '1500','Capabilities' => '595','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-72x72.png','ResolutionSubstitution' => '1500x1500.jpg','Name' => 'Napster','ServiceType' => '51975','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-400x400.png','SMAPI' => 'https://sonosapi-napster.rhapsody.com/smapi','PromoText' => 'Napster bietet dir Millionen Songs, tausende Hörbücher, exklusive Playlists und redaktionelle Empfehlungen von unseren Experten.'},'192' => {'Resolution' => '1500','Capabilities' => '5632','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-72x72.png','ResolutionSubstitution' => '-1500.png','Name' => 'focus@will','ServiceType' => '49159','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-400x400.png','SMAPI' => 'https://www.focusatwill.com/sonos/action','PromoText' => 'focus@will is a unique music and audio service scientifically developed to increase concentration and productivity. focus@will on Sonos. Set up your account now to begin.'},'183' => {'Resolution' => undef,'Capabilities' => '37395','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','ResolutionSubstitution' => undef,'Name' => 'narando','ServiceType' => '41479','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','SMAPI' => 'http://www.narando.com/sonos/service/action','PromoText' => 'narando - Lass dir interessante Artikel vorlesen. Lausche den Stimmen echter Vorleser während du fährst, trainierst, kochst oder aufräumst.'},'163' => {'Resolution' => '200','Capabilities' => '513','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-72x72.png','ResolutionSubstitution' => '/large/','Name' => 'Spreaker','ServiceType' => '41991','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-400x400.png','SMAPI' => 'https://sonos.spreaker.com/sonos/service/v1','PromoText' => 'Spreaker is a web and mobile platform that allows listeners to explore broadcasts, podcasts, and original music created by its community of users.'}}
         2017-07-28 13:35:42   MusicServicesListVersion RINCON_5CAAFD0D1DCE01400:58
         2017-06-14 02:28:43   ShareIndexInProgress 0
         2017-01-26 17:18:00   UserID_Spotify  SA_RINCON2311_X_%23Svc2311-0-Token
         2017-07-29 15:21:57   ZoneGroupState  <ZoneGroups><ZoneGroup Coordinator="RINCON_5CAAFD0D1DCE01400" ID="RINCON_5CAAFD0D1DCE01400:11"><ZoneGroupMember UUID="RINCON_5CAAFD0D1DCE01400" Location="http://192.168.197.55:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="36.4-42130" MinCompatibleVersion="35.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="24" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3"/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFD01DBDE01400" ID="RINCON_5CAAFD01DBDE01400:34"><ZoneGroupMember UUID="RINCON_5CAAFD01DBDE01400" Location="http://192.168.197.27:1400/xml/device_description.xml" ZoneName="Küche" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="36.4-42130" MinCompatibleVersion="35.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="41" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3"/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFD05436801400" ID="RINCON_5CAAFD05436801400:35"><ZoneGroupMember UUID="RINCON_5CAAFD05436801400" Location="http://192.168.197.28:1400/xml/device_description.xml" ZoneName="Bad" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="36.4-42130" MinCompatibleVersion="35.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="38" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3"/></ZoneGroup></ZoneGroups>
         2017-07-31 18:35:22   state           opened
    Attributes:
       bookmarkPlaylistDefinition Bookmark:(Sonos_Bad|Sonos_Kueche|Sonos_Wohnzimmer)::600
       bookmarkSaveDir /opt/fhem/sonosbookmarks
       bookmarkTitleDefinition Bookmark:(Sonos_Bad|Sonos_Kueche|Sonos_Wohnzimmer)::600
       ignoredIPs 192.168.197.29:2000
       room       System Geräte
       targetSpeakDir /opt/fhem/SonosSpeak
       targetSpeakFileTimestamp 1
       targetSpeakMP3FileDir /opt/fhem/SonosSpeak
       targetSpeakURL \\192.168.197.33\SonosSpeak
       verbose    2


    Nachtrag:

    Ich glaube ich habe den Fehler, ich habe mir letzte Woche die Sonos Playbar gekauft, nachdem die im Wohnzimmer steht habe ich in der Sonos App Wohnzimmer eingetragen, dort steht aber schon ein Play 5 mit dem Namen Wognzimmer.

    Anscheinend mag das Sonos Modul keine doppelten Namen und setzt alle Player auf disappeared.
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 01 August 2017, 11:00:26
    Hallo,

    ich habe folgenden Effekt, der (fast) immer reproduzierbar ist:
    Meine Player werden über Steckdosen ein und aus geschaltet.
    Den ersten Player erkennt Sonos nach dem Einschalten ohne Probleme. Der zweite Player kommt wohl auch noch in Sonos an, aber dann habe ich folgenden log-Eintrag:

    0.36 1: main::SCC_PlayerEventSonos_Hobbyraum: LastActionResult: cmd CheckProxyObject-ERROR res SonosPlayer disappeared?
    0.39 1: main::SCC_PlayerEventSonos_Hobbyraum: LastActionResult: cmd DoWork-Exception ERROR res ERROR: 500 Can't connect to 192.168.1.54:1400 at FHEM/lib/UPnP/ControlPoint.pm line 869 thread 1.

    dann:
    1.19 1: main::SCC_PlayerEventSonos_Hobbyraum: LastActionResult: cmd CheckProxyObject-ERROR res SonosPlayer disappeared?

    und man beachte die Zeiten in s:
    21.27 1: SCC_SonosEvent: rd LineInPlayer val ['Sonos_Hobbyraum','Sonos_Wohnzimmer']
    103.61 1: SCC_PlayerEvent: presence appeared visible on

    Also nach 103 s wird der Player wieder erkannt.

    Elektrolurch



    Titel: Antw:Sonos steuern
    Beitrag von: ToM_ToM am 01 August 2017, 11:42:43
    ZitatAlso nach 103 s wird der Player wieder erkannt.

    Lässt du fhem als root laufen? Probier das mal. Bei mir läuft das Sonos Modul auch nur sauber wenn ich FHEM als root laufen lasse.
    Sobald ich den FHEM user verwende, ist das eher ein Glücksspiel dass meine Player nicht disappeared sind.

    VG, Thomas
    Titel: Antw:Sonos steuern
    Beitrag von: bruece-lee am 01 August 2017, 18:23:03
    Hallo Reinerlein,

    ich habe seit einiger Zeit das Sonos Modul in FHEM eingebaut und nutze es intensiv, u.a. auch für (offline) Sprachausgaben mit eSpeak und pico2wave. Dabei ist mir etwas aufgefallen von dem ich glaube, dass es auf einen Fehler im Modul zurückzuführen ist.

    Phänomen: Die Sprachausgabe funktioniert über lange Zeit ohne Probleme. Sobald FHEM einmal neu gestartet wurde, z.B. nach einem Update funktioniert sie nicht mehr und es erscheint folgende Meldung im Log, wenn eine Sprachausgabe erfolgen soll:

    sonos_Mobil2_SpeakTimer: SONOSPLAYER: Set with unknown argument Speak2, choose one of AddMember AddURIToQueue Alarm AudioDelay AudioDelayLeftRear AudioDelayRightRear Balance Bass ButtonLockState CreateStereoPair CrossfadeMode CurrentPlaylist CurrentTrackPosition DailyIndexRefreshTime DeleteFromQueue DeletePlaylist DialogLevel EmptyPlaylist ExportSonosBibliothek GroupMute GroupVolume GroupVolumeD GroupVolumeU LEDState LoadFavourite LoadPlaylist LoadRadio LoadSearchlist Loudness MakeStandaloneGroup Mute MuteT Name Next NightMode OutputFixed Pause Play PlayURI PlayURITemp Previous Reboot RemoveMember Repeat RepeatOne RepeatOneT RepeatT ResetAttributesToDefault RoomIcon SavePlaylist SeparateStereoPair Shuffle ShuffleT SleepTimer SnapshotGroupVolume SnoozeAlarm Speak StartFavourite StartPlaylist StartRadio StartSearchlist Stop SubEnable SubGain SubPolarity SurroundEnable SurroundLevel Track Treble TruePlay Volume VolumeD VolumeRestore VolumeSave VolumeU Wifi currentTrack

    Sobald man einmal im Browser im FHEMWEB das SONOS Modul per Mausklick aufruft, funktioniert die Sprachausgabe wieder tadellos. Ich habe sehr lange nach diesem Zusammenhang gesucht, er lässt sich beliebig oft reproduzieren.

    Meine Definition sieht so aus:


    Internals:
       CHANGED
       DEF        localhost:4711 30 1 5
       DELAYTIME  5
       DeviceName localhost:4711
       FD         38
       INTERVAL   30
       NAME       sonos
       NOTIFYDEV  global,TYPE=SONOSPLAYER
       NR         2499
       NTFY_ORDER 50-sonos
       PARTIAL
       STATE      opened
       TYPE       SONOS
       WAITTIME   1
       Readings:
         2017-04-16 21:13:16   AllPlayer       ['sonos_Mobil1','sonos_Mobil2']
         2017-04-16 21:13:16   AllPlayerCount  2
         2017-04-16 21:13:16   AllPlayerNotBonded ['sonos_Mobil1','sonos_Mobil2']
         2017-04-16 21:13:16   AllPlayerNotBondedCount 2
         2017-04-06 19:56:01   LineInPlayer    []
         2017-06-08 17:29:49   MasterPlayer    ['sonos_Mobil1']
         2017-06-08 17:29:49   MasterPlayerCount 1
         2017-06-15 12:03:29   MasterPlayerNotPlaying ['sonos_Mobil1']
         2017-06-15 12:03:29   MasterPlayerNotPlayingCount 1
         2017-06-15 12:03:29   MasterPlayerPlaying []
         2017-06-15 12:03:29   MasterPlayerPlayingCount 0
         2017-06-06 18:12:25   MusicServicesList {*manuell gekürzt*}
         2017-06-06 18:12:25   MusicServicesListVersion RINCON_949F3E158A9C01400:53
         2017-04-24 21:03:04   ShareIndexInProgress 0
         2017-06-15 11:09:01   ZoneGroupState  <ZoneGroups><ZoneGroup Coordinator="RINCON_949F3E15621A01400" ID="RINCON_949F3E15621A01400:12"><ZoneGroupMember UUID="RINCON_949F3E158A9C01400" Location="http://192.168.178.29:1400/xml/device_description.xml" ZoneName="Mobil 2" Icon="x-rincon-roomicon:portable" Configuration="1" SoftwareVersion="35.3-39010" MinCompatibleVersion="34.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="16" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2437" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="4" SecureRegState="2"/><ZoneGroupMember UUID="RINCON_949F3E15621A01400" Location="http://192.168.178.28:1400/xml/device_description.xml" ZoneName="Mobil" Icon="x-rincon-roomicon:portable" Configuration="1" SoftwareVersion="35.3-39010" MinCompatibleVersion="34.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="28" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2437" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="4" SecureRegState="2"/></ZoneGroup></ZoneGroups>
         2017-06-15 10:55:58   state           opened
    Attributes:
       Speak1     mp3:/usr/bin/espeak -s 120 -v %language% --stdout "%text%" | /usr/bin/avconv -i - %filename%
       Speak2     mp3:/usr/bin/pico2wave --lang %language% --wave /var/www/SonosSpeak/speak2.wav "%text%" && /usr/bin/avconv -v error -i /var/www/SonosSpeak/speak2.wav %filename%
       alias      Sonos Soundsystem
       disable    0
       room       Sonos
       targetSpeakDir /var/www/SonosSpeak
       targetSpeakFileTimestamp 1
       targetSpeakMP3FileDir /var/www/SonosSpeak
       targetSpeakURL \\192.168.178.209\SonosSpeak
       usedonlyIPs 192.168.178.28,192.168.178.29
       verbose    2


    Könntest Du Dir dieses Problem evtl. einmal anschauen? Ich helfe gerne bei der weiteren Analyse wenn noch etwas zu testen ist.

    Viele Grüße,
    Bruece-Lee
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 02 August 2017, 14:04:13
    Zitat:
    Lässt du fhem als root laufen? Probier das mal. Bei mir läuft das Sonos Modul auch nur sauber wenn ich FHEM als root laufen lasse.
    Sobald ich den FHEM user verwende, ist das eher ein Glücksspiel dass meine Player nicht disappeared sind.

    Hm, eigentlich ist ja der fhemuser unter den sudoers eingetragen und ich lasse ungern etwas unter root laufen. Ich denke, ich werde mal die getrennte logging-Möglichkeit für den sub-Prozess von Sonos nutzen und mal sehen, was da passiert.
    Ich habe nach einer gewissen Zeit eine Reihe von prozessen "fhem" mit Status "disfunct"... und ich denke, das könnte etwas damit zu tun haben, dass der  sub-Prozess Sonos 1 sich unerwartet beendet.Da könnte bestimmt Reiner genauereres dazu sagen, wie man das am Besten untersucht....

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Schiri1986 am 19 August 2017, 13:29:25
    Zitat von: Eragos am 23 Juli 2017, 18:09:48
    Ich glaub ich habs :)
    mit 'define Sonos SONOS localhost:4712 30 1 5; attr Sonos verbose 5' probiert. voila  8)

    Und das hat das Problem für dich nachhaltig gelöst? Ich habe nämlich die gleiche Kombination (rPi, piHole, FHEM mit Sonos) und suche nach einer Lösung :)



    Gesendet von iPad mit Tapatalk
    Titel: Antw:Sonos steuern
    Beitrag von: Eragos am 19 August 2017, 15:54:06
    Zitat von: Schiri1986 am 19 August 2017, 13:29:25
    Und das hat das Problem für dich nachhaltig gelöst? Ich habe nämlich die gleiche Kombination (rPi, piHole, FHEM mit Sonos) und suche nach einer Lösung :)

    Das löst das Problem, wenn der Port bereits genutzt und somit belegt ist - was beim Einsatz von Pi-Hole der Fall ist. Über netstat -tulpn kannst du dieses herausfinden. In meinem Beispiel habe ich einfach den freien Post 4712 genommen.

    Viele Grüße
    Micha
    Titel: Antw:Sonos steuern
    Beitrag von: Schiri1986 am 20 August 2017, 21:05:55
    Zitat von: Eragos am 19 August 2017, 15:54:06
    Das löst das Problem, wenn der Port bereits genutzt und somit belegt ist - was beim Einsatz von Pi-Hole der Fall ist. Über netstat -tulpn kannst du dieses herausfinden. In meinem Beispiel habe ich einfach den freien Post 4712 genommen.

    Viele Grüße
    Micha

    Vielen Dank, Micha! Dein Hinweis hat mein Problem gelöst.
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 24 August 2017, 20:58:50
    Habe heute leider feststellen müssen, dass SONOS Fhem auf 100% CPU Last gebracht hat...


    Hier einige Log Einträge, die ich zu vor noch nie gesehen habe. Generell habe ich das Problem, dass wenn ein Player ausgeschalter wird, es immer zu Fehlermeldungen innerhalb Fhem kommt.

    Hier mal ein Paar:

    Dies wird wohl generiert, wenn ein player nicht mehr erreichbar ist.
    Renewal of subscription failed with error: 500 Can't connect to 192.168.1.24:1400 at ./FHEM/00_SONOS.pm line 4277 thread 1.

    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 2509, <$client> line 6

    Use of uninitialized value $workType in pattern match (m//) at ./FHEM/00_SONOS.pm line 4357, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4448, <$client> line 6.
    Use of uninitialized value $workType in ucfirst at ./FHEM/00_SONOS.pm line 4451, <$client> line 6.
    Use of uninitialized value $udn in concatenation (.) or string at ./FHEM/00_SONOS.pm line 5634, <$client> line 6.


    2017.08.24 19:05:16 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_getSonosPlayerByUDN" at ./FHEM/00_SONOS.pm line 10002.
    2017.08.24 19:05:16 1: stacktrace:
    2017.08.24 19:05:16 1:     main::__ANON__                      called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)



    2017.08.24 19:05:16 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_Log" at ./FHEM/00_SONOS.pm line 9753.
    2017.08.24 19:05:16 1: stacktrace:
    2017.08.24 19:05:16 1:     main::__ANON__                      called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)
    2017.08.24 19:05:16 1:     main::SONOS_getSonosPlayerByUDN     called by ./FHEM/00_SONOS.pm (10002)
    2017.08.24 19:05:16 1:     main::SONOS_Log                     called by ./FHEM/00_SONOS.pm (9753)


    Hoffe, dass Hilft vielleicht zum analysieren.

    Würde mich freuen, wenn man etwas dagegen machen könnte. Besonders Die Fehlermeldungen (diese führen anscheinend auch zum Freeze), die nur daraus entstehen, dass der Player vom Strom getrennt wurde.

    Danke und Gruß,

    Fixel
    Titel: Antw:Sonos steuern
    Beitrag von: NickRivers am 27 August 2017, 13:41:39
    Moin, ich habe meine Sonosplayer schon etwas länger ins FHEM integriert und wollte nun einmal die "speak-Funktion" testen und ausbauen aber die Sprachausgabe kommt irgendwie nicht zu stande. Das letzte Update habe ich soeben durchgeführt, bringt aber auch nichts. Das Verzeichnis in dem die generierten MP3-Dateien abgelegt sein müssten ist leer. Keine Ahnung ob da vielleicht nur temporär was abgelegt wird. ist.  Vielleicht hat ja jemand ne Idee an welcher Stelle ich suchen könnte? Das Modul "00_SONOS.pm" scheint sich in den Zeilen ~5100 nicht wesentlich von älteren Versionen zu unterscheiden.

    version 00_SONOS.pm:
    00_SONOS.pm 14715 2017-07-14 10:39:57Z Reinerlein

    list Sonos:
    Internals:
       DEF        localhost:4711 30 1 5
       DELAYTIME  5
       DeviceName localhost:4711
       FD         126
       INTERVAL   30
       NAME       Sonos
       NOTIFYDEV  global
       NR         1112
       NTFY_ORDER 50-Sonos
       PARTIAL
       STATE      opened
       TYPE       SONOS
       WAITTIME   1
       READINGS:
         2017-08-05 20:01:40   AllPlayer       ['Sonos_Buero']
         2017-08-05 20:01:40   AllPlayerCount  1
         2017-08-05 20:01:40   AllPlayerNotBonded ['Sonos_Buero']
         2017-08-05 20:01:40   AllPlayerNotBondedCount 1
         2017-08-27 13:25:24   LastProcessAnswer 2017-08-27 13:25:24
         2017-08-26 19:12:36   LastProcessRestart 2017-08-26 19:12:36
         2017-08-26 19:12:36   LastProcessRestartCount 1
         2017-05-02 16:24:16   LineInPlayer    []
         2017-08-05 20:01:40   MasterPlayer    ['Sonos_Buero']
         2017-08-05 20:01:40   MasterPlayerCount 1
         2017-08-26 20:45:11   MasterPlayerNotPlaying ['Sonos_Buero']
         2017-08-26 20:45:11   MasterPlayerNotPlayingCount 1
         2017-08-26 20:45:11   MasterPlayerPlaying []
         2017-08-26 20:45:11   MasterPlayerPlayingCount 0
         2017-08-27 13:00:20   MusicServicesList {'53' => usw => '1080'}}
         2017-08-27 13:00:20   MusicServicesListVersion RINCON_000E585AE0C001400:414
         2017-03-23 16:23:43   ShareIndexInProgress 0
         2016-12-24 11:49:10   UserID_Spotify  SA_RINCON2311_X_%23Svc2311-2431efd6-Token
         2017-08-27 13:00:20   ZoneGroupState  <ZoneGroups><ZoneGroup Coordinator="RINCON_000E585AE0C001400" ID="RINCON_000E585AE0C001400:5"><ZoneGroupMember UUID="RINCON_000E585AE0C001400" Location="http://192.168.2.204:1400/xml/device_description.xml" ZoneName="Büro" Icon="x-rincon-roomicon:office" Configuration="1" SoftwareVersion="36.4-42130" MinCompatibleVersion="35.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="115" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="4" SecureRegState="2"/></ZoneGroup></ZoneGroups>
         2017-08-27 13:00:01   state           opened
    Attributes:
       disable    0
       room       Sonos
       targetSpeakDir /home/nuc-fhem/sonos
       targetSpeakFileTimestamp 1
       targetSpeakMP3FileDir /home/nuc-fhem/sonos
       targetSpeakURL \\192.168.2.110\sonos


    Logfile:
    2017.08.27 13:02:40 5: Cmd: >set Sonos_Buero Speak 10 de Waschmaschine ist fertig<
    2017.08.27 13:02:40 5: SW: DoWork:RINCON_000E585AE0C001400_MR:speak0:10--#--de--#--Waschmaschine ist fertig

    2017.08.27 13:02:41 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=%20Waschmaschine%20ist%20fertig" to "/home/nuc-fhem/sonos/RINCON_000E585AE0C001400_MR_Speak_20170827-130240.mp31"
    2017.08.27 13:02:41 4: WEB_192.168.2.10_1740 GET /fhem?fw_id=1301; BUFLEN:0
    2017.08.27 13:02:41 4: WEB: /fhem?fw_id=1301 / RL:1945 / text/html; charset=UTF-8 / Content-Encoding: gzip
    /
    2017.08.27 13:02:41 3: SONOS1: Combine loaded chunks into "/home/nuc-fhem/sonos/RINCON_000E585AE0C001400_MR_Speak_20170827-130240.mp3"
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 5092.
    binmode() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 5099.
    print() on closed filehandle MPFILE at ./FHEM/00_SONOS.pm line 5100.
    2017.08.27 13:02:41 2: SONOS1: Beim Setzen der MP3-Informationen (ID3TagV2) ist ein Fehler aufgetreten: Can't call method "config" on an undefined value at ./FHEM/00_SONOS.pm line 4431.

    2017.08.27 13:02:41 3: SONOS1: Start temporary playing of "\\192.168.2.110\sonos/RINCON_000E585AE0C001400_MR_Speak_20170827-130240.mp3"
    2017.08.27 13:02:41 5: SONOS0: Received from UPnP-Server: 'DoWorkAnswer:RINCON_000E585AE0C001400_MR:LastActionResult:PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"'
    2017.08.27 13:02:41 4: SONOS0: DoWorkAnswer arrived for Sonos_Buero->LastActionResult: 'PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"'
    2017.08.27 13:02:41 5: Starting notify loop for Sonos_Buero, 1 event(s), first is LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"


    Gruß
    Tom
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 27 August 2017, 13:56:18
    Hallo NickRivers,

    können deine Sonos-Boxen das von Dir angegebene Verzeichnis erreichen? Ich glaube eher nein. Versuche es einmal mit dem im Wiko angegebene mnt-Verzeichnis.
    VG
    Juergen
    Titel: Antw:Sonos steuern
    Beitrag von: NickRivers am 27 August 2017, 14:18:27
    Danke, einen Versuch war's Wert aber es klappt leider nicht :-(

    Ach ich habe es nun doch selbst herausgefunden. Es fehlte noch ein
    sudo chown fhem:dailout /mnt/SonosSpeak
    und nun klappt es :-D

    Gruß
    Tom
    Titel: Antw:Sonos steuern
    Beitrag von: Esjay am 28 August 2017, 18:47:16
    Hallo zusammen. Kurze Frage:
    Wenn ich drei Sonos Devices habe,(Playbase,2xPlay 1) und diese als Surround eingerichtet habe, würde es mich interessieren ob es möglich ist die Sprachausgabe auf nur eines der 3 wiederzugeben.Sprich ein play 1 spielt die Nachrichtab,die anderen beiden bleiben im "TV" Modus.
    Danke fürdie Hilfe.
    Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 28 August 2017, 19:47:34
    Zitat von: Esjay am 28 August 2017, 18:47:16
    Hallo zusammen. Kurze Frage:
    Wenn ich drei Sonos Devices habe,(Playbase,2xPlay 1) und diese als Surround eingerichtet habe, würde es mich interessieren ob es möglich ist die Sprachausgabe auf nur eines der 3 wiederzugeben.Sprich ein play 1 spielt die Nachrichtab,die anderen beiden bleiben im "TV" Modus.
    Danke fürdie Hilfe.
    Grüße

    Ja, da Du ja angeben musst, auf welchem GErät die Ausgabe erfolgt.
    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Esjay am 28 August 2017, 22:07:50
    Zitat von: juemuc am 28 August 2017, 19:47:34
    Ja, da Du ja angeben musst, auf welchem GErät die Ausgabe erfolgt.
    Viele Grüße
    Jürgen
    Ok,dann muss ich nochmal gucken.Hatte meine beiden Play 1 als Surround Paar zusammengeschlossen,und hatte dann auf einem der beiden ein Speak gesetzt. Ergebniss war,das es auf beiden abgespielt wurde. Jetzt habe ich mir eine Playbase gekauft,das ganze eingerichtet,und nun wird automatisch auf allen drein abgespielt.
    Danke für die Antwort. Deiner Signatur zu folge hast du ja einen ähnlichen Aufbau.
    Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: Esjay am 29 August 2017, 18:57:17
    Zitat von: juemuc am 28 August 2017, 19:47:34
    Ja, da Du ja angeben musst, auf welchem GErät die Ausgabe erfolgt.
    Viele Grüße
    Jürgen

    Hey, ich nochmal. Bist du dir sicher, dass das funktioniert? Bei mir will es partout nicht funktionieren.
    Hier mal meine jeweiligen list:
    Sonos Playbase:
    Internals:
       CFGFN
       DEF        RINCON_5CAAFD30B0F101400_MR
       NAME       Sonos_Wohnzimmer
       NOTIFYDEV  Sonos_Wohnzimmer
       NR         246
       NTFY_ORDER 50-Sonos_Wohnzimmer
       STATE      appeared ~ 0.0% (0:03:29 / )
       TYPE       SONOSPLAYER
       UDN        RINCON_5CAAFD30B0F101400_MR
       READINGS:
         2017-08-29 18:05:31   AlarmList       {}
         2017-08-29 18:05:31   AlarmListIDs
         2017-08-29 18:05:31   AlarmListVersion RINCON_949F3E77C67401400:0
         2017-08-29 18:05:31   AlarmRunning    0
         2017-08-29 18:05:31   AlarmRunningID
         2017-08-29 18:05:32   AudioDelay      0
         2017-08-29 18:05:32   AudioDelayLeftRear 1
         2017-08-29 18:05:32   AudioDelayRightRear 1
         2017-08-29 18:05:31   AvailablePlayer []
         2017-08-29 18:05:26   Balance         0
         2017-08-29 18:05:32   Bass            0
         2017-08-29 18:05:31   CrossfadeMode   0
         2017-08-29 18:05:31   DailyIndexRefreshTime
         2017-08-29 18:15:43   DialogLevel     0
         2017-08-29 18:05:31   DirectControlAccountID
         2017-08-29 18:05:31   DirectControlClientID
         2017-08-29 18:05:31   DirectControlIsSuspended 0
         2017-08-29 18:05:32   FavouritesVersion RINCON_5CAAFD30B0F101400,0
         2017-08-29 18:05:56   GroupMute       0
         2017-08-29 18:23:57   GroupVolume     36
         2017-08-29 18:05:31   HeadphoneConnected 0
         2017-08-29 18:05:26   IsBonded        0
         2017-08-29 18:05:26   IsMaster        1
         2017-08-29 18:23:47   LastActionResult PlayURITemp: Success!
         2017-08-29 18:05:32   Loudness        1
         2017-08-29 18:05:31   MasterPlayer    Sonos_Wohnzimmer
         2017-08-29 18:05:55   Mute            0
         2017-08-29 18:15:49   NightMode       0
         2017-08-29 18:05:32   OutputFixed     0
         2017-08-29 18:05:32   PlaylistsVersion RINCON_5CAAFD30B0F101400,0
         2017-08-29 18:05:32   QueueHash       38f0c6306522b7ab804d5f6c8cccc6a8
         2017-08-29 18:05:32   QueueVersion    2
         2017-08-29 18:05:32   RadiosVersion   RINCON_5CAAFD30B0F101400,0
         2017-08-29 18:05:31   Repeat          0
         2017-08-29 18:05:31   RepeatOne       0
         2017-08-29 18:05:31   Shuffle         0
         2017-08-29 18:05:26   SlavePlayer     []
         2017-08-29 18:05:26   SlavePlayerNotBonded []
         2017-08-29 18:05:31   SleepTimer      off
         2017-08-29 18:05:31   SleepTimerVersion
         2017-08-29 18:05:32   SubEnable       1
         2017-08-29 18:05:32   SubGain         0
         2017-08-29 18:05:32   SubPolarity     0
         2017-08-29 18:05:32   SurroundEnable  1
         2017-08-29 18:13:47   SurroundLevel   0
         2017-08-29 18:05:32   Treble          0
         2017-08-29 18:05:32   TruePlay        0
         2017-08-29 18:23:57   Volume          36
         2017-08-29 18:05:31   ZoneGroupID     RINCON_5CAAFD30B0F101400:__
         2017-08-29 18:05:31   ZoneGroupNameDetails
         2017-08-29 18:23:58   currentAlbum    Wohnzimmer
         2017-08-29 18:23:58   currentAlbumArtURL /fhem/sonos/cover/input_tv.jpg
         2017-08-29 18:23:58   currentAlbumArtist
         2017-08-29 18:23:58   currentArtist
         2017-08-29 18:23:58   currentEnqueuedTransportHandle |
         2017-08-29 18:23:58   currentEnqueuedTransportURI
         2017-08-29 18:05:31   currentFavouriteName
         2017-08-29 18:05:26   currentNormalAudio 1
         2017-08-29 18:05:31   currentOriginalTrackNumber
         2017-08-29 18:05:31   currentPlaylistName
         2017-08-29 18:05:31   currentRadioName
         2017-08-29 18:05:31   currentSender
         2017-08-29 18:05:31   currentSenderCurrent
         2017-08-29 18:05:31   currentSenderInfo
         2017-08-29 18:05:31   currentSource
         2017-08-29 18:07:37   currentStreamAudio 0
         2017-08-29 18:23:58   currentTitle    SPDIF-Wiedergabe
         2017-08-29 18:05:26   currentTrack    1
         2017-08-29 18:23:58   currentTrackDuration
         2017-08-29 18:23:58   currentTrackDurationSec 0
         2017-08-29 18:23:59   currentTrackHandle x-sonos-htastream:RINCON_5CAAFD30B0F101400:spdif|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-sonos-htastream:*:*:*">x-sonos-htastream:RINCON_5CAAFD30B0F101400:spdif</res><r:audioInputIcon></r:audioInputIcon><r:streamInfo>2</r:streamInfo><dc:title> </dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
         2017-08-29 18:37:10   currentTrackPosition 0:00:00
         2017-08-29 18:37:10   currentTrackPositionSec 0
         2017-08-29 18:40:39   currentTrackPositionSimulated 0:03:29
         2017-08-29 18:23:56   currentTrackPositionSimulatedPercent 0.0
         2017-08-29 18:40:39   currentTrackPositionSimulatedSec 209
         2017-08-29 18:23:58   currentTrackProvider SPDIF-Wiedergabe: Wohnzimmer
         2017-08-29 18:23:58   currentTrackProviderIconQuadraticURL /fhem/sonos/cover/playbar_quadratic.jpg
         2017-08-29 18:23:58   currentTrackProviderIconRoundURL /fhem/sonos/cover/playbar_round.png
         2017-08-29 18:23:58   currentTrackURI x-sonos-htastream:RINCON_5CAAFD30B0F101400:spdif
         2017-08-29 18:05:26   fieldType       LF_RF
         2017-08-29 18:23:58   infoSummarize1   'SPDIF-Wiedergabe' vom Album 'Wohnzimmer'
         2017-08-29 18:23:58   infoSummarize2  PLAYING =>  'SPDIF-Wiedergabe' vom Album 'Wohnzimmer'
         2017-08-29 18:23:58   infoSummarize3  Lautstärke: 36 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2017-08-29 18:05:31   infoSummarize4
         2017-08-29 18:05:26   location        http://192.168.178.82:1400/xml/device_description.xml
         2017-08-29 18:05:31   nextAlbum
         2017-08-29 18:05:31   nextAlbumArtURL /fhem/sonos/cover/empty.jpg
         2017-08-29 18:05:31   nextAlbumArtist
         2017-08-29 18:05:31   nextArtist
         2017-08-29 18:05:31   nextOriginalTrackNumber
         2017-08-29 18:05:31   nextTitle
         2017-08-29 18:05:31   nextTrackDuration
         2017-08-29 18:05:31   nextTrackDurationSec
         2017-08-29 18:05:31   nextTrackHandle |
         2017-08-29 18:05:31   nextTrackProvider
         2017-08-29 18:05:31   nextTrackProviderIconQuadraticURL
         2017-08-29 18:05:31   nextTrackProviderIconRoundURL
         2017-08-29 18:05:31   nextTrackURI
         2017-08-29 18:05:26   numberOfTracks  1
         2017-08-29 18:05:26   playerType      S11
         2017-08-29 18:05:26   presence        appeared
         2017-08-29 18:05:32   roomIcon        living
         2017-08-29 18:05:26   roomName        Wohnzimmer
         2017-08-29 18:05:26   roomNameAlias   Wohnzimmer - Mitte
         2017-08-29 18:05:26   saveRoomName    Wohnzimmer
         2017-08-29 18:05:26   serialNum       5C-AA-FD-30-B0-F1:4
         2017-08-29 18:05:26   softwareRevision 7.4
         2017-08-29 18:23:58   state           PLAYING
         2017-08-29 18:23:58   transportState  PLAYING
       helper:
         simulateCurrentTrackPosition 1
    Attributes:
       alias      Wohnzimmer - Mitte
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       getTitleInfoFromMaster 1
       group      Wohnzimmer
       icon       icoSONOSPLAYER_icon-S11.png
       minVolume  0
       model      Sonos_S11
       room       Sonos
       simulateCurrentTrackPosition 1
       sortby     1
       stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Queue:LastActionResult.*?GetQueueWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }
       webCmd     Volume


    Play 1 rechts:
    Internals:
       CFGFN
       DEF        RINCON_949F3E77C9EC01400_MR
       NAME       Sonos_Wohnzimmer_RR
       NOTIFYDEV  Sonos_Wohnzimmer_RR
       NR         244
       NTFY_ORDER 50-Sonos_Wohnzimmer_RR
       STATE      appeared ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
       TYPE       SONOSPLAYER
       UDN        RINCON_949F3E77C9EC01400_MR
       READINGS:
         2017-08-29 18:05:26   AlarmList       {}
         2017-08-29 18:05:26   AlarmListIDs
         2017-08-29 18:05:26   AlarmListVersion RINCON_949F3E77C67401400:0
         2017-08-29 18:05:31   AvailablePlayer ['Sonos_Wohnzimmer']
         2017-08-29 18:05:24   Balance         0
         2017-08-29 18:05:26   DailyIndexRefreshTime
         2017-08-29 18:05:24   IsBonded        1
         2017-08-29 18:05:24   IsMaster        0
         2017-08-29 18:07:23   LastActionResult CheckProxyObject-ERROR: SonosPlayer disappeared?
         2017-08-29 18:07:23   MasterPlayer    Sonos_Wohnzimmer_RR
         2017-08-29 18:05:24   SlavePlayer     []
         2017-08-29 18:05:24   SlavePlayerNotBonded []
         2017-08-29 18:05:24   Volume          34
         2017-08-29 18:05:31   ZoneGroupID     RINCON_5CAAFD30B0F101400:__
         2017-08-29 18:05:31   ZoneGroupNameDetails
         2017-08-29 18:05:24   fieldType       RR
         2017-08-29 18:05:24   location        http://192.168.178.80:1400/xml/device_description.xml
         2017-08-29 18:05:24   playerType      S12
         2017-08-29 18:05:24   presence        appeared
         2017-08-29 18:05:31   roomIcon        living
         2017-08-29 18:05:24   roomName        Wohnzimmer
         2017-08-29 18:05:24   roomNameAlias   Wohnzimmer - Hinten Rechts
         2017-08-29 18:07:23   saveRoomName    Wohnzimmer
         2017-08-29 18:05:24   serialNum       94-9F-3E-77-C9-EC:6
         2017-08-29 18:05:24   softwareRevision 7.4
         2017-08-29 18:05:23   state           initialized
       helper:
         simulateCurrentTrackPosition 0
    Attributes:
       alias      Wohnzimmer - Hinten Rechts
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       getTitleInfoFromMaster 1
       group      Wohnzimmer
       icon       icoSONOSPLAYER_icon-S12.png
       minVolume  0
       model      Sonos_S12
       room       Sonos
       simulateCurrentTrackPosition 1
       sortby     1
       stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Queue:LastActionResult.*?GetQueueWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }
       webCmd     Volume


    Play1 links:
    Internals:
       CFGFN
       DEF        RINCON_949F3E77C67401400_MR
       NAME       Sonos_Wohnzimmer_LR
       NOTIFYDEV  Sonos_Wohnzimmer_LR
       NR         252
       NTFY_ORDER 50-Sonos_Wohnzimmer_LR
       STATE      appeared ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
       TYPE       SONOSPLAYER
       UDN        RINCON_949F3E77C67401400_MR
       READINGS:
         2017-08-29 18:05:31   AlarmList       {}
         2017-08-29 18:05:31   AlarmListIDs
         2017-08-29 18:05:31   AlarmListVersion RINCON_949F3E77C67401400:0
         2017-08-29 18:05:31   AvailablePlayer ['Sonos_Wohnzimmer']
         2017-08-29 18:05:31   Balance         0
         2017-08-29 18:05:31   DailyIndexRefreshTime
         2017-08-29 18:05:31   IsBonded        1
         2017-08-29 18:05:31   IsMaster        0
         2017-08-29 18:09:02   LastActionResult CheckProxyObject-ERROR: SonosPlayer disappeared?
         2017-08-29 18:09:02   MasterPlayer    Sonos_Wohnzimmer_LR
         2017-08-29 18:05:31   SlavePlayer     []
         2017-08-29 18:05:31   SlavePlayerNotBonded []
         2017-08-29 18:05:31   Volume          34
         2017-08-29 18:05:31   ZoneGroupID     RINCON_5CAAFD30B0F101400:__
         2017-08-29 18:05:31   ZoneGroupNameDetails
         2017-08-29 18:05:31   fieldType       LR
         2017-08-29 18:05:31   location        http://192.168.178.81:1400/xml/device_description.xml
         2017-08-29 18:05:31   playerType      S12
         2017-08-29 18:05:31   presence        appeared
         2017-08-29 18:05:31   roomIcon        living
         2017-08-29 18:05:31   roomName        Wohnzimmer
         2017-08-29 18:05:31   roomNameAlias   Wohnzimmer - Hinten Links
         2017-08-29 18:09:02   saveRoomName    Wohnzimmer
         2017-08-29 18:05:31   serialNum       94-9F-3E-77-C6-74:2
         2017-08-29 18:05:31   softwareRevision 7.4
         2017-08-29 18:05:30   state           initialized
       helper:
         simulateCurrentTrackPosition 0
    Attributes:
       alias      Wohnzimmer - Hinten Links
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       getTitleInfoFromMaster 1
       group      Wohnzimmer
       icon       icoSONOSPLAYER_icon-S12.png
       minVolume  0
       model      Sonos_S12
       room       Sonos
       simulateCurrentTrackPosition 1
       sortby     1
       stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Queue:LastActionResult.*?GetQueueWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }
       webCmd     Volume


    Muss ich über fhem noch irgendwelche Gruppen bilden, damit das funktioniert? Egal auf welches Device ich den Speak befehl schicke, er kommt immer bei allen Drei an.

    Ursprünglicher Beitrag:
    Zitat von: Esjay am 28 August 2017, 18:47:16
    Hallo zusammen. Kurze Frage:
    Wenn ich drei Sonos Devices habe,(Playbase,2xPlay 1) und diese als Surround eingerichtet habe, würde es mich interessieren ob es möglich ist die Sprachausgabe auf nur eines der 3 wiederzugeben.Sprich ein play 1 spielt die Nachricht ab,die anderen beiden bleiben im "TV" Modus.
    Danke für die Hilfe.
    Grüße


    Danke
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 30 August 2017, 20:43:43
    Hi zusammen,

    ich bin auch mal wieder im Lande und versuche mich mal langsam an einer Durchsicht... mal schauen ob das was wird :)

    Zu dem letzten Thema von Esjay:
    In einer Gruppierung werden alle Befehle grundsätzlich immer an den Gruppenmaster gesendet. Es ist nicht möglich innerhalb einer Gruppierung (und die Playbar-Satelliten bilden auch eine Art Gruppe) auf den einzelnen Playern etwas unterschiedliches abzuspielen.

    Dazu muss die Gruppierung zunächst abgebaut werden. Diese Satellitengruppierungen kann man aber nicht mittels des Moduls machen. Dort kann man nur einfache Stereopaarungen auf- und abbauen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: ToM_ToM am 07 September 2017, 09:10:17
    Hallo Zusammen,

    mir ist die letzten Tage aufgefallen dass immer wenn ich mit meinem SonosDevice aus FHEM heraus einen Play-Befehl absetze, FHEM erst mal auf 100% läuft (für ca. 10 bis 30 Sekunden).
    Egal ob nur Play, PlayURI, PlayURITemp, etc...
    Musik spielt zwar sofort los, aber es wird erst mal alles kurzfristig blockiert.

    Hat dies noch jemand beobachten können oder kann das jemand reproduzieren oder erklären?

    VG, Thomas
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 08 September 2017, 08:55:29
    Grundsätzlich ja, perfmon meldet bei mir relativ oft freezes nach Sonos Befehlen.
    Tritt auch erst seit den neueren Versionen in diesem Jahr auf, da gab es ja mal eine größere Überarbeitung.

    Bis auf 1-2 Abstürze des Moduls pro Tag läuft es aber "relativ" stabil. ;)
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 08 September 2017, 23:23:18
    Hallo,

    wie kann ich erkennen, ob nach einen FHEM-Restart ein Sonos-Player schon Musik abspielt?

    Das nachfolgende DOIF erkennt leider nicht, dass der Player schon "spielt". Die Befehle (hier mit "Befehlsfolge" bezeichnet) werden immer ausgeführt.
    (["Sonos_Buero:appeared"])
    (if [Sonos_Buero:currentFavouriteName] eq "" and
        [Sonos_Buero:transportState] ne "PLAYING")
    (Befehlsfolge)

    Hat jemand eine Idee? Ich möchte Aktionen durchführen, wenn die Box stromlos war aber nicht bei einem FHEM-Restart.

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 08 September 2017, 23:34:16
    Hi Jürgen,

    ich habe das über ein Notify gelöst:

    Sonos_Schlafzimmer:presence:.appeared {
      if (ReadingsVal("Sonos_Schlafzimmer", "currentTrackURI", "") eq "") {
        fhem "set Sonos_Schlafzimmer LoadRadio Kuschel%20FM ; set Sonos_Schlafzimmer Volume 1"
      }
    }


    Damit wird sichergestellt, dass beim Anschalten des Players immer etwas geladen wird, und die Lautstärke passt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 09 September 2017, 19:52:09
    Zitat von: Reinerlein am 08 September 2017, 23:34:16
    Hi Jürgen,

    ich habe das über ein Notify gelöst:

    Sonos_Schlafzimmer:presence:.appeared {
      if (ReadingsVal("Sonos_Schlafzimmer", "currentTrackURI", "") eq "") {
        fhem "set Sonos_Schlafzimmer LoadRadio Kuschel%20FM ; set Sonos_Schlafzimmer Volume 1"
      }
    }


    Damit wird sichergestellt, dass beim Anschalten des Players immer etwas geladen wird, und die Lautstärke passt...

    Grüße
    Reiner

    Hallo Reiner,
    und bei einen Shutdown restart passiert nichts?
    Bei mir werden die Befehl auch dann ausgeführt. Dies hat zur Folge, das eine Sonos-Box im Status "PLAYING" bei mir dann gestoppt wird.

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 09 September 2017, 20:22:53
    Hi Reiner,

    ich habe noch ein großes Problem:
    Der Aufruf von
    set Sonos_Buero PlayURITemp
        \\raspberrypi\SonosSpeak\Die_Balkontuer_ist_offen.mp3
          15

    funktioniert ohne Probleme in der Befehlszeile. In einem DOIF wird nur die Laustärke der Sonos-Box auf 15 gesetzt.
    defmod Tuer_Fenster_DOIF DOIF ([HM_56B2D0:state] eq "open")\
    (IF ([HM_56BA54:state] eq "open")\
       (set Sonos_Buero PlayURITemp \
        \\raspberrypi\SonosSpeak\Das_Schlafzimmerfenster_ist_offen.mp3\
          15 ))\
    (IF ([HM_50F361:state] ne "closed")\
       (set Sonos_Buero PlayURITemp \
        \\raspberrypi\SonosSpeak\Die_Balkontuer_ist_offen.mp3\
          15 ) )
    attr Tuer_Fenster_DOIF do always


    Zusätzlich kommt die Meldung:
    Zitat2017.09.09 20:18:23 1: SONOS1: Da keine Endzeit ermittelt werden konnte, wird kein Restoring durchgeführt werden!

    Hast Du eine Idee?

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 09 September 2017, 21:27:00
    Zitat von: juemuc am 09 September 2017, 20:22:53
    Hi Reiner,

    ich habe noch ein großes Problem:
    Der Aufruf von
    set Sonos_Buero PlayURITemp
        \\raspberrypi\SonosSpeak\Die_Balkontuer_ist_offen.mp3
          15

    funktioniert ohne Probleme in der Befehlszeile. In einem DOIF wird nur die Laustärke der Sonos-Box auf 15 gesetzt.
    defmod Tuer_Fenster_DOIF DOIF ([HM_56B2D0:state] eq "open")\
    (IF ([HM_56BA54:state] eq "open")\
       (set Sonos_Buero PlayURITemp \
        \\raspberrypi\SonosSpeak\Das_Schlafzimmerfenster_ist_offen.mp3\
          15 ))\
    (IF ([HM_50F361:state] ne "closed")\
       (set Sonos_Buero PlayURITemp \
        \\raspberrypi\SonosSpeak\Die_Balkontuer_ist_offen.mp3\
          15 ) )
    attr Tuer_Fenster_DOIF do always


    Zusätzlich kommt die Meldung:
    Hast Du eine Idee?

    Zusatzinfo:
    Ich nutze nicht set Sonos_Buero Speak 15 de |Die_Balkontuer_ist_offen.mp3| weil danach bei einem "ausgeschalteten" Sonosplayer genau dieses mp3-file zum Abspielen stehen bleibt und nicht das was vorher war. Bei einem "laufenden" Sonosplayer funktioniert es mit "Speak".

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 10 September 2017, 08:42:48
    Bei mir gibt das SONOS Modul auch seit gestern wieder mal Vollgas. Meist funktioniert ja alles ganz gut, aber zwischendurch hat es mal so Phasen, da geht dann auch wieder mal gar nichts. :)
    2. Tag nacheinander, wo FHEM wegen Out-of-Memory nach einer Latte an SONOS Fehlermeldungen abstürzt:

    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3562, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3614, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3692, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3816, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3891, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3897, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3903, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3913, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3929, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3935, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3939, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3945, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3951, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3955, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4011, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4037, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4077, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4082, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4299, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4311, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4339, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4348, <$client> line 6.
    Use of uninitialized value $workType in pattern match (m//) at ./FHEM/00_SONOS.pm line 4357, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4448, <$client> line 6.
    Use of uninitialized value $workType in ucfirst at ./FHEM/00_SONOS.pm line 4451, <$client> line 6.
    Use of uninitialized value $udn in concatenation (.) or string at ./FHEM/00_SONOS.pm line 5634, <$client> line 6.
    2017.09.10 08:17:51 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_getSonosPlayerByUDN" at ./FHEM/00_SONOS.pm line 10002.
    2017.09.10 08:17:51 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_Log" at ./FHEM/00_SONOS.pm line 9753.
    Out of memory!
    Titel: Antw:Sonos steuern
    Beitrag von: anpfeiffer am 11 September 2017, 17:42:08
    Da hab ich auch was zu bieten. Seitdem ich den Nanoleaf Aurora habe, wird mein Log-File mit der Meldung:

    Loading device description failed with error: 422 Unprocessable Entity (Location: http://192.168.0.66:16021) at ./FHEM/00_SONOS.pm line 2463 thread 1.

    zugemüllt. Offensichtlich hält das SonosModul das für einen möglichen Sonos-Lautsprecher und bekommt dann die Antwort 422
    Kann ich das irgendwie verhindern?

    Titel: Antw:Sonos steuern
    Beitrag von: l2r am 11 September 2017, 18:14:18
    attr Sonos usedonlyIPs <IPs deiner Sonosplayer, Kommagetrennt

    Gruß Michael
    Titel: Antw:Sonos steuern
    Beitrag von: anpfeiffer am 11 September 2017, 19:08:45
    Ja, Wissen ist Macht. Danke!
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 13 September 2017, 11:33:50
    Zitat von: Phiolin am 10 September 2017, 08:42:48
    Bei mir gibt das SONOS Modul auch seit gestern wieder mal Vollgas. Meist funktioniert ja alles ganz gut, aber zwischendurch hat es mal so Phasen, da geht dann auch wieder mal gar nichts. :)
    2. Tag nacheinander, wo FHEM wegen Out-of-Memory nach einer Latte an SONOS Fehlermeldungen abstürzt:

    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3562, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3614, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3692, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3816, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3891, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3897, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3903, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3913, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3929, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3935, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3939, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3945, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3951, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 3955, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4011, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4037, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4077, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4082, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4299, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4311, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4339, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4348, <$client> line 6.
    Use of uninitialized value $workType in pattern match (m//) at ./FHEM/00_SONOS.pm line 4357, <$client> line 6.
    Use of uninitialized value $workType in string eq at ./FHEM/00_SONOS.pm line 4448, <$client> line 6.
    Use of uninitialized value $workType in ucfirst at ./FHEM/00_SONOS.pm line 4451, <$client> line 6.
    Use of uninitialized value $udn in concatenation (.) or string at ./FHEM/00_SONOS.pm line 5634, <$client> line 6.
    2017.09.10 08:17:51 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_getSonosPlayerByUDN" at ./FHEM/00_SONOS.pm line 10002.
    2017.09.10 08:17:51 1: PERL WARNING: Deep recursion on subroutine "main::SONOS_Log" at ./FHEM/00_SONOS.pm line 9753.
    Out of memory!


    genau DAS habe ich auch manchmal. Und ich bin völlig ratlos...
    https://forum.fhem.de/index.php/topic,76521.0.html
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 September 2017, 12:29:17
    Hi Tobias,

    aus irgendeinem Grunde scheint die Prozedur nicht mit korrekten Daten beliefert zu werden.

    Als erste Maßnahme könntest du nach Zeile 2503 (die mit der Zuweisung an $workType) eine Prüfung einbauen:

    return if (!defined($workType));


    Aber den Grund, warum da etwas falsch aufgerufen wird, bekommt man damit auch nicht raus...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 15 September 2017, 23:21:10
    Hallo,

    ich würde gerne über die Lautsärke-Buttons den Sender(Favoriten) wechseln. Hierzu habe ich folgende Definitionen:defmod Buero_Favoriten_V_DOIF DOIF ([Sonos_Buero:"UD"]) \
    ({my @fav = split(/\|/, \
                "[Sonos_Buero:FavouritesListAlias]");;;;\
    my $pos = SONOS_posInList("[currentFavouriteName_Buero]",\
       @fav);;;;\
    my $anz=$#fav;;;;\
    if ($pos < $anz)\
       {$pos=$pos+1}\
    else\
       {$pos=0};;;;\
    my $next_current_favorit=$fav["$pos"];;;;\
    my $ncf = urlEncode($next_current_favorit);;;;\
    fhem("set Sonos_Buero StartFavourite $ncf")})
    attr Buero_Favoriten_V_DOIF do always

    und defmod Buero_Favoriten_Z_DOIF DOIF ([Sonos_Buero:"DU"]) \
    ({my @fav = split(/\|/, \
                "[Sonos_Buero:FavouritesListAlias]");;;;\
    my $pos = SONOS_posInList("[currentFavouriteName_Buero]",\
       @fav);;;;\
    my $anz=$#fav;;;;\
    if ($pos > 0)\
       {$pos=$pos-1}\
    else\
       {$pos=$anz};;;;\
    my $next_current_favorit=$fav["$pos"];;;;\
    my $ncf = urlEncode($next_current_favorit);;;;\
    fhem("set Sonos_Buero StartFavourite $ncf")})
    attr Buero_Favoriten_Z_DOIF do always


    Leider funktioniert dies nur einmal. Im Eventlog wird auch beim 2. mal kein "UD" oder "DU" Ereignis angezeigt.
    Sieht jemand den Fehler.

    Viele Grüße
    Jürgen 
    Titel: Antw:Sonos steuern
    Beitrag von: math78 am 19 September 2017, 17:16:29
    Hallo,

    kann mir jemand bei folgendem Fehler im Log helfen:
    PERL WARNING: Redundant argument in sprintf at ./FHEM/00_SONOS.pm line 574.
    2017.09.19 17:12:17 1: stacktrace:
    2017.09.19 17:12:17 1:     main::__ANON__                      called by ./FHEM/00_SONOS.pm (574)
    2017.09.19 17:12:17 1:     main::SONOS_getTitleRG              called by ./FHEM/00_SONOS.pm (525)
    2017.09.19 17:12:17 1:     main::SONOS_getCoverTitleRG         called by (eval 45742) (1)
    2017.09.19 17:12:17 1:     (eval)                              called by ./FHEM/33_readingsGroup.pm (861)
    2017.09.19 17:12:17 1:     main::readingsGroup_2html           called by ./FHEM/33_readingsGroup.pm (1207)
    2017.09.19 17:12:17 1:     main::readingsGroup_detailFn        called by ./FHEM/01_FHEMWEB.pm (3078)
    2017.09.19 17:12:17 1:     main::FW_devState                   called by ./FHEM/01_FHEMWEB.pm (1690)
    2017.09.19 17:12:17 1:     main::FW_makeDeviceLine             called by ./FHEM/01_FHEMWEB.pm (1852)
    2017.09.19 17:12:17 1:     main::FW_showRoom                   called by ./FHEM/01_FHEMWEB.pm (1065)
    2017.09.19 17:12:17 1:     main::FW_answerCall                 called by ./FHEM/01_FHEMWEB.pm (548)
    2017.09.19 17:12:17 1:     main::FW_Read                       called by fhem.pl (3448)
    2017.09.19 17:12:17 1:     main::CallFn                        called by fhem.pl (692)


    Kommt dauernd vor.

    Vielen Dank.

    Matthias
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 28 September 2017, 14:19:50
    Zitat von: Reinerlein am 13 September 2017, 12:29:17
    Hi Tobias,

    aus irgendeinem Grunde scheint die Prozedur nicht mit korrekten Daten beliefert zu werden.

    Als erste Maßnahme könntest du nach Zeile 2503 (die mit der Zuweisung an $workType) eine Prüfung einbauen:

    return if (!defined($workType));


    Aber den Grund, warum da etwas falsch aufgerufen wird, bekommt man damit auch nicht raus...

    Grüße
    Reiner

    Ich hab mal versucht, bei mir dahinter zu kommen.
    Daher habe ich in dieser Sub am Anfang die oben vorgeschlagene Prüfung und zusätzlich Log Output eingebaut "Invalid data passed to DoQueue...":

    sub SONOS_Discover_DoQueue($) {
            my ($data) = @_;

            my $workType = $data->{WorkType};
            if (!defined($workType)) {
                my $debugParam = join(q{, }, map{qq{$_ => $data{$_}}} keys %data);
                            SONOS_Log undef, 1, "Invalid data passed to DoQueue: $debugParam";
                            return;
           }


    Ich habe dann außerdem an der praktisch einzigen Stelle, wo vielleicht was beim enqueue der Tasks schieflaufen könnte, entsprechendes Logging eingebaut. Das scheint meines Erachtens in SONOS_Client_ConsumeMessage zu sein, wo um Zeile 10454 die Message DoWork anhand einer groben Regexp aufgesplittet wird. Hier habe ich entsprechend Log-Output eingebaut, um die Daten auszugeben, die in die Queue geschoben werden:

            } elsif ($msg =~ m/DoWork:(.*?):(.*?):(.*)/i) {
                    my %data;
                    $data{WorkType} = $2;
                    $data{UDN} = $1;

                    if (defined($3)) {
                            my @params = split(/--#--/, decode_utf8($3));
                            $data{Params} = \@params;
                    } else {
                            my @params = ();
                            $data{Params} = \@params;
                    }

                    # Auf die Queue legen wenn Thread läuft und Signalhandler aufrufen, wenn er nicht sowieso noch läuft...
                    if ($SONOS_Thread != -1) {
                            SONOS_Log undef, 1, "Enqueing work task: msg: $msg";
                            SONOS_Log undef, 1, "Further debug data: worktype: $2";
                            SONOS_Log undef, 1, "Further debug data: UDN: $1";
                            SONOS_Log undef, 1, "Further debug data: params: $3";
                            $SONOS_ComObjectTransportQueue->enqueue(\%data);
                            #threads->object($SONOS_Thread)->kill('HUP') if ($SONOS_ComObjectTransportQueue->pending() == 1);
                    }


    Anhand der Timestamps im Log kann ich nun zumindest zuordnen, dass es in der Regel die refreshProcessAnswer Requests sind, die irgendwo "verloren" gehen. Hier einige Auszüge:

    Hier 3 aufeinanderfolgende refreshProcessAnswer tasks, bei denen der mittlere um 17:46:46 aus unerfindlichen Gründen offenbar "verloren" geht, wie man an der "Invalid data" Fehlermeldung erkennen kann:

    2017.09.26 17:46:16 1: SONOS0: Enqueing work task: msg: DoWork:undef:refreshProcessAnswer:
    2017.09.26 17:46:16 1: SONOS0: Further debug data: worktype: refreshProcessAnswer
    2017.09.26 17:46:16 1: SONOS0: Further debug data: UDN: undef
    2017.09.26 17:46:16 1: SONOS0: Further debug data: params:
    2017.09.26 17:46:46 1: SONOS0: Enqueing work task: msg: DoWork:undef:refreshProcessAnswer:
    2017.09.26 17:46:46 1: SONOS0: Further debug data: worktype: refreshProcessAnswer
    2017.09.26 17:46:46 1: SONOS0: Further debug data: UDN: undef
    2017.09.26 17:46:46 1: SONOS0: Further debug data: params:
    2017.09.26 17:46:46 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 17:47:16 1: SONOS0: Enqueing work task: msg: DoWork:undef:refreshProcessAnswer:
    2017.09.26 17:47:16 1: SONOS0: Further debug data: worktype: refreshProcessAnswer
    2017.09.26 17:47:16 1: SONOS0: Further debug data: UDN: undef
    2017.09.26 17:47:16 1: SONOS0: Further debug data: params:


    Hier noch ein Beispiel, wieder ist es vermutlich der refreshProcessAnswer Task, der irgendwie nicht ankommt:

    2017.09.26 13:32:09 1: SONOS0: Enqueing work task: msg: DoWork:undef:refreshProcessAnswer:
    2017.09.26 13:32:09 1: SONOS0: Further debug data: worktype: refreshProcessAnswer
    2017.09.26 13:32:09 1: SONOS0: Further debug data: UDN: undef
    2017.09.26 13:32:09 1: SONOS0: Further debug data: params:
    2017.09.26 13:32:09 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 13:32:21 3: SONOS4: Transport-Subscription for ZonePlayer "RINCON_949F3E85047601400_MR" has expired and is now renewed.


    Das lässt sich so beliebig fortsetzen.
    Durchschnittlich wird die sub SONOS_Discover_DoQueue an manchen Tagen bei mir alle paar Minuten aufgerufen, ohne das valide Parameter dabei übergeben werden. Meistens ist dann ein Restart, in der Regel des kompletten FHEM Prozesses, in Kürze unumgänglich.
    An anderen Tagen dagegen sehe ich gar keine Probleme. Offenbar dauert es immer erst ein paar Tage, bevor irgendwas das SONOS Modul durcheinanderbringt. Dann ist allerdings meistens auch ein Restart die einzige Lösung.
    Hier noch ein grep auf "Invalid data passed to DoQueue" aus meinem Log, nur um zu zeigen, dass es Tage gibt, an denen es absolut gar kein Problem gibt, und dann wieder Tage, wo das stark gehäuft auftritt. Die Tageszeit scheint dabei nur eine untergeordnete Rolle zu spielen. In der Regel sind meine SONOS Boxen eigentlich idle, ich verwende aktuell nur wenige Sprach-Meldungen, hauptsächlich morgens beim Wecken und Abends zum Schlafen gehen. Die Fehler treten aber eher den ganzen Tag über auf, wenn es denn erst mal begonnen hat:

    2017.09.20 06:49:45 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 08:02:04 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 08:06:35 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 08:34:42 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 09:12:43 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 09:38:47 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 09:41:47 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 10:50:42 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 10:58:13 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 11:24:43 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 11:44:44 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 11:57:14 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 12:03:44 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 12:12:24 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 12:18:24 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 12:27:24 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 12:43:04 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 12:59:38 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 13:14:37 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 13:19:23 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 13:21:44 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 14:32:16 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 14:38:46 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 15:13:47 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 16:16:49 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 16:31:49 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 17:08:20 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 17:13:50 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 17:50:51 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 18:22:18 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 18:52:48 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 19:03:49 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 19:46:50 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 20:12:20 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 20:14:20 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 20:35:51 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 20:38:21 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 21:00:52 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 21:18:22 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 21:23:22 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 21:23:52 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 21:43:14 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 22:09:45 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 22:14:15 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 22:52:45 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.20 23:24:49 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.20 23:37:19 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.21 00:11:50 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.21 01:02:51 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.21 01:37:52 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.21 02:02:53 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.21 02:39:54 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.21 02:45:54 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.21 02:56:54 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.21 03:06:24 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.21 03:46:26 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.21 03:51:26 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.21 04:41:27 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.21 06:11:51 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.21 06:28:25 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 07:08:46 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 07:14:11 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 07:24:10 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 07:36:45 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 07:44:33 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 08:12:38 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 08:37:29 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 08:43:24 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 09:13:32 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 09:21:32 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 09:35:02 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 09:40:33 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 09:47:03 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 10:34:34 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 10:44:34 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 10:49:34 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 10:59:35 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 11:11:05 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 11:45:36 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 12:21:37 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 12:32:07 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 12:36:07 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 13:32:09 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 13:42:09 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 14:12:40 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 14:13:10 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 14:23:40 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 14:48:11 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 15:10:42 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 15:29:12 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 16:07:14 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 16:11:14 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 16:15:14 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 16:24:44 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 16:25:14 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 16:36:14 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 16:50:15 1: SONOS1: Invalid data passed to DoQueue:
    2017.09.26 17:34:46 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 17:37:16 1: SONOS4: Invalid data passed to DoQueue:
    2017.09.26 17:46:46 1: SONOS1: Invalid data passed to DoQueue:


    Ebenfalls habe ich übrigens das Problem, dass auch in anderen SONOS Threads schon mal erwähnt wurde, dass SONOS Speak Meldungen entweder teilweise unvollständig abgespielt werden oder direkt 2 mal hintereinander, und das völlig ohne ersichtlichen Grund.
    Wie bei den verloren Daten erweckt das manchmal das Gefühl, als würden hier mehrere Threads gleichzeitig arbeiten und sich gegenseitig in die Quere kommen. Es läuft aber definitiv nur 1 SONOS Prozess auf meinem System - was aber natürlich nicht ausschließt, dass der vielleicht im Hintergrund doch einen Thread zuviel erstellt hat und die beiden sich gegenseitig um die Daten aus der Queue kloppen? :)
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 September 2017, 18:16:27
    Hi Phiolin,

    danke für diese Untersuchung. Das Verhalten bleibt echt komisch.

    Ich habe jetzt mal das Herausholen aus der Queue verändert. Vorher habe ich nur den obersten Wert ermittelt, dann verarbeitet, und dann erst von der Queue genommen.
    Jetzt hole ich gleich den obersten Wert konsumierend aus der Queue, und verarbeite ihn. Damit können keine Reste übrigbleben, die vor allem auch gar nicht von irgendeinem anderen Thread fehlerhaft verschlungen werden können...

    Ich prüfe das mal bei mir, und checke es dann ein... mal schauen, ob es dann schon etwas besser wird...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 September 2017, 23:57:01
    Hi Phiolin,

    soo, habe jetzt eine Version eingecheckt, die die Schlange anders verarbeitet... prüf doch bitte mal, ob es so besser geht.

    Außerdem habe ich das sprintf umgebaut. @Matthias, kannst du mal schauen, ob die Meldungen dazu immer noch kommen?

    Danke schon mal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 29 September 2017, 08:33:46
    Ok, Update durchgeführt. Dann schauen wir mal. :)
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 01 Oktober 2017, 11:11:07
    HI,
    hab seit langem mal wieder ein UPdate gemacht und die Sonsos Module aktualisiert.
    Diese Meldungen habe ich manchmal im Log nach einem Restart, sind die bekannt?
    Use of uninitialized value $value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 10214, <$client> line 4.
    Use of uninitialized value $value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 10218, <$client> line 4.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Oktober 2017, 11:49:58
    Ho Tobias,

    noch nicht so direkt :). Ich habe jetzt eine entsprechende Prüfung eingebaut...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: math78 am 02 Oktober 2017, 13:14:33
    Hallo Reiner,

    die Fehlermeldung "PERL WARNING: Redundant argument in sprintf at ./FHEM/00_SONOS.pm line 574" ist verschwunden.

    Dafür habe ich auch wie Tobias die neue Fehlermeldung "Use of uninitialized value $value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 10214, <$client> line 8".

    Hast du da schon eine Idee?

    LG
    Matthias
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Oktober 2017, 15:50:49
    Hi Matthias,

    wie geschrieben, habe ich da eine Prüfung eingebaut. Warum das überhaupt passiert, kann man damit leider nicht direkt herausfinden...

    Soll ich das einchecken? Lohnt sich ja irgendwie gar nicht :)
    Geht denn deswegen irgendwas nicht? Tobias schrieb dazu ja nichts...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: math78 am 02 Oktober 2017, 17:04:15
    Hallo,

    Funktionseinschränkungen habe ich zur Zeit keine, nur eben die Fehlermeldungen im Log. Vorwiegend nach dem Restart, manchmal auch zwischendurch.

    LG
    Matthias
    Titel: Antw:Sonos steuern
    Beitrag von: demaya am 04 Oktober 2017, 22:49:45
    Hallo,

    ich habe bemerkt, dass ein "." im Devicename zu folgender Fehlermeldung in der Raumübersicht oder auch in den Details zu einem Gerät führt:
    line 1:
    Uncaught SyntaxError: Unexpected token .


    Die Browser-Console führt mich dann zu der Zeile, die die ganze Darstellung des "Players" von Sonos übernimmt. Nach Umbenennen bzw. Entfernen des "." funktioniert alles einwandfrei. Meine Konvention sieht so aus, dass ich Punkte verwende. Aber vielleicht hat ja Jemand künftig auch das Problem und man könnte es generell fixen?

    Kann gerne als Versuchskaninchen herhalten :)

    Danke + Gruß
    demaya von demaya.de (http://demaya.de)
    Titel: Antw:Sonos steuern
    Beitrag von: FunkOdyssey am 05 Oktober 2017, 10:30:39
    Ich bin über etwas merkwürdiges gestolpert und das hat mich ein paar Tage beschäftigt. Bei mir laufen zwei Play1.

    Wenn ich in der Sonos-App innerhalb einer Playlist (Charts oder ähnliches) ein Song abspielen möchte, dann habe ich nur selten Glück, dass das gewünschte Lied abgespielt wird. Zu 99% springt die App immer zwischen den Tracks hin und her. Mit viel Glück höre ich ein paar Sekunden vom gewünschten Titel und dann wird wieder zurück zum ersten/vorherigen Titel gesprungen. Kein Muster erkennbar. Und es war auch egal, ob lokale Musik, AmazonMusic oder Spotify.

    Ich habe die Gruppierung, WLAN-Probleme usw. relativ schnell ausschließen können. Dann musste ich halt den Sonos-Support einschalten und Diagnoseinformationen zusenden. Relativ schnell erhielt ich die Info, dass sich ein Raspberry bei mir im Netz befindet, der alle paar Sekunden einen Suchbefehl sendet.

    Zu diesem Zeitpunkt hatte ich folgende Default-Konfiguration:
    define Sonos SONOS localhost:4711 60 10 10

    Attributes:
       bookmarkPlaylistDefinition SonosGruppe:(Sonos_Wohnzimmer|Sonos_Kueche)
       bookmarkSaveDir /opt/fhem/SonosBookmarks
       bookmarkTitleDefinition SonosGruppe:(Sonos_Wohnzimmer|Sonos_Kueche)
       deviceRoomView Both
       generateProxyAlbumArtURLs 1
       getListsDirectlyToReadings 1
       reusePort  1
       verbose    1


    In dem Augenblick, in dem ich das SONOS-Device deaktiviert habe, waren auch alle meine Probleme mit der Wiedergabe verschwunden.




    Ein Wechsel der Intervalle auf folgendes Define hat leider auch nicht geholfen:

    define Sonos SONOS localhost:4711 60 10 10




    Ursprünglich wollte ich (siehe: Zustand der Sonosplayer vor Ausschaltung einfrieren und wiederherstellen (https://forum.fhem.de/index.php/topic,76652.0.html)) die Sonos-Geräte ausschalten, wenn niemand mehr im Hause ist. Dieses Feature habe ich während der Fehlersuche bereits ausgeschaltet. Aber dennoch habe ich das Gefühl, dass der Fehler durch einmaliges Ausschalten provoziert werden kann.

    - Ich schalte die Player aus
    - Das SONOS-Device verbleibt aktiv in FHEM mitsamt der Child-Prozesse. (Ich ändere nichts an der FHEM-Konfiguration. Kein disable.)
    - Ich schalte die Player irgendwann wieder ein
    - und dann habe ich das Problem mit dem "Track-Skipping"




    Kennt jemand dieses Problem?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Oktober 2017, 11:26:20
    Hi FunkOdyssey,

    da wirst du immer noch irgendwo einen DoIf oder Notify haben, der auf deine gewünschte Trackänderung mit einem Wiederherstellen des Ursprungszustands reagiert.

    Ab einer gewissen Komplexität in der Landschaft sind Seiteneffekte nur schwer zu finden, und noch schwerer im Vorfeld erkennbar. Aber es ist unvermeidbar, dass man sich bei jedem DoIf oder Notify genau überlegen muss, auf welche Situationen es wirklich zutrifft. Meistens ist diese Treffermenge mehr oder weniger deutlich größer als das eigentlich gewünschte Ziel und kann sich im Zusammenspiel dann auch noch gegenseitig Aufrufen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: FunkOdyssey am 05 Oktober 2017, 14:16:45
    Ich kann das nachvollziehen, dass dies vermutet wird, aber ich kann garantieren, dass kein DOIF oder ähnliches die Sonos-Geräte anpackt.
    Mal schauen, ob ich den Fehler weiter eingrenzen kann und auch die Log-Stufe erhöhen kann.
    Erst einmal werde ich die Bookmark-Attribute wieder entfernen und die Intervalle hochdrehen.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Oktober 2017, 21:37:30
    Hallo demaya,

    ich habe das Problem zu dem Punkt-im-Devicenamen-Problem gelöst. Ist beim nächsten Einchecken dabei.
    Ich habe aber noch ein anderes Problem in der Mache, sodass ich das jetzt gerade nicht einchecken kann...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 11 Oktober 2017, 21:41:40
    Hi Reiner,

    habe in meinem Log das erste Mal dieses Perl Warning gefunden. Durch was es verursacht wird, weiß ich nicht.
    Vielleicht kannst du damit was anfangen?  :)

    2017.10.11 17:57:26 1: PERL WARNING: Argument "" isn't numeric in numeric ne (!=) at ./FHEM/00_SONOS.pm line 1550.
    2017.10.11 17:57:26 1: stacktrace:
    2017.10.11 17:57:26 1:     main::__ANON__                      called by ./FHEM/00_SONOS.pm (1550)
    2017.10.11 17:57:26 1:     main::SONOS_Read                    called by fhem.pl (3448)
    2017.10.11 17:57:26 1:     main::CallFn                        called by fhem.pl (692)


    Gruß,

    Fixel
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 11 Oktober 2017, 22:10:07
    Hi Fixel,

    welche Version hast du denn laufen. In der aktuellen Version gibt es in der Zeile 1550 keinen numerischen Vergleich (sondern einen Stringvergleich).

    Sonst poste mal ein paar Zeilen drumherum mit, dann finde ich die Stelle bestimmt auch so...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 12 Oktober 2017, 18:17:20
    1549-1555 sind die Folgenden Zeilen:

    # SimulatedValues aktualisieren, wenn ein Wechsel des Titels stattgefunden hat, und gerade keine Wiedergabe erfolgt...
    if (($current{TransportState} ne 'PLAYING')
    && (($oldTrackHandle ne $current{TrackHandle})
    || ($oldTrack != $current{Track})
    || ($oldTrackPosition ne $current{TrackPosition}))) {
    SONOSPLAYER_SimulateCurrentTrackPosition($hash);
    }




    Ich dachte eigentlich ich habe die neuste Version?

    $Id: 00_SONOS.pm 15151 2017-09-28 21:49:20Z Reinerlein $
    Titel: Antw:Sonos steuern
    Beitrag von: math78 am 13 Oktober 2017, 10:28:28
    Hallo,

    habe seit 2 Tagen dauernd folgende Fehlermeldungen:
    ZitatRenewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4072 thread 19.
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4048 thread 25.
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4096 thread 25.
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4168 thread 19.
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4192 thread 19.
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4168 thread 25.

    ZitatLoading device description failed with error: 500 write failed: Connection reset by peer (Location: http://192.168.0.5:55000/dmr/ddd.xml) at ./FHEM/00_SONOS.pm line 2443 thread 1.
    Loading device description failed with error: 500 write failed: Connection reset by peer (Location: http://192.168.0.5:55000/dmr/ddd.xml) at ./FHEM/00_SONOS.pm line 2443 thread 25.
    Loading device description failed with error: 500 Status read failed: Connection reset by peer (Location: http://192.168.0.5:55000/dmr/ddd.xml) at ./FHEM/00_SONOS.pm line 2443 thread 19.
    Loading device description failed with error: 500 Status read failed: Connection reset by peer (Location: http://192.168.0.5:55000/dmr/ddd.xml) at ./FHEM/00_SONOS.pm line 2443 thread 1.
    Loading device description failed with error: 500 Status read failed: Connection reset by peer (Location: http://192.168.0.5:55000/dmr/ddd.xml) at ./FHEM/00_SONOS.pm line 2443 thread 19.

    Könnt Ihr damit etwas anfangen?

    Danke.

    LG
    Matthias
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 25 Oktober 2017, 15:23:25
    Hallo,

    mal eine Frage zum Abspielen von .m3u - playlisten. Leider gelingt mir das nicht:

    Der Befehl:
    set Sonos_Arbeitszimmer StartPlaylist file://192.168.1.16/Sonos/playlists/Aktuell.m3u

    führt nur dazu, dass der Player den letzten Song aus seiner internen Abspielliste wiedergibt, aber nicht die Abspielliste selbst.
    Der Zugriff auf das Verzeichnis funktioniert, denn eine .mp3 - Datei aus dem Verzeichnis kann ich mit set Sonos_Arbeitszimmer playURI ... wiedergeben.
    In der commandRef zum Befehl "StartPlaylist" ist beim dem Beispiel für einen Pfad vor dem file:... noch ein " ' " Zeichen, aber kein schliessendes, ich gehe mal davon aus, dass das inkorrekt ist und der Pfad zur Datei nicht in Apostrophs gestellt werden muss.


    Die m3u-Datei sieht so aus:

    #EXTM3U
    #EXTINF:-1, Artist:Al Stewart Album:Year Of The Cat Track:1 Title:Lord Grenville
    //192.168.1.16/Musik/Pop/Stewart,%20Al/Year%20Of%20The%20Cat/01-Lord%20Grenville.mp3
    #EXTINF:-1, Artist:Al Stewart Album:Year Of The Cat Track:1 Title:Lord Grenville
    //192.168.1.16/Musik/Pop/Stewart,%20Al/Year%20Of%20The%20Cat/01-Lord%20Grenville.mp3
    #EXTINF:-1, Artist:Al Stewart Album:Year Of The Cat Track:2 Title:On The Border
    //192.168.1.16/Musik/Pop/Stewart,%20Al/Year%20Of%20The%20Cat/02-On%20The%20Border.mp3
    #EXTINF:-1, Artist:Al Stewart Album:Year Of The Cat Track:3 Title:Midas Shadow
    //192.168.1.16/Musik/Pop/Stewart,%20Al/Year%20Of%20The%20Cat/03-Midas%20Shadow.mp3
    #EXTINF:-1, Artist:Al Stewart Album:Year Of The Cat Track:4 Title:Sand In Your Shoes
    //192.168.1.16/Musik/Pop/Stewart,%20Al/Year%20Of%20The%20Cat/04-Sand%20In%20Your%20Shoes.mp3
    #EXTINF:-1, Artist:Al Stewart Album:Year Of The Cat Track:5 Title:If It Doesn&apos;t Come Naturally, Leave It
    //192.168.1.16/Musik/Pop/Stewart,%20Al/Year%20Of%20The%20Cat/05-If%20It%20Doesn&apos;t%20Come%20Naturally,%20Leave%20It.mp3
    ...
    Wo könnte der Fehler liegen?

    Elektrolurch

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Oktober 2017, 17:25:07
    Hi Elektrolurch,

    das mit den Anführungsstrichen ist richtig, die sind nur für die Abgrenzung im Fließtext...

    Steht denn irgendwas im Log, oder im Reading LastActionResult?
    Ich könnte mir vorstellen, dass ich das nicht mit Netzwerkfreigaben für die m3u-Dateiablage getestet habe :(

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 26 Oktober 2017, 10:44:45
     Hallo Reiner,

    habe mal alles heruntergebrochen, was so geht:

    2017.10.26 10:16:38 1: SCC_PlayAll: set Sonos_Arbeitszimmer StartPlaylist file://192.168.1.16/Sonos/playlists/Aktuell.m3u 1
    Play: Success!
    Aber es wird weiterhin der laufende Radiostream ohne Unterbrechung abgespielt.

    Um ev. Probleme mit Dateipfaden zu vermeiden, habe ich die m3u-Datei wie folgt auf einen Eintrag geändert:

    #EXTM3U
    #EXTINF:-1, Artist:Al Stewart Album:Year Of The Cat Track:1 Title:Lord Grenville
    //192.168.1.16/Sonos/playlists/file.mp3

    Aber der Befehl:
    set Sonos_Arbeitszimmer PlayURI //192.168.1.16/Sonos/playlists/file.mp3

    Und schon wird "Money" abgespielt. Also an der Erreichbarkeit der Freigabe kann es nicht liegen.
    Das Format für die m3u -Datei habe ich aus der wikipedia, wobei ich das so verstanden habe, dass nur die Länge mit -1 ausgewertet wird und der Rest ev. vom Player angezeigt werden kann.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 26 Oktober 2017, 14:58:10
    Hi Elektrolurch,

    mach mal nur ein LoadPlaylist, damit wir mal sehen können, was dieser im LastActionResult oder Log ausgibt.

    Eine Anmerkung:
    Aus der m3u-Datei verwende ich sowieso nur die Einträge, die nicht mit # beginnen. Der Rest wird übersprungen...
    Also stimmt dein Format auf jeden Fall...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 27 Oktober 2017, 09:02:29
    Meine Sonos Boxen machen auch mal wieder merkwürdige Probleme.
    Seit neuestem funktioniert bei mir StartPlaylist nicht mehr (mit einer Apple Music Playlist) und auch StartRadio mit dem WDR 2 Internet-Stream tut nichts.

    Rufe ich hingegen erst LoadPlaylist und dann Play manuell auf, funktioniert es. StartPlaylist macht ja eigentlich praktisch das gleiche?
    Bei StartPlaylist erhalte ich hingegen einen UPnP Fehler:
    2017-10-27 08:58:10 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: Play: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"

    LoadPlaylist und Play funktioniert ohne Fehler.
    Bei StartRadio ist es das gleiche. LoadRadio und Play geht, StartRadio nicht.
    Im Log sieht es teilweise so aus, als würden sich z.B. bei StartRadio die Befehle überholen. Sprich es wird erst der Play Befehl abgearbeitet und danach das LoadRadio ausgeführt. Am Ende ist der Player dann im Status, dass der Radio Stream zwar geladen ist, aber die Wiedergabe gestoppt ist.

    Habe meine kritischeren Wiedergaben jetzt erst mal von StartPlaylist/StartRadio auf LoadPlaylist+Play/LoadRadio+Play, jeweils mit einigen Sekunden Delay dazwischen, umgestellt. Mal gucken ob es damit dauerhaft besser geht.
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 27 Oktober 2017, 10:21:55
    Hallo Reiner,
    der Hinweis war richtig:      2017-10-27 09:52:45   LastActionResult LoadPlaylist: Error during opening file "//192.168.1.16/Sonos/playlists/Aktuell.m3u": No such file or directory

    Also, alles nochmals durchgechecked:
    1. Unter dem Ordner Sonos liegt der Ordner speak für die Audiodateien der Sprachausgabe. Das klappt. Bis Ordner Sonos ist also alles mit den Rechten ok smb - Freigabepunkt ist "Sonos".
    2. der Ordner playlist steht auf drwrw-rw-, also da dürfte Sonos auch sogar schreiben.
    3. Aktuell.m3u war zwar von fhem mit dem user fhem und Gruppe dialout angelegt worden, der Rest der "Welt" durfte aber lesen. Windows kann die Datei auch öffnen und will sie abspielen. Scheitert nur an den Pfaden, die ja bei Windows mit \\ und nicht mit // anfangen dürfen. Also von den Rechten müsste das also auch stimmen.
    Außerdem habe ich in den Orner playlist eine .mp3 - Dtei zum Test abgelegt. Die spielt Sonos von fhem aus mit dem PlayURI-Befehl auch ab (s.o. mein Beitrag).

    Jetzt habe ich leider keine Idee mehr, was da noch nicht stimmten könnte.
    Noch eine andere Frage: Beim Neustart kommen immer so Meldungen:
    Sonos modify device Sonos_Arbeitszimmer
    usw. für alle bekannten Player. Kommen wohl aus der define - Anweisung.
    Was bedeuten diese? Kann man da einen log-level setzen, damit ich die unterdrücken kann? Scheinen wohl mit loglevel 1 zu kommen. Vielleicht auf 3 setzen?

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Oktober 2017, 17:17:21
    Hi Elektrolurch,

    die .m3u-Datei wird nur vom Sonos-Modul gelesen, und dann jeder enthaltene Titel einzeln an das Sonos-System übertragen.
    Das bedeutet, die .m3u-Datei muss vom Sonos-SubThread aus gelesen werden können, und die einzelnen enthaltenen Musikdateien vom Sonos-System selbst.

    Wenn dieses Verzeichnis mit der .m3u-Datei sowieso lokal zu FHEM (bzw. zum Sonos-Modulthread) liegt, dann versuch doch mal einen lokalen Pfad wie

    LoadPlaylist file:/opt/Sonos/irgendwas/datei.m3u
    anzugeben.

    Außerdem dürfen sehr wohl "\" in dieser .m3u-Datei vorkommen, sodass du diese gleichzeitig unter Windows und mit dem Sonos-Modul verwenden kannst. Diese werden automatisch für das Sonos-System von mir umgewandelt.

    Zu den Modify-Ausgaben:
    Du musst den Loglevel (also das Attribut "verbose") tiefer als die Ausgabe setzen, in diesem Fall also auf 0 (am Sonos-Device).

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 27 Oktober 2017, 17:49:03
    Hallo Reiner,
    mir war das nicht klar, dass das Sonos-Modul die Datei auswertet und den Inhalt an Sonos überträgt. Mit dem direkten Dateipfad funkts. Danke für die Unterstützung.

    Elektrolurch


    Titel: Antw:Sonos steuern
    Beitrag von: a13xde am 30 Oktober 2017, 14:38:17
    Hallo zusammen,
    Ich habe mir einen Sonos One zugelegt in der Hoffnung meinen Echo Dot mit verbundenem Bluetooth Speaker komplett ersetzen zu können und natürlich den tollen Sound von Sonos zu genießen, leider hat sich die Alexa Integration im One aber als noch sehr rudimentär herausgestellt. Ich bin daher den Umweg gegangen und habe den Echo Dot über den Line In eines Sonos Connect angeschlossen und leite das Signal mit der Autoplay Funktion an den One weiter, was auch wunderbar funktioniert.

    Einzige Nachteil den ich im Moment habe ist, wenn ich nun über den Sonos Controller eine Wiedergabe starte und dann irgendwann mit Alexa spreche, die aktuelle Wiedergabe vom Sonos Controller unterbrochen wird. Ich sehe dann keine Möglichkeit einfach wieder dort die Wiedergabe fortzusetzen wo diese unterbrochen wurde (Autoplay hat dann den Line In aktiviert). Soweit ich gesehen habe wird eine solche fortsetzen Funktion aber von der Text2Speech Funktion genutzt, wie wird dies denn realisiert ?

    Ist das in etwas so: Speicher aktuelle Playlist, spiele Text2Speech MP3 ab, lade gespeicherte Playlist und spiele diese ab ?
    Könnte ich das auch für mein Problem nutzen um z.B. mit dem FHEM Custom Skill für Alexa mittels Sprachbefehl die Wiedergabe vom Sonos Controller fortzusetzen ? Könnte mir hier evtl. jemand ein paar Hinweise / Beispiele aufzeigen ?

    Viele Grüße

    Alex
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 02 November 2017, 12:48:02
    Ich habe seit ein paar Tagen nun auch folgendes im Log:
    ZitatRenewal of subscription failed with error: 500 Can't connect to ...

    Wurde ja schonmal angesprochen. Gab/Gibt es da eine Lösung?

    Die Player sind übrigens immer alle online. Deswegen wundert mich die Fehlermeldung umso mehr.
    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 02 November 2017, 12:57:47
    Hi,
    kann das sein das das Sonos Modul immer noch von Zeit zu Zeit die CPUs voll beansprucht?
    Im "top" sehe eine perl Auslastung gegen 100%. Bei einem Neustart sind es nur 20-30%
    Titel: Antw:Sonos steuern
    Beitrag von: frankBN am 04 November 2017, 12:27:55
    Hi,

    ich nutze SONOS mit 10 Playern und möchte gerne eine temporäre Nachricht an alle Player ausgeben.
    Bislang nutze ich die Funktionen PlayURITemp und Speak und rufe alle Player nacheinander auf. Gibt es eine bessere Lösung?

    Grüße
    Frank
    Titel: Antw:Sonos steuern
    Beitrag von: DeeSPe am 04 November 2017, 21:33:08
    Zitat von: frankBN am 04 November 2017, 12:27:55
    Hi,

    ich nutze SONOS mit 10 Playern und möchte gerne eine temporäre Nachricht an alle Player ausgeben.
    Bislang nutze ich die Funktionen PlayURITemp und Speak und rufe alle Player nacheinander auf. Gibt es eine bessere Lösung?

    Grüße
    Frank

    set TYPE=SONOSPLAYER PlayURITemp ........

    Gruß
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: frankBN am 04 November 2017, 22:59:43
    Danke Dan
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 04 November 2017, 23:17:16
    Ich nutze
    {my $s_m = ReadingsVal("Sonos","MasterPlayer","");;
    $s_m =~ s/['[\]]+//g;;
    fhem("set $s_m:FILTER=presence=appeared Speak 20 de
               |Dingdong.mp3| ")}

    Damit wird sichergestellt, dass nur die "Masterplayer" einer Gruppe angesprochen werden und diese auch "aktiv" sind. Ansonsten kommt es zu Mehrfachausgaben in einer Gruppe. 

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: DeeSPe am 05 November 2017, 00:03:50
    Zitat von: juemuc am 04 November 2017, 23:17:16
    Ich nutze
    {my $s_m = ReadingsVal("Sonos","MasterPlayer","");;
    $s_m =~ s/['[\]]+//g;;
    fhem("set $s_m:FILTER=presence=appeared Speak 20 de
               |Dingdong.mp3| ")}

    Damit wird sichergestellt, dass nur die "Masterplayer" einer Gruppe angesprochen werden und diese auch "aktiv" sind. Ansonsten kommt es zu Mehrfachausgaben in einer Gruppe. 

    Viele Grüße
    Jürgen

    Statt dessen sollte auch das gehen:
    set TYPE=SONOSPLAYER:FILTER=IsMaster=1:FILTER=presence=appeared Speak 20 de |Dingdong| Bla bla

    Gruß
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 05 November 2017, 12:26:27
    Zitat von: DeeSPe am 05 November 2017, 00:03:50
    Statt dessen sollte auch das gehen:
    set TYPE=SONOSPLAYER:FILTER=IsMaster=1:FILTER=presence=appeared Speak 20 de |Dingdong| Bla bla

    Gruß
    Dan

    Stimmt. Danke für den Tipp  ;D

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 05 November 2017, 15:40:08
    Hallo Dan,

    ich finde dieses Beispiel gehört mit in die devspec Doku (commandref)
    Das ist wirklich Klasse!  ;D

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: binford6000 am 05 November 2017, 18:02:54
    Zitat von: Elektrolurch am 31 Mai 2017, 10:38:37
    Hallo Reinerlein,

    manchmal finde ich sowas im Log und jetzt habe ich mal stacktrace eingeschaltet. Das scheint bevorzugt aufzutreten, wenn das Gerät frisch am Strom eingeschaltet wird:

    2017.05.31 08:35:45 1: readingsUpdate(Sonos_Wohnzimmer,currentTrackPosition,0:00:00) missed to call readingsBeginUpdate first.
    2017.05.31 08:35:45 1: stacktrace:
    2017.05.31 08:35:45 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1252)
    2017.05.31 08:35:45 1:     main::SONOS_Read                    called by fhem.pl (3412)
    2017.05.31 08:35:45 1:     main::CallFn                        called by fhem.pl (686)
    2017.05.31 08:35:45 1: readingsUpdate(Sonos_Wohnzimmer,currentTrackPositionSec,1) missed to call readingsBeginUpdate first.
    2017.05.31 08:35:45 1: stacktrace:
    2017.05.31 08:35:45 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1252)
    2017.05.31 08:35:45 1:     main::SONOS_Read                    called by fhem.pl (3412)
    2017.05.31 08:35:45 1:     main::CallFn                        called by fhem.pl (686)
    2017.05.31 08:35:45 1: readingsUpdate(Sonos_Wohnzimmer,numberOfTracks,3) missed to call readingsBeginUpdate first.
    2017.05.31 08:35:45 1: stacktrace:
    2017.05.31 08:35:46 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9289)
    2017.05.31 08:35:46 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1265)
    2017.05.31 08:35:46 1:     main::SONOS_Read                    called by fhem.pl (3412)
    2017.05.31 08:35:46 1:     main::CallFn                        called by fhem.pl (686)
    2017.05.31 08:35:46 1: readingsUpdate(Sonos_Wohnzimmer,currentStreamAudio,1) missed to call readingsBeginUpdate first.
    2017.05.31 08:35:46 1: stacktrace:
    2017.05.31 08:35:46 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9289)
    2017.05.31 08:35:46 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1265)
    2017.05.31 08:35:46 1:     main::SONOS_Read                    called by fhem.pl (3412)
    2017.05.31 08:35:46 1:     main::CallFn                        called by fhem.pl (686)
    2017.05.31 08:35:46 1: readingsUpdate(Sonos_Wohnzimmer,currentNormalAudio,) missed to call readingsBeginUpdate first.
    2017.05.31 08:35:46 1: stacktrace:
    2017.05.31 08:35:46 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9289)
    2017.05.31 08:35:46 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1265)
    2017.05.31 08:35:46 1:     main::SONOS_Read                    called by fhem.pl (3412)
    2017.05.31 08:35:46 1:     main::CallFn                        called by fhem.pl (686)
    Gruß Elektrolurch
    Hi Elektrolurch,
    konntest Du hier was erreichen? Ich habe eine ähnliche Situation, auch immer nur nach dem Einschalten über eine Funksteckdose:

    readingsUpdate(Sonos_Kueche,currentTrackPositionSec,0) missed to call readingsBeginUpdate first.
    2017.11.05 17:24:44 1: stacktrace:
    2017.11.05 17:24:44 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1207)
    2017.11.05 17:24:44 1:     main::SONOS_Read                    called by fhem.pl (3497)
    2017.11.05 17:24:44 1:     main::CallFn                        called by fhem.pl (700)
    ...
    readingsUpdate(Sonos_Kueche,currentTrackPositionSec,0) missed to call readingsBeginUpdate first.
    2017.11.05 17:24:52 1: stacktrace:
    2017.11.05 17:24:52 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1207)
    2017.11.05 17:24:52 1:     main::SONOS_Read                    called by fhem.pl (3497)
    2017.11.05 17:24:52 1:     main::CallFn                        called by fhem.pl (700)


    Insgesamt etwa 5-7 mal pro Skeunde bis zum letzten Eintrag  :-\
    VG Sebastian
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 05 November 2017, 19:40:52
    Hast du die aktuelle Version von Sonos? Das Problem wurde von Reiner (eigentlich) behoben
    Titel: Antw:Sonos steuern
    Beitrag von: binford6000 am 06 November 2017, 08:07:41
    Hallo Nobby,
    ich hab die hier:
    00_SONOS.pm           15151 2017-09-28 21:49:20Z Reinerlein
    21_SONOSPLAYER.pm     14715 2017-07-14 10:39:57Z Reinerlein

    VG Sebastian
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 06 November 2017, 09:46:16
    Hallo Sebastian,

    das ist die aktuell verfügbare Version, damit kamen bei mir diese Fehlermeldungen nicht mehr ... da muss Reiner wohl noch einmal schauen
    Titel: Antw:Sonos steuern
    Beitrag von: kumue am 08 November 2017, 21:29:46
    Ich habe seit ein paar Tagen meinen ersten Sonos, einen Play:1, integriert.
    Im Log finde ich nun öfters diese Meldungen, immer gleich 10x hintereinander.
    Loading device description failed with error: 400 Bad Request (Location: http://192.168.2.11:7676/smp_16_) at ./FHEM/00_SONOS.pm line 2443 thread 10.
    400-URL-Absolute-Error! Location: "http://192.168.2.11:7676/smp_16_", Content: "" at ./FHEM/00_SONOS.pm line 2443 thread 10.


    Die 192.168.2.11 ist ein Samsung TV.

    Weiss jemand die Ursache ?

    Titel: Antw:Sonos steuern
    Beitrag von: Esjay am 08 November 2017, 21:37:06
    Zitat von: kumue am 08 November 2017, 21:29:46
    Ich habe seit ein paar Tagen meinen ersten Sonos, einen Play:1, integriert.
    Im Log finde ich nun öfters diese Meldungen, immer gleich 10x hintereinander.
    Loading device description failed with error: 400 Bad Request (Location: http://192.168.2.11:7676/smp_16_) at ./FHEM/00_SONOS.pm line 2443 thread 10.
    400-URL-Absolute-Error! Location: "http://192.168.2.11:7676/smp_16_", Content: "" at ./FHEM/00_SONOS.pm line 2443 thread 10.


    Die 192.168.2.11 ist ein Samsung TV.

    Weiss jemand die Ursache ?
    Schau dir mal das Wiki an..Da gibt es ein Attribut, wo du Ips ignorieren kannst,oder wo du expliziet die Ip des Sonos Device setzten kannst.Das sollte den Fehler beheben..Ich denke der TV nutzt das selbe Protokoll auf dem Sonos basiert,antwortet aber nicht so wie es das Modul erwartet..Ergo Fehler..
    Gruß
    Titel: Antw:Sonos steuern
    Beitrag von: kumue am 08 November 2017, 22:37:35
    Cool, danke für den Tipp.
    Habe jetzt das Attribut ignoredIPs gesetzt.
    Denke, damit erledigen sich die Logeinträge.

    Titel: Antw:Sonos steuern
    Beitrag von: Tobias am 10 November 2017, 14:42:46
    HI,
    ich habe heute mal wieder ein update gemacht und es scheint, als ob das Attribut "simulateCurrentTrackPosition" nix mehr macht. Bei mir steht es auf 5, aber es werden die Readings (currentTrackPositionSimulated,currentTrackPositionSimulatedPercent, currentTrackPositionSimulatedSec) nicht mehr aktualisiert. Ist das nur bei mir so?
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 13 November 2017, 16:12:03
    Zitat von: DeeSPe am 05 November 2017, 00:03:50
    Statt dessen sollte auch das gehen:
    set TYPE=SONOSPLAYER:FILTER=IsMaster=1:FILTER=presence=appeared Speak 20 de |Dingdong| Bla bla

    Mit dem Befehl wird der Sound auf allen Master-Playern einzeln abgespielt, oder? Kommt es nicht zu unschönen Hall-Effekten, wenn die Player nicht gruppiert sind?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 13 November 2017, 19:40:14
    Zitat von: dantist am 13 November 2017, 16:12:03
    Mit dem Befehl wird der Sound auf allen Master-Playern einzeln abgespielt, oder? Kommt es nicht zu unschönen Hall-Effekten, wenn die Player nicht gruppiert sind?
    Wenn Sie nicht gruppiert sind, läuft doch eh auf jedem was anderes.  ;D
    Wenn man das nicht will muss man einfach vorher gruppieren. Aber dann ist es für das ding dong schon zu spät.  ::)

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 15 November 2017, 11:08:36
    Hallo Zusammen,

    ich habe ein Problem wo ich nicht weiterkomme. Ich habe mir am Wochenende ein zusätzlichen HMLANGW in eine VCCU eingebunden. Jetzt habe ich ständig Abbrüche beim HMLANGW mit KEEP ALIVE zeit überschritten. Wenn ich nun mein Sonos Dev auf disable stelle läuft alles ohne Störung. Das Ganze läuft auf einem Rasb. Hat Jemand einen Tip für mich?

    Gruß Peter
    Titel: Antw:Sonos steuern
    Beitrag von: Cobra am 15 November 2017, 11:20:41
    Zitat von: peter0255 am 15 November 2017, 11:08:36
    Hallo Zusammen,

    ich habe ein Problem wo ich nicht weiterkomme. Ich habe mir am Wochenende ein zusätzlichen HMLANGW in eine VCCU eingebunden. Jetzt habe ich ständig Abbrüche beim HMLANGW mit KEEP ALIVE zeit überschritten. Wenn ich nun mein Sonos Dev auf disable stelle läuft alles ohne Störung. Das Ganze läuft auf einem Rasb. Hat Jemand einen Tip für mich?

    Gruß Peter

    Super, danke für den Hinweis.

    Ich bin seit Tagen am Überlegen woher ich diese Meldungen habe (seit ich 2 weitere HMUART bei mir eingebunden habe). Auf die Idee dass es mit Sonos zusammenhängt bin ich noch nicht gekommen aber wenn du jetzt den gleichen Fehler hast und über Disable dann die Meldungen weg sind dann scheint es wohl einen Zusammenhang zu geben.

    Vielleicht fällt ja jemandem ein wie man das beheben kann.
    Wenn irgend etwas benötigt wird (Logs, List, etc), einfach melden, dann liefer ich die heut Abend nach.

    Gruß Cobra
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 15 November 2017, 11:54:08
    Disabled doch mal die IP Adressen der HM Gateways in Sonos. Der denkt vielleicht das sind neue Player?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Cobra am 15 November 2017, 12:58:23
    Das könnte tatsächlich die Lösung sein.

    Hab im Attribut die 3 IP-Adressen eingetragen und seit ner halben Stunde ist Ruhe im Log-File.
    Werde es weiter beobachten und mich nochmal melden falls die Einträge doch nochmal auftauchen.

    Danke dir.
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 15 November 2017, 13:05:39
    bei mir hat es nichts gebracht, nehme an ist ein Timing Problem.2017.11.15 12:37:33 1: 192.168.178.70:2001 disconnected, waiting to reappear (HMLANGW:keepAlive)
    2017.11.15 12:37:39 1: HMUARTLGW HMLANGW:keepAlive did not respond after all, reopening
    2017.11.15 12:37:39 3: HMLANGW device closed
    Titel: Antw:Sonos steuern
    Beitrag von: Cobra am 15 November 2017, 13:51:37
    Okay, bei mir auch Kommando zurück.

    Eine Stunde war Ruhe und dann wieder das:

    2017.11.15 13:34:15 3: HMUARTLGW myHmLGW:keepAlive KeepAlive-port opened
    2017.11.15 13:34:15 3: HMUARTLGW myHmLGW BidCoS-port opened
    2017.11.15 13:34:15 3: myHmLGW:keepAlive device opened
    2017.11.15 13:34:15 1: 192.168.178.22:2000 reappeared (myHmLGW)
    2017.11.15 13:34:15 3: Opening myHmLGW:keepAlive device 192.168.178.22:2001
    2017.11.15 13:34:14 1: 192.168.178.22:2000 disconnected, waiting to reappear (myHmLGW)
    2017.11.15 13:34:14 1: HMUARTLGW myHmLGW:keepAlive KeepAlive sent 9.779s too late, this might cause a disconnect!
    2017.11.15 13:34:13 1: 192.168.178.22:2001 disconnected, waiting to reappear (myHmLGW:keepAlive)
    2017.11.15 13:33:53 3: HMUARTLGW myHmLGW:keepAlive KeepAlive-port opened
    2017.11.15 13:33:53 3: HMUARTLGW myHmLGW BidCoS-port opened 2017.11.15 13:33:53 3: myHmLGW:keepAlive device opened
    2017.11.15 13:33:53 1: 192.168.178.22:2000 reappeared (myHmLGW)
    2017.11.15 13:33:53 3: Opening myHmLGW:keepAlive device 192.168.178.22:2001
    2017.11.15 13:33:53 1: 192.168.178.22:2000 disconnected, waiting to reappear (myHmLGW)
    2017.11.15 13:33:53 1: HMUARTLGW myHmLGW:keepAlive KeepAlive sent 6.192s too late, this might cause a disconnect!
    2017.11.15 13:33:53 1: 192.168.178.22:2001 disconnected, waiting to reappear (myHmLGW:keepAlive)
    2017.11.15 13:30:46 3: at_FHEM.save: Wrote configuration to fhem.cfg


    Bei mir kommen die Meldungen jetzt wieder (wie auch heut morgen) alle 15 Minuten.

    Edit:
    Ich hab bei mir mal Sonos auf disabled gesetzt, bekomme die Fehler aber weiterhin, daher mach ich für mein Fall ein neues Thema auf da nichts mit dem Sonos-Modul zu tun hat.
    Titel: Antw:Sonos steuern
    Beitrag von: peter0255 am 16 November 2017, 13:54:12
    Wenn ich bei mir das SONOS Dev auf disable setze habe ich keine Aussetzer. Kann man am Sonos noch was drehen um diese Keep Alive Verzögerungen zu vermeiden ?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 16 November 2017, 15:09:50
    Ich habe einen HMLAN und ein HMUART Modul am Pi3 . Darauf läuft auch Sonos.

    Alles ohne Befund. Ich meine, es ist kein Problem von Sonos.
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 01 Dezember 2017, 20:25:38
    Ecke habe da auch mal eine Frage :-)

    Meine Vier Songs 1 laufen soweit problemlos - Yeah !!!

    Nur habe ich jetzt festgestellt, habe ich Dinger im WLAN dauert es bestimmt ca. 10 Sekunden bis diese anfangen abzuspielen. Jetzt habe ich Zweie davon mit LAN verbunden und diese sind sofort am abspielen.

    Kann ich da etwas SW seitig ändern? Oder muss ich die Dinger ins LAN bringen?

    Es macht übrigens keinen Unterschied, ob ich diese in's SONOS WLAN oder mein Media WLAN hänge.

    Wirklich fragend

    Ralf
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 03 Dezember 2017, 22:40:20
    Hi,

    ich habe dieses typische "ursprüngliche" Szenario: einer (connect) hängt am LAN und die Sonos 1 Play 3 und Play 5 hängen im Sonos WLAN (ich glaube das geht mittlerweile auch anders).
    Ich habe damit keine systematischen Verzögerungen. Es spielt normalerweise ohne Startpause. Selten "denkt" Sonos einen kurzen Moment, manchmal dauert die Gruppierung länger als normal.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 05 Dezember 2017, 09:32:47
    Zitat von: Otto123 am 03 Dezember 2017, 22:40:20
    Hi,

    ich habe dieses typische "ursprüngliche" Szenario: einer (connect) hängt am LAN und die Sonos 1 Play 3 und Play 5 hängen im Sonos WLAN (ich glaube das geht mittlerweile auch anders).
    Ich habe damit keine systematischen Verzögerungen. Es spielt normalerweise ohne Startpause. Selten "denkt" Sonos einen kurzen Moment, manchmal dauert die Gruppierung länger als normal.

    Gruß Otto


    Danke Otto...

    ich habe da noch was interessantes gefunden - und es hat sich auch schon gebessert :-)

    Wenn man mehrere Access Points besitzt komm der Spanning Tree (SPT) in den Switchen schon mal aus dem Tritt.

    Es ist zwar standardmäßig die niedrigste Prio 32768 bei den Sonos teilen eingestellt, aber bei den ganzen Switchen in den Default Einstellungen auch - und dann bekommt die kleinste MAC Adresse den Zuschlag für die Root Bridge. Und das war bei mir die Sonos :-( Je nach Netzverbindung mal die und mal die andere :-(

    Lösung:
    SPT Prio auf einem Switch geändert, damit dieser die Root Bridge wird :-)

    Noch zu testen:
    Kosten für die AP Verbindungen hoch setzen um einer SPT Reconfig vorzubeugen

    Liebe Grüße

    Ralf
    Titel: Antw:Sonos steuern
    Beitrag von: ToM_ToM am 05 Dezember 2017, 12:29:43
    Bei mir verliert FHEM permanent die Player. Die gehen immer wieder auf "disappeared".
    Habe mir ein notify gesetzt welches, sobald ein Player auf "disappeared" wechselt, ein "RescanNetwork" durchführt.
    Dann sind sie kurze Zeit wieder da und nach wenigen Sekunden wieder "disappeared".

    Kann das noch jemand beobachten oder hat eine Lösung?

    Anbei meine Config:


    # Sonos#
    ########
    define Sonos SONOS localhost:4711 30 8 5
    attr Sonos DbLogExclude .*
    attr Sonos getListsDirectlyToReadings 1
    attr Sonos getPlaylistsListAtNewVersion 1
    attr Sonos getQueueListAtNewVersion 1
    attr Sonos getRadiosListAtNewVersion 1
    attr Sonos room Sonos
    attr Sonos targetSpeakDir /opt/fhem/SonosSpeak
    attr Sonos targetSpeakFileHashCache 1
    attr Sonos targetSpeakMP3FileDir /opt/fhem/SonosSpeak
    attr Sonos targetSpeakURL \\192.168.152.54\SonosSpeak
    attr Sonos verbose 3

    # Automatische Aktualisierung der Favoriten / Playlisten / Radios durch Notifies
    define Sonos_GetNewFavouritesNotify notify Sonos_[^_]+:FavouritesVersion.* { fhem("get $NAME FavouritesWithCovers");; fhem("get $NAME Favourites");; }
    attr Sonos_GetNewFavouritesNotify room Sonos
    define Sonos_GetNewPlaylistsNotify notify Sonos_[^_]+:PlaylistsVersion.* { fhem("get $NAME PlaylistsWithCovers");; fhem("get $NAME Playlists");; }
    attr Sonos_GetNewPlaylistsNotify room Sonos
    define Sonos_GetNewRadiosNotify notify Sonos_[^_]+:RadiosVersion.* { fhem("get $NAME RadiosWithCovers");; fhem("get $NAME Radios");; }
    attr Sonos_GetNewRadiosNotify room Sonos
    define Sonos_GetNewQueueNotify notify Sonos_[^_]+:QueueVersion.* { fhem("get $NAME QueueWithCovers");; fhem("get $NAME Queue");; }
    attr Sonos_GetNewQueueNotify room Sonos

    # Sonos Gruppenkonstellation
    define SonosRG readingsGroup Sonos:<{getGroupsRG()}@ZoneGroupState>
    attr SonosRG room Sonos


    define notify_Sonos_Wohnzimmer_CurrentSenderURLFormat notify Sonos_Wohnzimmer:currentSender.* {my $urlEncode = ReadingsVal("Sonos_Wohnzimmer", "currentSender", "");; $urlEncode =~ s/\s/%20/g;; fhem("setreading Sonos_Wohnzimmer currentSenderURLFormat $urlEncode")}
    attr notify_Sonos_Wohnzimmer_CurrentSenderURLFormat room Sonos

    # Sonos Dummy für Display #
    ###########################
    define Sonos_Wohnzimmer_Einstellung dummy
    attr Sonos_Wohnzimmer_Einstellung DbLogExclude .*
    attr Sonos_Wohnzimmer_Einstellung room Sonos
    attr Sonos_Wohnzimmer_Einstellung userReadings Source: Titel:



    # Sonos - Player Wohnzimmer 1 #
    define Sonos_Wohnzimmer SONOSPLAYER RINCON_B8E937E05ACE01400_MR
    attr Sonos_Wohnzimmer DbLogExclude .*
    attr Sonos_Wohnzimmer alarmDevice Actor
    attr Sonos_Wohnzimmer alarmSettings alarm0,|set Sonos_Wohnzimmer PlayURI \\192.168.152.54\AlarmSystem\AlarmSounds\salamisound-8746857-alarm-sirene-auto.mp3|set Sonos_Wohnzimmer Stop|0
    attr Sonos_Wohnzimmer alias Wohnzimmer
    attr Sonos_Wohnzimmer event-on-change-reading .*
    attr Sonos_Wohnzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Wohnzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Wohnzimmer generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Wohnzimmer generateVolumeSlider 1
    attr Sonos_Wohnzimmer getAlarms 1
    attr Sonos_Wohnzimmer group Wohnzimmer
    attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Wohnzimmer minVolume 0
    attr Sonos_Wohnzimmer model Sonos_S1
    attr Sonos_Wohnzimmer room Sonos
    attr Sonos_Wohnzimmer sortby 1
    attr Sonos_Wohnzimmer stateVariable Presence
    attr Sonos_Wohnzimmer userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }
    define Sonos_WohnzimmerRG readingsGroup Sonos_Wohnzimmer:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>
    attr Sonos_WohnzimmerRG group Wohnzimmer
    attr Sonos_WohnzimmerRG noheading 1
    attr Sonos_WohnzimmerRG nonames 1
    attr Sonos_WohnzimmerRG room Sonos
    attr Sonos_WohnzimmerRG sortby 2
    define Sonos_WohnzimmerRG_Favourites readingsGroup Sonos_Wohnzimmer:<{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>
    attr Sonos_WohnzimmerRG_Favourites DbLogExclude .*
    attr Sonos_WohnzimmerRG_Favourites room Sonos
    define Sonos_WohnzimmerRG_Radios readingsGroup Sonos_Wohnzimmer:<{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>
    attr Sonos_WohnzimmerRG_Radios DbLogExclude .*
    attr Sonos_WohnzimmerRG_Radios room Sonos
    define Sonos_WohnzimmerRG_Playlists readingsGroup Sonos_Wohnzimmer:<{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>
    attr Sonos_WohnzimmerRG_Playlists room Sonos
    define Sonos_WohnzimmerRC remotecontrol
    attr Sonos_WohnzimmerRC group Sonos
    attr Sonos_WohnzimmerRC rc_iconpath icons/remotecontrol
    attr Sonos_WohnzimmerRC rc_iconprefix black_btn_
    attr Sonos_WohnzimmerRC room hidden
    attr Sonos_WohnzimmerRC row00 Play:rc_PLAY.svg,Pause:rc_PAUSE.svg,Previous:rc_PREVIOUS.svg,Next:rc_NEXT.svg,:blank,VolumeD:rc_VOLDOWN.svg,VolumeU:rc_VOLUP.svg,:blank,MuteT:rc_MUTE.svg,ShuffleT:rc_SHUFFLE.svg,RepeatT:rc_REPEAT.svg
    define Sonos_WohnzimmerRC_Notify notify Sonos_WohnzimmerRC set Sonos_Wohnzimmer $EVENT
    attr Sonos_WohnzimmerRC_Notify DbLogExclude .*
    attr Sonos_WohnzimmerRC_Notify room Sonos
    define Sonos_WohnzimmerRC_Weblink weblink htmlCode {fhem("get Sonos_WohnzimmerRC htmlcode", 1)}
    attr Sonos_WohnzimmerRC_Weblink group Wohnzimmer
    attr Sonos_WohnzimmerRC_Weblink room Sonos
    attr Sonos_WohnzimmerRC_Weblink sortby 3

    # Sonos - Player Badezimmer #
    define Sonos_Badezimmer SONOSPLAYER RINCON_B8E937E3ADE601400_MR
    attr Sonos_Badezimmer DbLogExclude .*
    attr Sonos_Badezimmer alias Badezimmer
    attr Sonos_Badezimmer event-on-change-reading .*
    attr Sonos_Badezimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Badezimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Badezimmer generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Badezimmer generateVolumeSlider 1
    attr Sonos_Badezimmer getAlarms 1
    attr Sonos_Badezimmer group Badezimmer
    attr Sonos_Badezimmer icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Badezimmer minVolume 0
    attr Sonos_Badezimmer model Sonos_S1
    attr Sonos_Badezimmer room Sonos
    attr Sonos_Badezimmer sortby 1
    attr Sonos_Badezimmer stateVariable Presence
    define Sonos_BadezimmerRG readingsGroup Sonos_Badezimmer:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>
    attr Sonos_BadezimmerRG DbLogExclude .*
    attr Sonos_BadezimmerRG group Badezimmer
    attr Sonos_BadezimmerRG noheading 1
    attr Sonos_BadezimmerRG nonames 1
    attr Sonos_BadezimmerRG room Sonos
    attr Sonos_BadezimmerRG sortby 2
    define Sonos_BadezimmerRG_Favourites readingsGroup Sonos_Badezimmer:<{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>
    attr Sonos_BadezimmerRG_Favourites DbLogExclude .*
    attr Sonos_BadezimmerRG_Favourites room Sonos
    define Sonos_BadezimmerRG_Radios readingsGroup Sonos_Badezimmer:<{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>
    attr Sonos_BadezimmerRG_Radios DbLogExclude .*
    attr Sonos_BadezimmerRG_Radios room Sonos
    define Sonos_BadezimmerRG_Playlists readingsGroup Sonos_Badezimmer:<{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>
    attr Sonos_BadezimmerRG_Playlists DbLogExclude .*
    attr Sonos_BadezimmerRG_Playlists room Sonos
    define Sonos_BadezimmerRC remotecontrol
    attr Sonos_BadezimmerRC DbLogExclude .*
    attr Sonos_BadezimmerRC group Sonos
    attr Sonos_BadezimmerRC rc_iconpath icons/remotecontrol
    attr Sonos_BadezimmerRC rc_iconprefix black_btn_
    attr Sonos_BadezimmerRC room hidden
    attr Sonos_BadezimmerRC row00 Play:rc_PLAY.svg,Pause:rc_PAUSE.svg,Previous:rc_PREVIOUS.svg,Next:rc_NEXT.svg,:blank,VolumeD:rc_VOLDOWN.svg,VolumeU:rc_VOLUP.svg,:blank,MuteT:rc_MUTE.svg,ShuffleT:rc_SHUFFLE.svg,RepeatT:rc_REPEAT.svg
    define Sonos_BadezimmerRC_Notify notify Sonos_BadezimmerRC set Sonos_Badezimmer $EVENT
    attr Sonos_BadezimmerRC_Notify DbLogExclude .*
    attr Sonos_BadezimmerRC_Notify room Sonos
    define Sonos_BadezimmerRC_Weblink weblink htmlCode {fhem("get Sonos_BadezimmerRC htmlcode", 1)}
    attr Sonos_BadezimmerRC_Weblink DbLogExclude .*
    attr Sonos_BadezimmerRC_Weblink group Badezimmer
    attr Sonos_BadezimmerRC_Weblink room Sonos
    attr Sonos_BadezimmerRC_Weblink sortby 3


    VG, Thomas
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 05 Dezember 2017, 14:52:15
    Zitat von: ToM_ToM am 05 Dezember 2017, 12:29:43
    Bei mir verliert FHEM permanent die Player. Die gehen immer wieder auf "disappeared".
    Habe mir ein notify gesetzt welches, sobald ein Player auf "disappeared" wechselt, ein "RescanNetwork" durchführt.
    Dann sind sie kurze Zeit wieder da und nach wenigen Sekunden wieder "disappeared".

    Kann das noch jemand beobachten oder hat eine Lösung?

    Anbei meine Config:


    # Sonos#
    ########
    define Sonos SONOS localhost:4711 30 8 5
    attr Sonos DbLogExclude .*
    attr Sonos getListsDirectlyToReadings 1
    attr Sonos getPlaylistsListAtNewVersion 1
    attr Sonos getQueueListAtNewVersion 1
    attr Sonos getRadiosListAtNewVersion 1
    attr Sonos room Sonos
    attr Sonos targetSpeakDir /opt/fhem/SonosSpeak
    attr Sonos targetSpeakFileHashCache 1
    attr Sonos targetSpeakMP3FileDir /opt/fhem/SonosSpeak
    attr Sonos targetSpeakURL \\192.168.152.54\SonosSpeak
    attr Sonos verbose 3

    # Automatische Aktualisierung der Favoriten / Playlisten / Radios durch Notifies
    define Sonos_GetNewFavouritesNotify notify Sonos_[^_]+:FavouritesVersion.* { fhem("get $NAME FavouritesWithCovers");; fhem("get $NAME Favourites");; }
    attr Sonos_GetNewFavouritesNotify room Sonos
    define Sonos_GetNewPlaylistsNotify notify Sonos_[^_]+:PlaylistsVersion.* { fhem("get $NAME PlaylistsWithCovers");; fhem("get $NAME Playlists");; }
    attr Sonos_GetNewPlaylistsNotify room Sonos
    define Sonos_GetNewRadiosNotify notify Sonos_[^_]+:RadiosVersion.* { fhem("get $NAME RadiosWithCovers");; fhem("get $NAME Radios");; }
    attr Sonos_GetNewRadiosNotify room Sonos
    define Sonos_GetNewQueueNotify notify Sonos_[^_]+:QueueVersion.* { fhem("get $NAME QueueWithCovers");; fhem("get $NAME Queue");; }
    attr Sonos_GetNewQueueNotify room Sonos

    # Sonos Gruppenkonstellation
    define SonosRG readingsGroup Sonos:<{getGroupsRG()}@ZoneGroupState>
    attr SonosRG room Sonos


    define notify_Sonos_Wohnzimmer_CurrentSenderURLFormat notify Sonos_Wohnzimmer:currentSender.* {my $urlEncode = ReadingsVal("Sonos_Wohnzimmer", "currentSender", "");; $urlEncode =~ s/\s/%20/g;; fhem("setreading Sonos_Wohnzimmer currentSenderURLFormat $urlEncode")}
    attr notify_Sonos_Wohnzimmer_CurrentSenderURLFormat room Sonos

    # Sonos Dummy für Display #
    ###########################
    define Sonos_Wohnzimmer_Einstellung dummy
    attr Sonos_Wohnzimmer_Einstellung DbLogExclude .*
    attr Sonos_Wohnzimmer_Einstellung room Sonos
    attr Sonos_Wohnzimmer_Einstellung userReadings Source: Titel:



    # Sonos - Player Wohnzimmer 1 #
    define Sonos_Wohnzimmer SONOSPLAYER RINCON_B8E937E05ACE01400_MR
    attr Sonos_Wohnzimmer DbLogExclude .*
    attr Sonos_Wohnzimmer alarmDevice Actor
    attr Sonos_Wohnzimmer alarmSettings alarm0,|set Sonos_Wohnzimmer PlayURI \\192.168.152.54\AlarmSystem\AlarmSounds\salamisound-8746857-alarm-sirene-auto.mp3|set Sonos_Wohnzimmer Stop|0
    attr Sonos_Wohnzimmer alias Wohnzimmer
    attr Sonos_Wohnzimmer event-on-change-reading .*
    attr Sonos_Wohnzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Wohnzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Wohnzimmer generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Wohnzimmer generateVolumeSlider 1
    attr Sonos_Wohnzimmer getAlarms 1
    attr Sonos_Wohnzimmer group Wohnzimmer
    attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Wohnzimmer minVolume 0
    attr Sonos_Wohnzimmer model Sonos_S1
    attr Sonos_Wohnzimmer room Sonos
    attr Sonos_Wohnzimmer sortby 1
    attr Sonos_Wohnzimmer stateVariable Presence
    attr Sonos_Wohnzimmer userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal("Sonos_Wohnzimmer", "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }
    define Sonos_WohnzimmerRG readingsGroup Sonos_Wohnzimmer:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>
    attr Sonos_WohnzimmerRG group Wohnzimmer
    attr Sonos_WohnzimmerRG noheading 1
    attr Sonos_WohnzimmerRG nonames 1
    attr Sonos_WohnzimmerRG room Sonos
    attr Sonos_WohnzimmerRG sortby 2
    define Sonos_WohnzimmerRG_Favourites readingsGroup Sonos_Wohnzimmer:<{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>
    attr Sonos_WohnzimmerRG_Favourites DbLogExclude .*
    attr Sonos_WohnzimmerRG_Favourites room Sonos
    define Sonos_WohnzimmerRG_Radios readingsGroup Sonos_Wohnzimmer:<{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>
    attr Sonos_WohnzimmerRG_Radios DbLogExclude .*
    attr Sonos_WohnzimmerRG_Radios room Sonos
    define Sonos_WohnzimmerRG_Playlists readingsGroup Sonos_Wohnzimmer:<{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>
    attr Sonos_WohnzimmerRG_Playlists room Sonos
    define Sonos_WohnzimmerRC remotecontrol
    attr Sonos_WohnzimmerRC group Sonos
    attr Sonos_WohnzimmerRC rc_iconpath icons/remotecontrol
    attr Sonos_WohnzimmerRC rc_iconprefix black_btn_
    attr Sonos_WohnzimmerRC room hidden
    attr Sonos_WohnzimmerRC row00 Play:rc_PLAY.svg,Pause:rc_PAUSE.svg,Previous:rc_PREVIOUS.svg,Next:rc_NEXT.svg,:blank,VolumeD:rc_VOLDOWN.svg,VolumeU:rc_VOLUP.svg,:blank,MuteT:rc_MUTE.svg,ShuffleT:rc_SHUFFLE.svg,RepeatT:rc_REPEAT.svg
    define Sonos_WohnzimmerRC_Notify notify Sonos_WohnzimmerRC set Sonos_Wohnzimmer $EVENT
    attr Sonos_WohnzimmerRC_Notify DbLogExclude .*
    attr Sonos_WohnzimmerRC_Notify room Sonos
    define Sonos_WohnzimmerRC_Weblink weblink htmlCode {fhem("get Sonos_WohnzimmerRC htmlcode", 1)}
    attr Sonos_WohnzimmerRC_Weblink group Wohnzimmer
    attr Sonos_WohnzimmerRC_Weblink room Sonos
    attr Sonos_WohnzimmerRC_Weblink sortby 3

    # Sonos - Player Badezimmer #
    define Sonos_Badezimmer SONOSPLAYER RINCON_B8E937E3ADE601400_MR
    attr Sonos_Badezimmer DbLogExclude .*
    attr Sonos_Badezimmer alias Badezimmer
    attr Sonos_Badezimmer event-on-change-reading .*
    attr Sonos_Badezimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Badezimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Badezimmer generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Badezimmer generateVolumeSlider 1
    attr Sonos_Badezimmer getAlarms 1
    attr Sonos_Badezimmer group Badezimmer
    attr Sonos_Badezimmer icon icoSONOSPLAYER_icon-S1.png
    attr Sonos_Badezimmer minVolume 0
    attr Sonos_Badezimmer model Sonos_S1
    attr Sonos_Badezimmer room Sonos
    attr Sonos_Badezimmer sortby 1
    attr Sonos_Badezimmer stateVariable Presence
    define Sonos_BadezimmerRG readingsGroup Sonos_Badezimmer:<{SONOS_getCoverTitleRG($DEVICE)}@infoSummarize2>
    attr Sonos_BadezimmerRG DbLogExclude .*
    attr Sonos_BadezimmerRG group Badezimmer
    attr Sonos_BadezimmerRG noheading 1
    attr Sonos_BadezimmerRG nonames 1
    attr Sonos_BadezimmerRG room Sonos
    attr Sonos_BadezimmerRG sortby 2
    define Sonos_BadezimmerRG_Favourites readingsGroup Sonos_Badezimmer:<{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>
    attr Sonos_BadezimmerRG_Favourites DbLogExclude .*
    attr Sonos_BadezimmerRG_Favourites room Sonos
    define Sonos_BadezimmerRG_Radios readingsGroup Sonos_Badezimmer:<{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>
    attr Sonos_BadezimmerRG_Radios DbLogExclude .*
    attr Sonos_BadezimmerRG_Radios room Sonos
    define Sonos_BadezimmerRG_Playlists readingsGroup Sonos_Badezimmer:<{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>
    attr Sonos_BadezimmerRG_Playlists DbLogExclude .*
    attr Sonos_BadezimmerRG_Playlists room Sonos
    define Sonos_BadezimmerRC remotecontrol
    attr Sonos_BadezimmerRC DbLogExclude .*
    attr Sonos_BadezimmerRC group Sonos
    attr Sonos_BadezimmerRC rc_iconpath icons/remotecontrol
    attr Sonos_BadezimmerRC rc_iconprefix black_btn_
    attr Sonos_BadezimmerRC room hidden
    attr Sonos_BadezimmerRC row00 Play:rc_PLAY.svg,Pause:rc_PAUSE.svg,Previous:rc_PREVIOUS.svg,Next:rc_NEXT.svg,:blank,VolumeD:rc_VOLDOWN.svg,VolumeU:rc_VOLUP.svg,:blank,MuteT:rc_MUTE.svg,ShuffleT:rc_SHUFFLE.svg,RepeatT:rc_REPEAT.svg
    define Sonos_BadezimmerRC_Notify notify Sonos_BadezimmerRC set Sonos_Badezimmer $EVENT
    attr Sonos_BadezimmerRC_Notify DbLogExclude .*
    attr Sonos_BadezimmerRC_Notify room Sonos
    define Sonos_BadezimmerRC_Weblink weblink htmlCode {fhem("get Sonos_BadezimmerRC htmlcode", 1)}
    attr Sonos_BadezimmerRC_Weblink DbLogExclude .*
    attr Sonos_BadezimmerRC_Weblink group Badezimmer
    attr Sonos_BadezimmerRC_Weblink room Sonos
    attr Sonos_BadezimmerRC_Weblink sortby 3


    VG, Thomas

    Wie sieht den Dein Netz aus?

    Router
    Switche
    WLan
    Sonos Connects o.ä. ?
    Titel: Antw:Sonos steuern
    Beitrag von: ToM_ToM am 05 Dezember 2017, 14:56:31
    ZitatWie sieht den Dein Netz aus?

    Hey Wuppi68,

    Ich habe als Router eine FritzBox an der hinten dran ein Switch hängt.
    Der Pi auf dem FHEM läuft, hängt jedoch direkt per LAN an der FritzBox.
    Die 2 Sonos Play1 (1. Gen.) sind per WLAN verbunden. Per Sonos Android App gibt's auch keinerlei Probleme.

    VG, Thomas
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 05 Dezember 2017, 15:08:54
    Zitat von: ToM_ToM am 05 Dezember 2017, 14:56:31
    Hey Wuppi68,

    Ich habe als Router eine FritzBox an der hinten dran ein Switch hängt.
    Der Pi auf dem FHEM läuft, hängt jedoch direkt per LAN an der FritzBox.
    Die 2 Sonos Play1 (1. Gen.) sind per WLAN verbunden. Per Sonos Android App gibt's auch keinerlei Probleme.

    VG, Thomas

    Was für ein Switch ist das?
    Haben die Sonos eine feste IP in der Fritte angegeben?
    Titel: Antw:Sonos steuern
    Beitrag von: ToM_ToM am 05 Dezember 2017, 15:12:14
    ZitatWas für ein Switch ist das?

    Das ist ein Netgear 9 Port Gigabit Switch.
    Und ja, bei mir haben alle Geräte eine feste IP in der FritzBox.
    Ich hatte auch beim Sonos Device die erlaubten IPs gesetzt und das Attribut jetzt mal rausgeschmissen, hat aber leider auch nichts geholfen.
    Titel: Antw:Sonos steuern
    Beitrag von: Bastian0302 am 09 Dezember 2017, 17:50:43
    Guten Abend.
    Den Fehler beobachte ich auch. Bei mir haut er noch ein Fehler ins Log.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    2017.12.09 17:16:23 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    2017.12.09 17:20:10 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    2017.12.09 17:21:25 1: RMDIR: ./restoreDir/2017-09-26
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    2017.12.09 17:26:59 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    2017.12.09 17:31:45 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6282 thread 1.
    2017.12.09 17:35:20 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...


    Verbindet sich immer wieder mal und dann verliert er die Verbindung auch wieder.
    Titel: Antw:Sonos steuern
    Beitrag von: awel am 09 Dezember 2017, 20:39:34
    Habe einen ähnlichen(?) Fehler:

    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4048 thread 1
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4072 thread 1
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4096 thread 1
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4120 thread 1
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4144 thread 1
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4168 thread 1
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4192 thread 1
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4240 thread 1


    Das gibt es auch noch mit anderen thread-Nummern; htop zeigte gerade 8 SONOS-Threads an, aber auch das wechselt.


    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4048 thread 7
    ...
    Renewal of subscription failed with error: 412 Precondition Failed at ./FHEM/00_SONOS.pm line 4048 thread 13


    SONOS wird überwiegend über die App oder über Alexa bedient - es hat sowohl bei der Sonos-Firm- und Software, möglicherweise auch bei dem Alexa-Skill, in letzter Zeit mehrere Änderungen gegeben.

    Der von Bastian0302 gemeldete Fehler wurde heute auch unter https://forum.fhem.de/index.php/topic,78973.msg728565.html#msg728565 (https://forum.fhem.de/index.php/topic,78973.msg728565.html#msg728565) berichtet.

    Danke für die Mühen und jede Hilfe!

    Achim

    Titel: Antw:Sonos steuern
    Beitrag von: kumue am 10 Dezember 2017, 11:52:58
    Ich habe ButtonEvents deklariert, aber ich sehe im Eventmonitor keine entsprechenden Events.
    Wenn ich die Tastenkombi drücke (versch. Kombinationen durchgespielt), kommt im Eventmonitor nur sowas
    2017-12-10 11:48:12 SONOS mySonos LastProcessAnswer: 2017-12-10 11:48:12

    Danke vorab für hoffentlich eintrudelnde Tips und schönen 2.Advent !
    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 10 Dezember 2017, 12:08:55
    Nach einem update und Neustart gibt es noch einiges an uninitialized values:


    Use of uninitialized value $value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 10214, <$client> line 8.
    Use of uninitialized value $value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 10218, <$client> line 8.
    Use of uninitialized value $value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 10214, <$client> line 8.
    Use of uninitialized value $value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 10218, <$client> line 8.


    Vielleicht bei Gelegenheit mal die log-aufrufe anpassen mit defined(..)?

    Titel: Antw:Sonos steuern
    Beitrag von: kumue am 11 Dezember 2017, 14:33:46
    Zitat von: kumue am 10 Dezember 2017, 11:52:58
    Ich habe ButtonEvents deklariert, aber ich sehe im Eventmonitor keine entsprechenden Events.
    Wenn ich die Tastenkombi drücke (versch. Kombinationen durchgespielt), kommt im Eventmonitor nur sowas
    2017-12-10 11:48:12 SONOS mySonos LastProcessAnswer: 2017-12-10 11:48:12

    Danke vorab für hoffentlich eintrudelnde Tips und schönen 2.Advent !

    ButtonEvents kommen jetzt.. :)
    Kann es sein, daß man FHEM neu starten muss, damit das Attribut wirksam wird ?
    Ein Ändern des Attributes würde somit auch eines Neustarts bedürfen ?
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 28 Dezember 2017, 11:07:52
    Hallo Reinerlein,

    der Befehl:

    set Sonos_Arbeitszimmer ExportSonosBibliothek  /hdd/sda4/Sonos/Bibliothek.txt

    scheint nicht mehr zu funktionieren. Woltle nach ca. 2 Jahren mal wieder meinen Suchindex aktualisieren. Im log sehe ich zwar, das der Befehl von Sonos übernommen wird, mehr kommt aber nicht mehr.
    Zugriffsrechte passen, habe ich auch nicht mehr geändert.
    Was aber häufig zu beobachten ist, dass der Sub-Prozess sich recht häufig beendet...
    Ob es ursächlich, habe das gestern mit dem ExportSonosBibliothek   mehrfach ausprobiert und es gab häufig Neustarts des Subprozeß, kann ich jedoch noch nicht definitiv sagen.

    Das Sonos - Modul ist auf dem aktuellen Stand. Mit verbose 4 für den Subprozess sehe ich nur, das der ExportSonosBibliothek  - Befehl übernommen wird, aber kein Ergebnis....

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 Dezember 2017, 12:06:23
    Hi Elektrolurch,

    da könnte es sehr gut sein, dass die Überprüfung, ob der SubProzess noch lebt, keine Antwort bekommt, während das alles generiert wird.
    Das dauert alles ja ziemlich lange, und läuft auch in dem Thread, der die Antworten geben muss.

    Ich schaue mir das mal an...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: FunkOdyssey am 29 Dezember 2017, 16:47:41
    Ich habe seit dem neulichen Update auch folgende Zeilen im FHEM-Log:

    2017.12.29 16:32:42.331 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 120 Sekunden...
    2017.12.29 16:32:42.628 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2017.12.29 16:32:42.777 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    2017.12.29 16:33:11.783 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2017.12.29 16:33:15.322 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2017.12.29 16:37:22.085 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 120 Sekunden...
    2017.12.29 16:37:22.364 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2017.12.29 16:37:22.544 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    2017.12.29 16:37:51.550 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2017.12.29 16:37:55.493 0: SONOS0: Can't bind Port 4711: Bind failed: Die Adresse wird bereits verwendet at ./FHEM/00_SONOS.pm line 9815.
    2017.12.29 16:37:55.494 0: SONOS0: Retries left (wait 30s): 9
    2017.12.29 16:38:25.526 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2017.12.29 16:41:21.652 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 120 Sekunden...
    2017.12.29 16:41:21.946 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...


    Der RasPi wurde mittlerweile schon komplett neu gestartet.
    Titel: Antw:Sonos steuern
    Beitrag von: hobby_musiker am 30 Dezember 2017, 18:09:37
    Zitat von: octek0815 am 17 Dezember 2016, 17:44:40
    Hi,

    die Cover von Prime Music werden bei mir leider auch nicht angezeigt. Gibt es hierfür inzwischen eine Lösung?

    Grüße
    Olli

    Habe dasselbe Problem wie octek0815 und uniqueck. URL bei meiner Playlist: http://<MEINE SONOS-IP-ADRESSE>:1400/getaa?u=x-rincon-cpcontainer%3A1006206ccatalog%252fplaylists%252fB076ZT8XFT%252f%2523prime_playlist%3Fsid%3D201%26flags%3D8300%26sn%3D1

    Auch bei mir sind die Cover auf dem Handy sichtbar, die URL liefert im Browser eine leere Seite (und in FHEM wird natürlich dann auch nix angezeigt).

    Das Problem tritt nur (?) bei Playlists auf. Wenn ich z.B. irgendein Album von Amazon Music streame, kann ich die Covers sehen. Auch Radiosender werden angezeigt.

    Irgendjemand, der das schon hinbekommen hat oder eine Idee, warum das nicht klappt?
    Titel: Antw:Sonos steuern
    Beitrag von: denny84blau am 01 Januar 2018, 14:04:38
    Hallo, ist es möglich über den Befehl Nightmode den Sonos zb. nachts stumm zu schalten?? Also keine speak Ausgabe?
    Habe mehrere doifs per speak am laufen?

    Titel: Antw:Sonos steuern
    Beitrag von: StephanFHEM am 01 Januar 2018, 15:07:51
    bei mir ebenso der folgende Fehler seit dem letzten Update (leider will meine Haustürklingel damit auch nicht mehr):

    ZitatIch habe seit dem neulichen Update auch folgende Zeilen im FHEM-Log:

    Code: [Auswählen]
    2017.12.29 16:32:42.331 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 120 Sekunden...
    2017.12.29 16:32:42.628 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2017.12.29 16:32:42.777 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    2017.12.29 16:33:11.783 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2017.12.29 16:33:15.322 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2017.12.29 16:37:22.085 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 120 Sekunden...
    2017.12.29 16:37:22.364 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2017.12.29 16:37:22.544 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    2017.12.29 16:37:51.550 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2017.12.29 16:37:55.493 0: SONOS0: Can't bind Port 4711: Bind failed: Die Adresse wird bereits verwendet at ./FHEM/00_SONOS.pm line 9815.
    2017.12.29 16:37:55.494 0: SONOS0: Retries left (wait 30s): 9
    2017.12.29 16:38:25.526 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2017.12.29 16:41:21.652 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 120 Sekunden...
    2017.12.29 16:41:21.946 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...

    Der RasPi wurde mittlerweile schon komplett neu gestartet.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 01 Januar 2018, 15:09:29
    Zitat von: denny84blau am 01 Januar 2018, 14:04:38
    Hallo, ist es möglich über den Befehl Nightmode den Sonos zb. nachts stumm zu schalten?? Also keine speak Ausgabe?
    Habe mehrere doifs per speak am laufen?
    Gesundes neues Jahr!

    Du kannst doch über ein DOIF mit Zeiten einfach den Mute Befehl verwenden!? Entweder für die Speaker einzeln oder für die Gruppe.

    set Sonos_xxx Mute 1 schaltet den Lautsprecher aus. Mit set TYPE=SONOSPLAYER Mute 1schaltest Du alle Player Stumm.

    Wenn ich in der Doku lese kommt zu Deiner Frage das raus:
    ZitatNightMode <State>
    Legt den Zustand des Nachtsounds der Playbar fest.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: denny84blau am 01 Januar 2018, 17:36:12
    Vielen Dank für die schnelle Antwort. Wenn ich aber mit dem Set Befehl zeitlich mute, mit welchem Befehl kann ich denn das mute wieder aufheben???

    defmod di_mute_Sonos DOIF ([20:00|Mo Di Mi DO FR] or [20:30|Sa So]) (set Sonos_Eingang Mute 1) DOELSEIF ([08:40|Mo Di Mi Do Fr] or [10:20|Sa So]) (set Sonos_Eingang Mute 0)

    setstate di_mute_Sonos initialized
    setstate di_mute_Sonos 2018-01-01 17:29:23 cmd 0
    setstate di_mute_Sonos 2018-01-01 17:29:23 state initialized
    setstate di_mute_Sonos 2018-01-01 17:29:23 timer_01_c01 01.01.2018 20:00:00|MoDiMiDOFR
    setstate di_mute_Sonos 2018-01-01 17:29:23 timer_02_c01 01.01.2018 20:30:00|SaSo
    setstate di_mute_Sonos 2018-01-01 17:29:23 timer_03_c02 02.01.2018 08:40:00|MoDiMiDoFr
    setstate di_mute_Sonos 2018-01-01 17:29:23 timer_04_c02 02.01.2018 10:20:00|SaSo




    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 01 Januar 2018, 19:28:20
    na mit set TYPE=SONOSPLAYER Mute 0  :-\ :-X :o

    Oder hab ich die Frage nicht verstanden? Steht doch in deinem DOIF richtig drin?
    Titel: Antw:Sonos steuern
    Beitrag von: denny84blau am 01 Januar 2018, 20:24:54
    Ja Vielen Dank! Hab ich auch gerade gemerkt. Werde das testen.


    Titel: Antw:Sonos steuern
    Beitrag von: denny84blau am 02 Januar 2018, 14:03:51
    Leider funktioniert das so nicht, der Mute Befehl wird vom Rincon speak Befehl ignoriert. Playlisten etc werden gemutet. Jemand noch ne idee?
    Ich wollte den Sonos eigentlich nicht Stromlos schalten, da dieser sich manchmal nicht wieder richtig connectet.
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 02 Januar 2018, 14:11:51
    beim speak befehl mit FILTER prüfen das mute nicht gesetzt ist
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 02 Januar 2018, 19:05:55
    Naja genau genommen ignoriert er den Mute nicht sondern er setzt ihn zurück auf 0!

    Offenbar weil in FHEM der Speak Befehl den Mute=1 aufhebt  ::) :o

    Wusste ich bisher nicht.  :-[
    In der Sonos App ist das anders, da ist Mute und Volume völlig getrennt regelbar!

    Edit: ist in FHEM auch so. Es liegt offenbar explizit am Speak Befehl. Bug oder Feature?



    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2018, 00:49:42
    Hallo zusammen,

    der Speak-Befehl setzt ein gesetztes Mute explizit zurück, macht die Durchsage, und stellt den ursprünglichen Zustand danach wieder her.

    Wenn du also eine Durchsage bei gesetztem Mute verhindern möchtest, dann musst du den Speak-Aufruf entsprechend unterbinden.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 03 Januar 2018, 07:22:17
    Hallo Reinerlein,

    der Speak Befehl setzt bei mir Mute zurück, stellt aber danach den Zustand nicht wieder her.

    Wobei das für die letzte Frage von denny84blau egal war. :D

    Mein Modul zu alt?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2018, 09:15:00
    Hi Otto,

    hmm.. das sollte nicht so sein, und ist eigentlich auch schon sehr lange so drin, liegt also bestimmt nicht an deiner Modulversion...

    Wird denn die Lautstärke korrekt wiederhergestellt?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 03 Januar 2018, 09:54:42
    Hallo Reiner,

    Ausgangszustand, mal ein kompletter listInternals:
       DEF        RINCON_000E586BE2A201400_MR
       NAME       Sonos_Buero
       NOTIFYDEV  Sonos_Buero
       NR         550
       NTFY_ORDER 50-Sonos_Buero
       STATE      appeared ~ 15.6% (0:00:26 / 0:02:47)
       TYPE       SONOSPLAYER
       UDN        RINCON_000E586BE2A201400_MR
       READINGS:
         2017-12-24 19:55:29   AlarmList       {}
         2017-12-24 19:55:29   AlarmListIDs
         2017-12-24 19:55:29   AlarmListVersion RINCON_000E58AAAD9C01400:63
         2017-07-14 13:25:51   AlarmRunning    0
         2017-07-14 13:25:51   AlarmRunningID
         2017-12-21 18:52:24   AvailablePlayer ['Sonos_Bad','Sonos_BadWanne','Sonos_Kueche','Sonos_Wohnzimmer']
         2017-07-14 13:25:47   Balance         0
         2017-07-14 13:26:49   Bass            0
         2017-07-14 13:25:51   CrossfadeMode   0
         2017-07-14 13:25:57   DailyIndexRefreshTime 02:00:00
         2017-07-14 13:25:51   DirectControlAccountID
         2017-07-14 13:25:51   DirectControlClientID
         2017-07-14 13:25:51   DirectControlIsSuspended 0
         2017-07-14 13:26:49   FavouritesVersion RINCON_000E586BE2A201400,39
         2018-01-03 09:41:37   GroupMute       0
         2018-01-03 09:41:42   GroupVolume     16
         2017-07-14 13:25:51   HeadphoneConnected 0
         2017-07-14 13:25:47   IsBonded        0
         2017-11-24 12:52:42   IsMaster        1
         2018-01-02 19:26:58   LastActionResult SetVolume: 6
         2017-07-14 13:26:47   LineInConnected 0
         2017-07-14 13:26:47   LineInIcon      AudioComponent
         2017-07-14 13:26:47   LineInName      Audio Component
         2017-07-14 13:26:49   Loudness        1
         2017-11-24 12:52:37   MasterPlayer    Sonos_Buero
         2018-01-03 09:41:37   Mute            0
         2017-07-14 13:26:49   OutputFixed     0
         2017-07-14 13:26:49   PlaylistsVersion RINCON_000E586BE2A201400,10
         2017-12-11 09:39:26   QueueHash       c61bbcb37d276219faa6c814c090ea46
         2017-12-11 09:39:26   QueueVersion    1
         2017-07-14 13:26:49   RadiosVersion   RINCON_000E586BE2A201400,39
         2017-07-14 13:25:51   Repeat          0
         2017-07-14 13:25:51   RepeatOne       0
         2017-12-11 09:25:54   Shuffle         0
         2017-12-21 18:52:24   SlavePlayer     []
         2017-12-21 18:52:24   SlavePlayerNotBonded []
         2017-07-14 13:25:51   SleepTimer      off
         2017-07-14 13:25:49   SleepTimerVersion
         2017-07-14 13:26:49   SubEnable       1
         2017-07-14 13:26:49   SubGain         0
         2017-07-14 13:26:49   SubPolarity     0
         2017-07-14 13:26:49   Treble          0
         2017-07-14 13:26:49   TruePlay        0
         2018-01-03 09:41:42   Volume          16
         2017-11-24 12:52:42   ZoneGroupID     RINCON_000E586BE2A201400:__
         2017-12-21 18:52:24   ZoneGroupName   Büro
         2017-12-21 18:52:24   ZoneGroupNameDetails
         2017-12-21 18:52:24   ZonePlayerUUIDsInGroup RINCON_000E586BE2A201400
         2018-01-03 09:42:32   currentAlbum    Don't Matter Now (Acoustic Version)
         2018-01-03 09:42:32   currentAlbumArtURL http://192.168.178.205:1400/getaa?s=1&u=x-sonosprog-http%3aA0DvPDnowsLFLpNggY3JXjLQAJw_cfDUDGP1la28peSa17Fhuoyj9A.mp3%3fsid%3d151%26flags%3d32%26sn%3d4
         2018-01-03 09:42:32   currentAlbumArtist George Ezra
         2018-01-03 09:42:32   currentArtist   George Ezra
         2018-01-03 09:42:32   currentEnqueuedTransportHandle x-sonosapi-radio:6EOkeYUzQpZMKH-Qr4RD5PxTlUC9IAVT1HzK4xExp9eZHYudq2shwGF_SXZp6CumsX8697MNlg0ETNacSnR3nYZP6HlKl_a9?sid=151&flags=8300&sn=4|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="100c206c6EOkeYUzQpZMKH-Qr4RD5PxTlUC9IAVT1HzK4xExp9eZHYudq2shwGF_SXZp6CumsX8697MNlg0ETNacSnR3nYZP6HlKl_a9" parentID="10082064dlnJGuawhIcKRmWb1_lF8B3sJsoL_-qw-04HlVnqGov4dhJPhcxisA" restricted="true"><dc:title>Akustische Singer-Songwriter</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON38663_X_#Svc38663-0-Token</desc></item></DIDL-Lite>
         2018-01-03 09:42:32   currentEnqueuedTransportURI x-sonosapi-radio:6EOkeYUzQpZMKH-Qr4RD5PxTlUC9IAVT1HzK4xExp9eZHYudq2shwGF_SXZp6CumsX8697MNlg0ETNacSnR3nYZP6HlKl_a9?sid=151&flags=8300&sn=4
         2017-07-14 13:25:51   currentFavouriteName
         2017-12-15 21:01:49   currentNormalAudio 1
         2017-12-08 16:37:05   currentOriginalTrackNumber
         2017-07-14 13:25:51   currentPlaylistName
         2017-07-14 13:25:51   currentRadioName
         2017-11-17 09:02:55   currentSender
         2017-11-17 09:02:55   currentSenderCurrent
         2017-11-17 09:02:18   currentSenderInfo
         2018-01-03 09:42:32   currentSource   Akustische Singer-Songwriter
         2018-01-02 19:02:33   currentStreamAudio 0
         2018-01-03 09:42:32   currentTitle    Don't Matter Now (Acoustic Version)
         2018-01-03 09:42:32   currentTrack    1
         2018-01-03 09:42:32   currentTrackDuration 0:02:47
         2018-01-03 09:42:32   currentTrackDurationSec 167
         2018-01-03 09:42:32   currentTrackHandle x-sonosprog-http:A0DvPDnowsLFLpNggY3JXjLQAJw_cfDUDGP1la28peSa17Fhuoyj9A.mp3?sid=151&amp;flags=32&amp;sn=4|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:audio/mpeg:*" duration="0:02:47">x-sonosprog-http:A0DvPDnowsLFLpNggY3JXjLQAJw_cfDUDGP1la28peSa17Fhuoyj9A.mp3?sid=151&amp;flags=32&amp;sn=4</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;u=x-sonosprog-http%3aA0DvPDnowsLFLpNggY3JXjLQAJw_cfDUDGP1la28peSa17Fhuoyj9A.mp3%3fsid%3d151%26flags%3d32%26sn%3d4</upnp:albumArtURI><dc:title>Don&apos;t Matter Now (Acoustic Version)</dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:creator>George Ezra</dc:creator><upnp:album>Don&apos;t Matter Now (Acoustic Version)</upnp:album></item></DIDL-Lite>
         2018-01-03 09:42:33   currentTrackPosition 0:00:00
         2018-01-03 09:42:33   currentTrackPositionSec 0
         2018-01-03 09:42:59   currentTrackPositionSimulated 0:00:26
         2018-01-03 09:42:59   currentTrackPositionSimulatedPercent 15.6
         2018-01-03 09:42:59   currentTrackPositionSimulatedSec 26.0228428840637
         2018-01-03 09:42:32   currentTrackProvider Google Play Music
         2018-01-03 09:42:32   currentTrackProviderIconQuadraticURL http://sonos-logo.ws.sonos.com/38663/38663-400x400.png
         2018-01-03 09:42:32   currentTrackProviderIconRoundURL http://sonos-logo.ws.sonos.com/38663/38663-72x72.png
         2018-01-03 09:42:32   currentTrackURI x-sonosprog-http:A0DvPDnowsLFLpNggY3JXjLQAJw_cfDUDGP1la28peSa17Fhuoyj9A.mp3?sid=151&amp;flags=32&amp;sn=4
         2017-07-14 13:25:47   fieldType
         2018-01-03 09:42:32   infoSummarize1  (George Ezra) 'Don't Matter Now (Acoustic Version)' vom Album 'Don't Matter Now (Acoustic Version)'
         2018-01-03 09:42:32   infoSummarize2  PLAYING => (George Ezra) 'Don't Matter Now (Acoustic Version)' vom Album 'Don't Matter Now (Acoustic Version)'
         2018-01-03 09:42:02   infoSummarize3  Lautstärke: 16 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2017-07-14 13:25:51   infoSummarize4
         2017-12-11 09:39:22   location        http://192.168.178.205:1400/xml/device_description.xml
         2017-12-08 16:37:05   nextAlbum
         2017-12-15 21:01:49   nextAlbumArtURL /fhem/sonos/cover/empty.jpg
         2017-12-08 16:37:05   nextAlbumArtist
         2017-12-08 16:37:05   nextArtist
         2017-12-08 16:37:05   nextOriginalTrackNumber
         2018-01-03 09:42:32   nextTitle
         2017-12-08 16:37:05   nextTrackDuration
         2017-12-08 16:37:05   nextTrackDurationSec
         2018-01-03 09:42:32   nextTrackHandle |
         2018-01-03 09:42:32   nextTrackProvider
         2018-01-03 09:42:32   nextTrackProviderIconQuadraticURL
         2018-01-03 09:42:32   nextTrackProviderIconRoundURL
         2018-01-03 09:42:32   nextTrackURI
         2018-01-03 09:42:32   numberOfTracks  10
         2017-07-14 13:25:47   playerType      S5
         2017-12-24 19:55:24   presence        appeared
         2017-07-14 13:26:48   roomIcon        office
         2017-07-14 13:25:47   roomName        Büro
         2017-07-14 13:25:47   roomNameAlias   Büro
         2017-07-14 13:25:47   saveRoomName    Buero
         2017-07-14 13:25:47   serialNum       00-0E-58-6B-E2-A2:5
         2017-12-24 19:55:24   softwareRevision 8.2.2
         2018-01-03 09:42:32   state           PLAYING
         2018-01-03 09:42:32   transportState  PLAYING
       helper:
         simulateCurrentTrackPosition 1
    Attributes:
       alias      Büro
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       getTitleInfoFromMaster 1
       group      Buero
       icon       icoSONOSPLAYER_icon-S5.png
       minVolume  0
       model      Sonos_S5
       room       Sonos
       simulateCurrentTrackPosition 1
       sortby     1
       stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Queue:LastActionResult.*?GetQueueWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }
       webCmd     Volume

    Jetzt mache ich
    set Sonos_Buero Mute 1ErgebnisInternals:
       DEF        RINCON_000E586BE2A201400_MR
       NAME       Sonos_Buero
       NOTIFYDEV  Sonos_Buero
       NR         550
       NTFY_ORDER 50-Sonos_Buero
       STATE      appeared ~ 57.0% (0:01:27 / 0:02:34)
         2018-01-03 09:47:16   GroupMute       1
         2018-01-03 09:46:46   GroupVolume     16
         2018-01-03 09:47:16   Mute            1
         2018-01-03 09:46:45   Volume          16
    Jetzt die Durchsage
    set Sonos_Buero speak 45 de Hallo
    Genaugenommen wird gar nichts wieder hergestellt. Habe ich aber schon immer als gegeben hingenommen. Ich glaube bei "lokaler" Musik, also "kein Stream" funktioniert die Wiederherstellung. Höre ich aber praktisch nie  ;)
    Internals:
       DEF        RINCON_000E586BE2A201400_MR
       NAME       Sonos_Buero
       NOTIFYDEV  Sonos_Buero
       NR         550
       NTFY_ORDER 50-Sonos_Buero
       STATE      appeared ~ 0.0% (0:00:00 / 0:00:00)
       TYPE       SONOSPLAYER
       UDN        RINCON_000E586BE2A201400_MR
       READINGS:
         2017-12-24 19:55:29   AlarmList       {}
         2017-12-24 19:55:29   AlarmListIDs
         2017-12-24 19:55:29   AlarmListVersion RINCON_000E58AAAD9C01400:63
         2017-07-14 13:25:51   AlarmRunning    0
         2017-07-14 13:25:51   AlarmRunningID
         2017-12-21 18:52:24   AvailablePlayer ['Sonos_Bad','Sonos_BadWanne','Sonos_Kueche','Sonos_Wohnzimmer']
         2017-07-14 13:25:47   Balance         0
         2017-07-14 13:26:49   Bass            0
         2017-07-14 13:25:51   CrossfadeMode   0
         2017-07-14 13:25:57   DailyIndexRefreshTime 02:00:00
         2017-07-14 13:25:51   DirectControlAccountID
         2017-07-14 13:25:51   DirectControlClientID
         2017-07-14 13:25:51   DirectControlIsSuspended 0
         2017-07-14 13:26:49   FavouritesVersion RINCON_000E586BE2A201400,39
         2018-01-03 09:50:11   GroupMute       0
         2018-01-03 09:50:11   GroupVolume     45
         2017-07-14 13:25:51   HeadphoneConnected 0
         2017-07-14 13:25:47   IsBonded        0
         2017-11-24 12:52:42   IsMaster        1
         2018-01-03 09:50:10   LastActionResult PlayURITemp: Success!
         2017-07-14 13:26:47   LineInConnected 0
         2017-07-14 13:26:47   LineInIcon      AudioComponent
         2017-07-14 13:26:47   LineInName      Audio Component
         2017-07-14 13:26:49   Loudness        1
         2017-11-24 12:52:37   MasterPlayer    Sonos_Buero
         2018-01-03 09:50:11   Mute            0
         2017-07-14 13:26:49   OutputFixed     0
         2017-07-14 13:26:49   PlaylistsVersion RINCON_000E586BE2A201400,10
         2017-12-11 09:39:26   QueueHash       c61bbcb37d276219faa6c814c090ea46
         2017-12-11 09:39:26   QueueVersion    1
         2017-07-14 13:26:49   RadiosVersion   RINCON_000E586BE2A201400,39
         2017-07-14 13:25:51   Repeat          0
         2017-07-14 13:25:51   RepeatOne       0
         2017-12-11 09:25:54   Shuffle         0
         2017-12-21 18:52:24   SlavePlayer     []
         2017-12-21 18:52:24   SlavePlayerNotBonded []
         2017-07-14 13:25:51   SleepTimer      off
         2017-07-14 13:25:49   SleepTimerVersion
         2017-07-14 13:26:49   SubEnable       1
         2017-07-14 13:26:49   SubGain         0
         2017-07-14 13:26:49   SubPolarity     0
         2017-07-14 13:26:49   Treble          0
         2017-07-14 13:26:49   TruePlay        0
         2018-01-03 09:50:11   Volume          45
         2017-11-24 12:52:42   ZoneGroupID     RINCON_000E586BE2A201400:__
         2017-12-21 18:52:24   ZoneGroupName   Büro
         2017-12-21 18:52:24   ZoneGroupNameDetails
         2017-12-21 18:52:24   ZonePlayerUUIDsInGroup RINCON_000E586BE2A201400
         2018-01-03 09:50:10   currentAlbum    Sprachdurchsagen
         2018-01-03 09:50:10   currentAlbumArtURL http://192.168.178.205:1400/getaa?u=x-file-cifs%3a%2f%2fRASPIB3%2fSonosSpeak%2fRINCON_000E586BE2A201400_MR_Speak_fd4cef7a4e607f1fcc920ad6329a6df2df99a4e8.mp3&v=60
         2018-01-03 09:50:10   currentAlbumArtist FHEM ~ Sonos
         2018-01-03 09:50:10   currentArtist   FHEM ~ Sonos
         2018-01-03 09:50:10   currentEnqueuedTransportHandle x-file-cifs://RASPIB3/SonosSpeak/RINCON_000E586BE2A201400_MR_Speak_fd4cef7a4e607f1fcc920ad6329a6df2df99a4e8.mp3|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="" parentID="" restricted="true"><dc:title></dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">RINCON_AssociatedZPUDN</desc></item></DIDL-Lite>
         2018-01-03 09:50:10   currentEnqueuedTransportURI x-file-cifs://RASPIB3/SonosSpeak/RINCON_000E586BE2A201400_MR_Speak_fd4cef7a4e607f1fcc920ad6329a6df2df99a4e8.mp3
         2017-07-14 13:25:51   currentFavouriteName
         2017-12-15 21:01:49   currentNormalAudio 1
         2017-12-08 16:37:05   currentOriginalTrackNumber
         2017-07-14 13:25:51   currentPlaylistName
         2017-07-14 13:25:51   currentRadioName
         2017-11-17 09:02:55   currentSender
         2017-11-17 09:02:55   currentSenderCurrent
         2017-11-17 09:02:18   currentSenderInfo
         2018-01-03 09:50:10   currentSource
         2018-01-02 19:02:33   currentStreamAudio 0
         2018-01-03 09:50:10   currentTitle    Hallo
         2018-01-03 09:50:10   currentTrack    1
         2018-01-03 09:50:10   currentTrackDuration 0:00:00
         2018-01-03 09:50:10   currentTrackDurationSec 0
         2018-01-03 09:50:10   currentTrackHandle //RASPIB3/SonosSpeak/RINCON_000E586BE2A201400_MR_Speak_fd4cef7a4e607f1fcc920ad6329a6df2df99a4e8.mp3|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="x-file-cifs:*:audio/mpeg:*" duration="0:00:00">x-file-cifs://RASPIB3/SonosSpeak/RINCON_000E586BE2A201400_MR_Speak_fd4cef7a4e607f1fcc920ad6329a6df2df99a4e8.mp3</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?u=x-file-cifs%3a%2f%2fRASPIB3%2fSonosSpeak%2fRINCON_000E586BE2A201400_MR_Speak_fd4cef7a4e607f1fcc920ad6329a6df2df99a4e8.mp3&amp;v=60</upnp:albumArtURI><dc:title>Hallo</dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:creator>FHEM ~ Sonos</dc:creator><upnp:album>Sprachdurchsagen</upnp:album><r:albumArtist>FHEM ~ Sonos</r:albumArtist></item></DIDL-Lite>
         2018-01-03 09:50:12   currentTrackPosition 0:00:00
         2018-01-03 09:50:12   currentTrackPositionSec 0
         2018-01-03 09:50:13   currentTrackPositionSimulated 0:00:00
         2018-01-03 09:50:11   currentTrackPositionSimulatedPercent 0.0
         2018-01-03 09:50:13   currentTrackPositionSimulatedSec 0
         2018-01-03 09:50:10   currentTrackProvider Bibliothek
         2018-01-03 09:50:10   currentTrackProviderIconQuadraticURL /fhem/sonos/cover/bibliothek_quadratic.jpg
         2018-01-03 09:50:10   currentTrackProviderIconRoundURL /fhem/sonos/cover/bibliothek_round.png
         2018-01-03 09:50:10   currentTrackURI //RASPIB3/SonosSpeak/RINCON_000E586BE2A201400_MR_Speak_fd4cef7a4e607f1fcc920ad6329a6df2df99a4e8.mp3
         2017-07-14 13:25:47   fieldType
         2018-01-03 09:50:10   infoSummarize1  (FHEM ~ Sonos) 'Hallo' vom Album 'Sprachdurchsagen'
         2018-01-03 09:50:12   infoSummarize2  STOPPED => (FHEM ~ Sonos) 'Hallo' vom Album 'Sprachdurchsagen'
         2018-01-03 09:50:11   infoSummarize3  Lautstärke: 45 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
         2017-07-14 13:25:51   infoSummarize4
         2017-12-11 09:39:22   location        http://192.168.178.205:1400/xml/device_description.xml
         2017-12-08 16:37:05   nextAlbum
         2017-12-15 21:01:49   nextAlbumArtURL /fhem/sonos/cover/empty.jpg
         2017-12-08 16:37:05   nextAlbumArtist
         2017-12-08 16:37:05   nextArtist
         2017-12-08 16:37:05   nextOriginalTrackNumber
         2018-01-03 09:42:32   nextTitle
         2017-12-08 16:37:05   nextTrackDuration
         2017-12-08 16:37:05   nextTrackDurationSec
         2018-01-03 09:42:32   nextTrackHandle |
         2018-01-03 09:42:32   nextTrackProvider
         2018-01-03 09:42:32   nextTrackProviderIconQuadraticURL
         2018-01-03 09:42:32   nextTrackProviderIconRoundURL
         2018-01-03 09:42:32   nextTrackURI
         2018-01-03 09:50:10   numberOfTracks  1
         2017-07-14 13:25:47   playerType      S5
         2017-12-24 19:55:24   presence        appeared
         2017-07-14 13:26:48   roomIcon        office
         2017-07-14 13:25:47   roomName        Büro
         2017-07-14 13:25:47   roomNameAlias   Büro
         2017-07-14 13:25:47   saveRoomName    Buero
         2017-07-14 13:25:47   serialNum       00-0E-58-6B-E2-A2:5
         2017-12-24 19:55:24   softwareRevision 8.2.2
         2018-01-03 09:50:12   state           STOPPED
         2018-01-03 09:50:12   transportState  STOPPED
       helper:
         simulateCurrentTrackPosition 0
    Attributes:
       alias      Büro
       generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
       generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
       generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
       generateVolumeSlider 1
       getAlarms  1
       getTitleInfoFromMaster 1
       group      Buero
       icon       icoSONOSPLAYER_icon-S5.png
       minVolume  0
       model      Sonos_S5
       room       Sonos
       simulateCurrentTrackPosition 1
       sortby     1
       stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
       userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, Queue:LastActionResult.*?GetQueueWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1; } }
       webCmd     Volume


    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2018, 10:39:29
    Hi Otto,

    in diesem Fall ist es aber noch nicht mal ein Stream :)

    Wird denn im Log auf Stufe 4 etwas vom Restore-Thread ausgegeben?
    Das beginnt dann mit "Restoring playerstate" und endet mit "Playerstate restored!".

    Außerdem wäre es gut zu wissen, was PlayURITemp so ausgibt. Das startet mit "Start temporary playing". .

    Der scheint ja einfach gar nichts zu machen :-\

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 03 Januar 2018, 11:08:59

    Hallo Reiner,
    jetzt muß ich mich doch mal melden, nachdem ich allerlei versucht habe und es nicht hin bekomme.
    Kurz - Module neuester Stand - alles läuft nur div. Readings + Covers werden nicht aktualisiert - siehe unten. State ist passend, Lautstärke geht, FavoritenRG geht.
    Habe schon alles gelöscht und neu angelegt - geht einmal, danach bleiben die Readings auf dem letzten Stand. (Ich nehme die Player immer vom Strom, nur die Bridge ist immer an)
    defmod Sonos_Lounge SONOSPLAYER RINCON_000E58262DF801400_MR
    attr Sonos_Lounge alias Lounge
    attr Sonos_Lounge generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Lounge generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Lounge generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Lounge generateVolumeSlider 1
    attr Sonos_Lounge getAlarms 0
    attr Sonos_Lounge getTitleInfoFromMaster 0
    attr Sonos_Lounge group XMusik
    attr Sonos_Lounge icon icoSONOSPLAYER_icon-ZP90.png
    attr Sonos_Lounge minVolume 0
    attr Sonos_Lounge model Sonos_ZP90
    attr Sonos_Lounge room Sonos
    attr Sonos_Lounge simulateCurrentTrackPosition 0
    attr Sonos_Lounge sortby 1
    attr Sonos_Lounge stateFormat presence
    attr Sonos_Lounge webCmd Volume


    setstate Sonos_Lounge appeared
    setstate Sonos_Lounge 2018-01-03 09:08:20 AlarmList ~~NotLoadedMarker~~
    setstate Sonos_Lounge 2018-01-03 09:08:20 AlarmListIDs ~~NotLoadedMarker~~
    setstate Sonos_Lounge 2018-01-03 09:08:20 AlarmListVersion ~~NotLoadedMarker~~
    setstate Sonos_Lounge 2017-12-24 12:19:48 AlarmRunning 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 AlarmRunningID
    setstate Sonos_Lounge 2018-01-03 09:45:08 AvailablePlayer []
    setstate Sonos_Lounge 2018-01-03 09:45:08 AvailablePlayerList
    setstate Sonos_Lounge 2018-01-03 09:45:08 AvailablePlayerListAlias
    setstate Sonos_Lounge 2017-12-24 12:19:28 Balance 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 Bass 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 CrossfadeMode 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 DailyIndexRefreshTime 17:00:00
    setstate Sonos_Lounge 2017-12-24 12:19:48 DirectControlAccountID
    setstate Sonos_Lounge 2017-12-24 12:19:48 DirectControlClientID
    setstate Sonos_Lounge 2017-12-24 12:19:48 DirectControlIsSuspended 0
    setstate Sonos_Lounge 2017-12-31 11:55:49 Favourites {'FV:2/2' => {'Ressource' => 'x-sonosapi-stream:s6814?sid=254&flags=8224&sn=0','Title' => 'Radio Swiss Jazz','Cover' => 'http://cdn-radiotime-logos.tunein.com/s6814g.png'},'FV:2/1' => {'Ressource' => 'x-sonosapi-stream:s13606?sid=254&flags=32&sn=0','Title' => 'Radio Paradise','Cover' => 'http://cdn-radiotime-logos.tunein.com/s13606g.png'},'FV:2/3' => {'Ressource' => 'x-sonosapi-stream:s73210?sid=254&flags=8224&sn=0','Title' => 'Jazz FM','Cover' => 'http://cdn-radiotime-logos.tunein.com/s73210g.png'},'FV:2/7' => {'Ressource' => 'x-sonosapi-radio:catalog%2fstations%2fA1F3WVP8R0SQDE%2f%23chunk-DG_lpzq-Sm-vezSll2tDmQ?sid=201&flags=8300&sn=5','Title' => 'Classic Rock','Cover' => 'http://192.168.2.43:1400/getaa?u=x-sonosapi-radio%3Acatalog%252fstations%252fA1F3WVP8R0SQDE%252f%2523chunk-DG_lpzq-Sm-vezSll2tDmQ%3Fsid%3D201%26flags%3D8300%26sn%3D5'}}
    setstate Sonos_Lounge 2017-12-28 14:43:49 FavouritesList Classic.Rock|Jazz.FM|Radio.Paradise|Radio.Swiss.Jazz
    setstate Sonos_Lounge 2017-12-28 14:43:49 FavouritesListAlias Classic Rock|Jazz FM|Radio Paradise|Radio Swiss Jazz
    setstate Sonos_Lounge 2017-12-31 13:01:02 FavouritesVersion RINCON_B8E93778D2ED01400,20
    setstate Sonos_Lounge 2017-12-24 12:19:48 GroupMute 0
    setstate Sonos_Lounge 2018-01-02 15:01:55 GroupVolume 49
    setstate Sonos_Lounge 2017-12-24 12:19:48 HeadphoneConnected 0
    setstate Sonos_Lounge 2017-12-24 12:19:28 IsBonded 0
    setstate Sonos_Lounge 2017-12-24 12:19:28 IsMaster 1
    setstate Sonos_Lounge 2018-01-03 10:57:43 LastActionResult StartFavourite: Success!
    setstate Sonos_Lounge 2017-12-24 12:19:48 LineInConnected 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 LineInIcon AudioComponent
    setstate Sonos_Lounge 2017-12-24 12:19:48 LineInName Audio Component
    setstate Sonos_Lounge 2017-12-24 12:19:48 Loudness 0
    setstate Sonos_Lounge 2017-12-31 13:00:59 MasterPlayer Sonos_Lounge
    setstate Sonos_Lounge 2017-12-24 12:19:48 Mute 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 OutputFixed 0
    setstate Sonos_Lounge 2017-12-25 14:27:54 PlaylistsVersion RINCON_000E58D8185601400,15
    setstate Sonos_Lounge 2018-01-01 18:00:09 Queue {'DurationSec' => 0,'Duration' => '0:00:00'}
    setstate Sonos_Lounge 2017-12-31 12:04:32 QueueDuration 0:00:00
    setstate Sonos_Lounge 2017-12-31 12:04:32 QueueDurationSec 0
    setstate Sonos_Lounge 2017-12-31 13:01:02 QueueHash 9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
    setstate Sonos_Lounge 2017-12-31 13:01:02 QueueVersion 1
    setstate Sonos_Lounge 2017-12-28 14:38:53 Radios {'R:0/0/0' => {'Title' => 'Radio Paradise','Ressource' => 'x-sonosapi-stream:s13606?sid=254&flags=32&sn=0','Cover' => 'http://cdn-radiotime-logos.tunein.com/s13606g.png'}}
    setstate Sonos_Lounge 2017-12-31 13:01:02 RadiosVersion RINCON_B8E93778D2ED01400,20
    setstate Sonos_Lounge 2017-12-24 12:19:48 Repeat 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 RepeatOne 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 Shuffle 0
    setstate Sonos_Lounge 2018-01-02 15:01:34 SlavePlayer []
    setstate Sonos_Lounge 2018-01-02 15:01:34 SlavePlayerList
    setstate Sonos_Lounge 2018-01-02 15:01:34 SlavePlayerListAlias
    setstate Sonos_Lounge 2018-01-02 15:01:34 SlavePlayerNotBonded []
    setstate Sonos_Lounge 2018-01-02 15:01:34 SlavePlayerNotBondedList
    setstate Sonos_Lounge 2018-01-02 15:01:34 SlavePlayerNotBondedListAlias
    setstate Sonos_Lounge 2017-12-24 12:19:48 SleepTimer off
    setstate Sonos_Lounge 2017-12-24 12:19:48 SleepTimerVersion
    setstate Sonos_Lounge 2018-01-02 14:23:58 SubEnable 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 SubGain 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 SubPolarity 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 Treble 0
    setstate Sonos_Lounge 2017-12-24 12:19:48 TruePlay 0
    setstate Sonos_Lounge 2018-01-03 09:36:56 Volume 45
    setstate Sonos_Lounge 2017-12-24 12:19:48 ZoneGroupID RINCON_000E58262DF801400:__
    setstate Sonos_Lounge 2018-01-02 14:49:16 ZoneGroupName Lounge + 3
    setstate Sonos_Lounge 2018-01-02 15:01:34 ZoneGroupNameDetails
    setstate Sonos_Lounge 2018-01-02 14:49:16 ZonePlayerUUIDsInGroup RINCON_000E58262DF801400,RINCON_B8E93722F00601400,RINCON_000E58D8185601400,RINCON_B8E93778D2ED01400
    setstate Sonos_Lounge 2018-01-02 16:49:55 currentAlbum Bon Jovi Greatest Hits
    setstate Sonos_Lounge 2018-01-02 16:49:55 currentAlbumArtURL http://192.168.2.43:1400/getaa?s=1&u=x-sonosapi-hls-static%3acatalog%252ftracks%252fB006Z7DV8K%252f%253fra%253dtrue%2526tr%253dneutral%2526sk%253dA1F3WVP8R0SQDE%2526sii%253d3cf5c99f-dc5e-416a-92ff-e291300f9e1a%2526toi%253d1170%2526si%253d4%2526st%253dhawkfireStation%2526rfi%253d34dcad0d-efd1-11e7-9b1f-d7b9d624eccf%3fsid%3d201%26flags%3d0%26sn%3d5
    setstate Sonos_Lounge 2018-01-02 14:23:58 currentAlbumArtist Van Halen
    setstate Sonos_Lounge 2018-01-02 16:49:55 currentArtist Bon Jovi
    setstate Sonos_Lounge 2018-01-02 14:23:58 currentEnqueuedTransportHandle x-sonosapi-radio:catalog%2fstations%2fA1F3WVP8R0SQDE%2f%23chunk-DG_lpzq-Sm-vezSll2tDmQ?sid=201&flags=8300&sn=5|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="100c206ccatalog%2fstations%2fA1F3WVP8R0SQDE%2f%23chunk-DG_lpzq-Sm-vezSll2tDmQ" parentID="10082064catalog%2fstations%2frefinements%2fgenres%2f7424984e-3ef5-4c61-86c5-4761a825e51c%2f%23prime_stations" restricted="true"><dc:title>Classic Rock</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON51463_X_#Svc51463-0-Token</desc></item></DIDL-Lite>
    setstate Sonos_Lounge 2018-01-02 14:23:58 currentEnqueuedTransportURI x-sonosapi-radio:catalog%2fstations%2fA1F3WVP8R0SQDE%2f%23chunk-DG_lpzq-Sm-vezSll2tDmQ?sid=201&flags=8300&sn=5
    setstate Sonos_Lounge 2018-01-02 14:23:58 currentFavouriteName Classic Rock
    setstate Sonos_Lounge 2018-01-02 14:23:58 currentFavouriteNameMasked Classic.Rock
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentNormalAudio
    setstate Sonos_Lounge 2017-12-24 12:19:48 currentOriginalTrackNumber
    setstate Sonos_Lounge 2017-12-24 12:19:48 currentPlaylistName
    setstate Sonos_Lounge 2017-12-24 12:19:48 currentPlaylistNameMasked
    setstate Sonos_Lounge 2018-01-02 14:23:58 currentRadioName
    setstate Sonos_Lounge 2018-01-02 14:23:58 currentRadioNameMasked
    setstate Sonos_Lounge 2018-01-02 14:24:26 currentSender
    setstate Sonos_Lounge 2017-12-24 12:19:48 currentSenderCurrent
    setstate Sonos_Lounge 2018-01-02 14:24:26 currentSenderInfo
    setstate Sonos_Lounge 2018-01-02 14:23:58 currentSource Classic Rock
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentStreamAudio 1
    setstate Sonos_Lounge 2018-01-02 16:49:55 currentTitle Livin' On A Prayer
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentTrack 1
    setstate Sonos_Lounge 2018-01-03 09:21:50 currentTrackDuration 0:00:00
    setstate Sonos_Lounge 2018-01-03 09:21:50 currentTrackDurationSec 0
    setstate Sonos_Lounge 2018-01-02 16:49:55 currentTrackHandle x-sonosapi-hls-static:catalog%2ftracks%2fB006Z7DV8K%2f%3fra%3dtrue%26tr%3dneutral%26sk%3dA1F3WVP8R0SQDE%26sii%3d3cf5c99f-dc5e-416a-92ff-e291300f9e1a%26toi%3d1170%26si%3d4%26st%3dhawkfireStation%26rfi%3d34dcad0d-efd1-11e7-9b1f-d7b9d624eccf?sid=201&amp;;flags=0&amp;;sn=5|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo=":*:application/x-mpegURL:*" duration="0:04:09">x-sonosapi-hls-static:catalog%2ftracks%2fB006Z7DV8K%2f%3fra%3dtrue%26tr%3dneutral%26sk%3dA1F3WVP8R0SQDE%26sii%3d3cf5c99f-dc5e-416a-92ff-e291300f9e1a%26toi%3d1170%26si%3d4%26st%3dhawkfireStation%26rfi%3d34dcad0d-efd1-11e7-9b1f-d7b9d624eccf?sid=201&amp;;flags=0&amp;;sn=5</res><r:streamContent></r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;;u=x-sonosapi-hls-static%3acatalog%252ftracks%252fB006Z7DV8K%252f%253fra%253dtrue%2526tr%253dneutral%2526sk%253dA1F3WVP8R0SQDE%2526sii%253d3cf5c99f-dc5e-416a-92ff-e291300f9e1a%2526toi%253d1170%2526si%253d4%2526st%253dhawkfireStation%2526rfi%253d34dcad0d-efd1-11e7-9b1f-d7b9d624eccf%3fsid%3d201%26flags%3d0%26sn%3d5</upnp:albumArtURI><dc:title>Livin&apos;; On A Prayer</dc:title><upnp:class>object.item.audioItem.musicTrack</upnp:class><dc:creator>Bon Jovi</dc:creator><upnp:album>Bon Jovi Greatest Hits</upnp:album></item></DIDL-Lite>
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentTrackPosition 0:01:51
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentTrackPositionSec 111
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentTrackPositionSimulated 0:01:51
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentTrackPositionSimulatedPercent 0.0
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentTrackPositionSimulatedSec 111.529947042465
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentTrackProvider Radio
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentTrackProviderIconQuadraticURL /fhem/sonos/cover/tunein_quadratic.jpg
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentTrackProviderIconRoundURL /fhem/sonos/cover/tunein_round.png
    setstate Sonos_Lounge 2018-01-03 09:36:56 currentTrackURI aac://http://stream-uk1.radioparadise.com/aac-320
    setstate Sonos_Lounge 2017-12-24 12:19:28 fieldType
    setstate Sonos_Lounge 2018-01-02 16:49:55 infoSummarize1 (Bon Jovi) 'Livin' On A Prayer' vom Album 'Bon Jovi Greatest Hits'
    setstate Sonos_Lounge 2018-01-02 16:49:55 infoSummarize2 PLAYING => (Bon Jovi) 'Livin' On A Prayer' vom Album 'Bon Jovi Greatest Hits'
    setstate Sonos_Lounge 2018-01-02 14:48:37 infoSummarize3 Lautstärke: 49 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
    setstate Sonos_Lounge 2017-12-24 12:19:48 infoSummarize4
    setstate Sonos_Lounge 2017-12-24 12:19:28 location http://192.168.2.43:1400/xml/device_description.xml
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextAlbum
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextAlbumArtURL /fhem/sonos/cover/empty.jpg
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextAlbumArtist
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextArtist
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextOriginalTrackNumber
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextTitle
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextTrackDuration
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextTrackDurationSec
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextTrackHandle |
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextTrackProvider
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextTrackProviderIconQuadraticURL
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextTrackProviderIconRoundURL
    setstate Sonos_Lounge 2017-12-24 12:19:48 nextTrackURI
    setstate Sonos_Lounge 2018-01-03 09:36:56 numberOfTracks 6
    setstate Sonos_Lounge 2017-12-24 12:19:28 playerType ZP90
    setstate Sonos_Lounge 2018-01-03 09:21:50 presence appeared
    setstate Sonos_Lounge 2017-12-24 12:19:48 roomIcon living
    setstate Sonos_Lounge 2017-12-24 12:19:28 roomName Lounge
    setstate Sonos_Lounge 2017-12-24 12:19:28 roomNameAlias Lounge
    setstate Sonos_Lounge 2017-12-24 12:19:28 saveRoomName Lounge
    setstate Sonos_Lounge 2017-12-24 12:19:28 serialNum 00-0E-58-26-2D-F8:B
    setstate Sonos_Lounge 2017-12-24 12:19:28 softwareRevision 8.2.2
    setstate Sonos_Lounge 2018-01-03 09:21:10 state disappeared
    setstate Sonos_Lounge 2018-01-03 09:36:56 transportState PLAYING


    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2018, 11:37:03
    Hi det.,

    kannst noch die Definition des Sonos-Devices posten?

    Ansonsten: Gibt es denn irgendwelche Fehlermeldungen im Log?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 03 Januar 2018, 11:58:07
    Hallo Reinerlein,
    muss noch Mal auf den Befehl ExportSonosBibliothek zurückkommen.
    Bei mir scheint der Sonos-Prozess sich nach kurzer Zeit nach dem Befehl zu beenden und startet dann wieder neu. Vielleicht hilft da folgender log-Eintrag:

    2018.01.02 18:10:46 0: SONOS0: Retries left (wait 30s): 9
    2018.01.02 18:11:16 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2018.01.02 18:11:52 1: localhost:4711 reappeared (Sonos)
    2018.01.02 18:58:54 3: appeared: set Sonos_Arbeitszimmer Speak 55 de |sounds/jumping| Waschmaschine ist fertig. Verbrauch 228 Watt
    Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(\\%(?:\\=)?(\w|\\{ <-- HERE (?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))/ at FHEM/lib/MP3/Tag.pm line 2611.
    200.40 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2018.01.02 19:45:45 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.02 19:45:45 0: SONOS0: Retries left (wait 30s): 9
    2018.01.02 19:46:15 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    268.42 1: localhost:4711 reappeared (Sonos)
    272.51 1: main::SCC_LoadBibliothek: /hdd/sda4/Sonos/Bibliothek.txt wurde nicht gefunden - erzeugen

    Die Meldung aus: FHEM/lib/MP3/Tag.pm
    sehe ich, wenn ich den ExportSonosBibliothek - Befehl starte nach einiger Zeit....
    Jedenfalls gelingt es mir nicht mehr, das File mit den Export-Daten zu erzeugen.

    Elektrolurch

    Titel: Antw:Sonos steuern
    Beitrag von: det. am 03 Januar 2018, 13:58:31
    Zitat von: Reinerlein am 03 Januar 2018, 11:37:03
    Hi det.,

    kannst noch die Definition des Sonos-Devices posten?

    Ansonsten: Gibt es denn irgendwelche Fehlermeldungen im Log?

    Grüße
    Reiner
    gerne:defmod Sonos SONOS localhost:4711 30
    attr Sonos DbLogExclude .*
    attr Sonos getListsDirectlyToReadings 1
    attr Sonos group Media
    attr Sonos pingType syn
    attr Sonos room Sonos,Unsorted
    attr Sonos usedonlyIPs 192.168.2.43,192.168.2.47,192.168.2.65,192.168.2.63,192.168.2.31
    attr Sonos verbose 0


    setstate Sonos opened
    setstate Sonos 2018-01-03 13:55:32 AllPlayer ['Sonos_Lounge']
    setstate Sonos 2018-01-03 13:55:32 AllPlayerCount 1
    setstate Sonos 2018-01-03 13:55:32 AllPlayerNotBonded ['Sonos_Lounge']
    setstate Sonos 2018-01-03 13:55:32 AllPlayerNotBondedCount 1
    setstate Sonos 2018-01-03 13:55:56 LastActionResult RefreshShareIndex: Success!
    setstate Sonos 2018-01-03 13:56:13 LastProcessAnswer 1514984173.62203
    setstate Sonos 2018-01-03 13:54:42 LastProcessRestart 2018-01-03 13:54:42
    setstate Sonos 2018-01-03 13:54:42 LastProcessRestartCount 229
    setstate Sonos 2017-04-05 16:53:35 LineInPlayer []
    setstate Sonos 2017-05-21 15:17:36 LineInPlayerList
    setstate Sonos 2017-05-21 15:17:36 LineInPlayerListAlias
    setstate Sonos 2018-01-03 13:55:32 MasterPlayer ['Sonos_Lounge']
    setstate Sonos 2018-01-03 13:55:32 MasterPlayerCount 1
    setstate Sonos 2018-01-03 13:56:08 MasterPlayerNotPlaying []
    setstate Sonos 2018-01-03 13:56:08 MasterPlayerNotPlayingCount 0
    setstate Sonos 2018-01-03 13:56:08 MasterPlayerPlaying ['Sonos_Lounge']
    setstate Sonos 2018-01-03 13:56:08 MasterPlayerPlayingCount 1
    setstate Sonos 2018-01-03 13:55:56 MusicServicesList {'235' => {'SMAPI' => 'https://sonos.playsr.com/ws','Name' => 'Sveriges Radio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/60167/60167-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '60167','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/60167/60167-400x400.png','Capabilities' => '70145','Resolution' => undef},'217' => {'SMAPI' => 'https://www.fitradio.com/apisonos/ws','Name' => 'FIT Radio Workout Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.jpg','ServiceType' => '55559','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-400x400.png','Capabilities' => '4610','Resolution' => '1500'},'164' => {'SMAPI' => 'https://www.saavn.com/apps/sonos/SonosAPI.php','Name' => 'Saavn','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-72x72.png','PromoText' => '','ResolutionSubstitution' => '500x500.jpg','ServiceType' => '41991','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-400x400.png','Capabilities' => '12865','Resolution' => '500'},'163' => {'SMAPI' => 'https://sonos.spreaker.com/sonos/service/v1','Name' => 'Spreaker','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-72x72.png','PromoText' => '','ResolutionSubstitution' => '/large/','ServiceType' => '41735','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-400x400.png','Capabilities' => '513','Resolution' => '200'},'256' => {'SMAPI' => 'https://cbcmusic-sonos.azurewebsites.net/SonosService.svc','Name' => 'CBC Radio &amp;; Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/65543/65543-72x72.png','PromoText' => '','ResolutionSubstitution' => 'w_1500,h_1500','ServiceType' => '65543','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/65543/65543-400x400.png','Capabilities' => '594496','Resolution' => '1500'},'212' => {'SMAPI' => 'https://sonos.plex.tv/sonos/','Name' => 'Plex','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-72x72.png','PromoText' => '','ResolutionSubstitution' => 'width=1080','ServiceType' => '54279','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-400x400.png','Capabilities' => '513','Resolution' => '1080'},'36' => {'SMAPI' => 'https://sonos.hos.com/SOAP/Server1.2.php','Name' => 'Hearts of Space','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9223/9223-72x72.png','PromoText' => '','ResolutionSubstitution' => '_290.png','ServiceType' => '9223','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9223/9223-400x400.png','Capabilities' => '512','Resolution' => '290'},'232' => {'SMAPI' => 'https://sonosrp.radioapi.io/Service.svc','Name' => 'Radioplayer','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.jpg','ServiceType' => '59399','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-400x400.png','Capabilities' => '577','Resolution' => '1500'},'160' => {'SMAPI' => 'https://soundcloud-go.ws.sonos.com/smapi','Name' => 'SoundCloud','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-72x72.png','PromoText' => '','ResolutionSubstitution' => 't500x500','ServiceType' => '40967','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-400x400.png','Capabilities' => '4611','Resolution' => '500'},'201' => {'SMAPI' => 'https://sonos.amazonmusic.com/','Name' => 'Amazon Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '51463','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-400x400.png','Capabilities' => '45633','Resolution' => undef},'189' => {'SMAPI' => 'https://provider.sound-machine.com/sonosapi','Name' => 'SOUNDMACHINE','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.png','ServiceType' => '48391','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-400x400.png','Capabilities' => '513','Resolution' => '1500'},'195' => {'SMAPI' => 'https://360-smapi.api.247e.com/musicopen.svc','Name' => 'JUKE','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-72x72.png','PromoText' => '','ResolutionSubstitution' => '/1500x1500','ServiceType' => '49927','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-400x400.png','Capabilities' => '2579','Resolution' => '1500'},'216' => {'SMAPI' => 'https://sonosapi-aldimusic.rhapsody.com/smapi','Name' => 'Aldi life Musik','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-72x72.png','PromoText' => '','ResolutionSubstitution' => '1500x1500.jpg','ServiceType' => '55303','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-400x400.png','Capabilities' => '4627','Resolution' => '1500'},'222' => {'SMAPI' => 'https://sonos.nugs.net/soap/nugs','Name' => 'nugs.net','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '56839','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-400x400.png','Capabilities' => '6675','Resolution' => undef},'230' => {'SMAPI' => 'https://www.nts.live/smapi','Name' => 'NTS Radio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-72x72.png','PromoText' => '','ResolutionSubstitution' => '/1000x1000/','ServiceType' => '58887','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-400x400.png','Capabilities' => '512','Resolution' => '1000'},'171' => {'SMAPI' => 'https://sonos.mix.moodmedia.com/api','Name' => 'Mood Mix','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.png','ServiceType' => '43783','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-400x400.png','Capabilities' => '4609','Resolution' => '1500'},'162' => {'SMAPI' => 'https://sonos.townsquaremedia.com/index.php','Name' => 'radioPup','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '41479','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','Capabilities' => '513','Resolution' => undef},'2' => {'SMAPI' => 'https://api.deezer.com/sonos','Name' => 'Deezer','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/519/519-72x72.png','PromoText' => '','ResolutionSubstitution' => '1000x1000-000000-80-0-0.jpg','ServiceType' => '519','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/519/519-400x400.png','Capabilities' => '2643','Resolution' => '1000'},'237' => {'SMAPI' => 'https://api.storeplay.com.au/sonos/SonosService.asmx','Name' => 'storePlay','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/60679/60679-72x72.png','PromoText' => '','ResolutionSubstitution' => 'artwork_1500','ServiceType' => '60679','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/60679/60679-400x400.png','Capabilities' => '328193','Resolution' => '1500'},'150' => {'SMAPI' => 'https://www.rusc.com/sonos.asmx','Name' => 'RUSC','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '38407','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-400x400.png','Capabilities' => '512','Resolution' => undef},'159' => {'SMAPI' => 'https://sonos.auth.music.microsoft.com/api','Name' => 'Groove','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-72x72.png','PromoText' => '','ResolutionSubstitution' => '/image?w=1500&amp;;h=1500&amp;;','ServiceType' => '40711','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-400x400.png','Capabilities' => '35347','Resolution' => '1500'},'154' => {'SMAPI' => 'https://sonos.radionomy.com/SonosService.svc','Name' => 'Radionomy','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-72x72.png','PromoText' => '','ResolutionSubstitution' => '.s999','ServiceType' => '39431','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-400x400.png','Capabilities' => '513','Resolution' => '999'},'191' => {'SMAPI' => 'https://api.classicalarchives.com/smapi/endpoint','Name' => 'Classical Archives','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '48903','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-400x400.png','Capabilities' => '1030739','Resolution' => undef},'184' => {'SMAPI' => 'https://sonos.stingray.com/ws/Sonos','Name' => 'Stingray Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '47111','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-400x400.png','Capabilities' => '295427','Resolution' => undef},'183' => {'SMAPI' => 'http://www.narando.com/sonos/service/action','Name' => 'narando','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '46855','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-400x400.png','Capabilities' => '37395','Resolution' => undef},'211' => {'SMAPI' => 'https://themusicmanager.eu/sonos/SonosAPI.php','Name' => 'The Music Manager','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-72x72.png','PromoText' => '','ResolutionSubstitution' => '.l.jpg','ServiceType' => '54023','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-400x400.png','Capabilities' => '515','Resolution' => '119'},'203' => {'SMAPI' => 'https://sonosapi-napster.rhapsody.com/smapi','Name' => 'Napster','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-72x72.png','PromoText' => '','ResolutionSubstitution' => '1500x1500.jpg','ServiceType' => '51975','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-400x400.png','Capabilities' => '595','Resolution' => '1500'},'231' => {'SMAPI' => 'https://moapi.wolfgangs.com/ws/wolfgangs.asmx','Name' => 'Wolfgang&apos;;s Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-72x72.png','PromoText' => '','ResolutionSubstitution' => '640','ServiceType' => '59143','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-400x400.png','Capabilities' => '537153','Resolution' => '640'},'192' => {'SMAPI' => 'https://www.focusatwill.com/sonos/action','Name' => 'focus@will','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-72x72.png','PromoText' => '','ResolutionSubstitution' => '-1500.png','ServiceType' => '49159','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-400x400.png','Capabilities' => '5632','Resolution' => '1500'},'218' => {'SMAPI' => 'https://soundsuit.fm/smapi','Name' => 'Soundsuit.fm','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '55815','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-400x400.png','Capabilities' => '512','Resolution' => undef},'233' => {'SMAPI' => 'https://integrations.pocketcasts.com/service/smapi','Name' => 'Pocket Casts','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59655/59655-72x72.png','PromoText' => '','ResolutionSubstitution' => '/960/','ServiceType' => '59655','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59655/59655-400x400.png','Capabilities' => '1028672','Resolution' => '960'},'174' => {'SMAPI' => 'https://sonos.tidal.com/v1/sonos','Name' => 'TIDAL','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-72x72.png','PromoText' => '','ResolutionSubstitution' => '640x640.jpg','ServiceType' => '44551','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-400x400.png','Capabilities' => '1083923','Resolution' => '640'},'223' => {'SMAPI' => 'https://sonos-smapi.rautemusik.fm/smapi','Name' => 'RauteMusik.FM','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '57095','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-400x400.png','Capabilities' => '513','Resolution' => undef},'31' => {'SMAPI' => 'http://www.qobuz.com/api.xml/0.2/sonos','Name' => 'Qobuz','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-72x72.png','PromoText' => '','ResolutionSubstitution' => '_600.jpg','ServiceType' => '7943','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-400x400.png','Capabilities' => '2643','Resolution' => '600'},'260' => {'SMAPI' => 'https://sonos.minidisco.nl/server.php','Name' => 'Minidisco','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/66567/66567-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.jpg','ServiceType' => '66567','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/66567/66567-400x400.png','Capabilities' => '512','Resolution' => '1500'},'53' => {'SMAPI' => 'https://securea.mlb.com/ce/sonos/default.jsp','Name' => 'MLB.com Gameday Audio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-72x72.png','PromoText' => '','ResolutionSubstitution' => '/400x400/','ServiceType' => '13575','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-400x400.png','Capabilities' => '1536','Resolution' => '400'},'9' => {'SMAPI' => 'https://spotify-v4.ws.sonos.com/smapi','Name' => 'Spotify','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '2311','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-400x400.png','Capabilities' => '1116691','Resolution' => undef},'7' => {'SMAPI' => 'https://www.concertvault.com/ws/MOAPI.asmx','Name' => 'Concert Vault','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-72x72.png','PromoText' => '','ResolutionSubstitution' => '/569/','ServiceType' => '1799','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-400x400.png','Capabilities' => '513','Resolution' => '569'},'13' => {'SMAPI' => 'https://www.stitcher.com/Service/Sonos/Sonos.php','Name' => 'Stitcher SmartRadio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/3335/3335-72x72.png','PromoText' => '','ResolutionSubstitution' => 'lain328','ServiceType' => '3335','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/3335/3335-400x400.png','Capabilities' => '579','Resolution' => '328'},'169' => {'SMAPI' => 'https://sonos.tribeofnoise.com/server-v2.0.php','Name' => 'Tribe of Noise','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.jpg','ServiceType' => '43271','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-400x400.png','Capabilities' => '512','Resolution' => '1500'},'234' => {'SMAPI' => 'https://sonos.deliver.media/musicservice','Name' => 'deliver.media','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59911/59911-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '59911','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59911/59911-400x400.png','Capabilities' => '512','Resolution' => undef},'33' => {'SMAPI' => 'https://sonos.murfie.com/','Name' => 'Murfie','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-72x72.png','PromoText' => '','ResolutionSubstitution' => '-huge.jpg?size=300','ServiceType' => '8455','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-400x400.png','Capabilities' => '513','Resolution' => '300'},'20' => {'SMAPI' => 'https://sonos.tidalhifi.com/sonos-wimp','Name' => 'WiMP','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-72x72.png','PromoText' => '','ResolutionSubstitution' => '640x640.jpg','ServiceType' => '5127','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-400x400.png','Capabilities' => '2579','Resolution' => '640'},'38' => {'SMAPI' => 'https://sonos-service.7digital.com/sonos.asmx','Name' => '7digital','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-72x72.png','PromoText' => '','ResolutionSubstitution' => '_800.jpg','ServiceType' => '9735','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-400x400.png','Capabilities' => '513','Resolution' => '800'},'167' => {'SMAPI' => 'http://sonosapi.gaana.com/SonosAPI.php','Name' => 'Gaana','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-72x72.png','PromoText' => '','ResolutionSubstitution' => '_480x480_','ServiceType' => '42759','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-400x400.png','Capabilities' => '577','Resolution' => '480'},'146' => {'SMAPI' => 'https://www.daytrotter.com/ws/MOAPI.asmx','Name' => 'Daytrotter','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '37383','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-400x400.png','Capabilities' => '513','Resolution' => undef},'258' => {'SMAPI' => 'https://api.fm.qq.com/v1/sonos/sonos_cgi','Name' => '企鹅FM','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/66055/66055-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '66055','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/66055/66055-400x400.png','Capabilities' => '512','Resolution' => undef},'221' => {'SMAPI' => 'https://sonos.nugs.net/soap/livephish','Name' => 'LivePhish+','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '56583','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-400x400.png','Capabilities' => '6675','Resolution' => undef},'181' => {'SMAPI' => 'https://www.mixcloud.com/sonos-app/','Name' => 'Mixcloud','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-72x72.png','PromoText' => '','ResolutionSubstitution' => 'w/1500/h/1500/','ServiceType' => '46343','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-400x400.png','Capabilities' => '2627','Resolution' => '1500'},'204' => {'SMAPI' => 'https://sonos-music.apple.com/ws/SonosSoap','Name' => 'Apple Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-72x72.png','PromoText' => '','ResolutionSubstitution' => '1200x1200','ServiceType' => '52231','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-400x400.png','Capabilities' => '3117633','Resolution' => '1200'},'151' => {'SMAPI' => 'https://mclients.googleapis.com/music/sonos/wsf/smapi','Name' => 'Google Play Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '38663','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-400x400.png','Capabilities' => '98899','Resolution' => undef},'198' => {'SMAPI' => 'https://api.anghami.com/anghmob/SonosAPI.php','Name' => 'Anghami','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '50695','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-400x400.png','Capabilities' => '2627','Resolution' => undef},'157' => {'SMAPI' => 'https://sns.bandcamp.com/api/sonos/2/sonos_api','Name' => 'Bandcamp','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '40199','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-400x400.png','Capabilities' => '513','Resolution' => undef}}
    setstate Sonos 2018-01-03 13:55:56 MusicServicesListVersion RINCON_000E58262DF801400:1385
    setstate Sonos 2018-01-03 13:56:12 ShareIndexInProgress 0
    setstate Sonos 2018-01-03 13:55:56 ZoneGroupState <ZoneGroups><ZoneGroup Coordinator="RINCON_000E5868386C01400" ID="RINCON_000E5868386C01400:2919934903"><ZoneGroupMember UUID="RINCON_000E5868386C01400" Location="http://192.168.2.47:1400/xml/device_description.xml" ZoneName="BRIDGE" Icon="x-rincon-roomicon:viper" Configuration="1" Invisible="1" IsZoneBridge="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="58" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="-1" RoomCalibrationState="0" SecureRegState="3" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E58262DF801400" ID="RINCON_000E58262DF801400:3"><ZoneGroupMember UUID="RINCON_000E58262DF801400" Location="http://192.168.2.43:1400/xml/device_description.xml" ZoneName="Lounge" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="637" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="4" SecureRegState="3" VoiceState="0"/></ZoneGroup></ZoneGroups>
    setstate Sonos 2018-01-03 13:55:20 state opened

    Fehlermeldungen habe ich keine wegen verbose 0 - sorry -
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 03 Januar 2018, 14:13:53
    Hi,

    @Elektrolurch: Ich muss dieses Erzeugen in einen eignen Thread auslagern, da der Hauptthread sonst nicht mehr reagieren kann, und als tot erachtet wird. Dann wird er neugestartet :)

    @det: Komisch. Das sieht alles soweit gut aus. Siehst du denn im Event-Monitor ein Event mit dem Namen "Sonos_Lounge-display_covertitle" und sehr vielen Daten (HTML-Code für die Player-Anzeige) durchlaufen?

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: det. am 03 Januar 2018, 14:34:27
    Zitat von: Reinerlein am 03 Januar 2018, 14:13:53
    Hi,
    @det: Komisch. Das sieht alles soweit gut aus. Siehst du denn im Event-Monitor ein Event mit dem Namen "Sonos_Lounge-display_covertitle" und sehr vielen Daten (HTML-Code für die Player-Anzeige) durchlaufen?
    Grüße
    Reiner
    Kaum meckert man, gehts einmal...defmod Sonos_Wohnzimmer SONOSPLAYER RINCON_000E58D8185601400_MR
    attr Sonos_Wohnzimmer alias Wohnzimmer
    attr Sonos_Wohnzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Wohnzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Wohnzimmer generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Wohnzimmer generateVolumeSlider 1
    attr Sonos_Wohnzimmer getAlarms 1
    attr Sonos_Wohnzimmer getTitleInfoFromMaster 1
    attr Sonos_Wohnzimmer group Media
    attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-ZP120.png
    attr Sonos_Wohnzimmer minVolume 0
    attr Sonos_Wohnzimmer model Sonos_ZP120
    attr Sonos_Wohnzimmer room Sonos
    attr Sonos_Wohnzimmer simulateCurrentTrackPositionPercentFormat 0
    attr Sonos_Wohnzimmer sortby 1
    attr Sonos_Wohnzimmer stateFormat presence
    attr Sonos_Wohnzimmer webCmd Volume


    setstate Sonos_Wohnzimmer appeared
    setstate Sonos_Wohnzimmer 2018-01-03 09:08:20 AlarmList ~~NotLoadedMarker~~
    setstate Sonos_Wohnzimmer 2018-01-03 09:08:20 AlarmListIDs ~~NotLoadedMarker~~
    setstate Sonos_Wohnzimmer 2018-01-03 09:08:20 AlarmListVersion ~~NotLoadedMarker~~
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 AlarmRunning 0
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 AlarmRunningID
    setstate Sonos_Wohnzimmer 2018-01-03 14:25:38 AvailablePlayer []
    setstate Sonos_Wohnzimmer 2018-01-03 14:25:38 AvailablePlayerList
    setstate Sonos_Wohnzimmer 2018-01-03 14:25:38 AvailablePlayerListAlias
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:37 Balance 0
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:56 Bass 0
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 CrossfadeMode 0
    setstate Sonos_Wohnzimmer 2018-01-02 17:45:29 DailyIndexRefreshTime 18:00:00
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 DirectControlAccountID
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 DirectControlClientID
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 DirectControlIsSuspended 0
    setstate Sonos_Wohnzimmer 2017-12-28 09:49:24 Favourites {'FV:2/3' => {'Title' => 'Jazz FM','Ressource' => 'x-sonosapi-stream:s73210?sid=254&flags=8224&sn=0','Cover' => 'http://cdn-radiotime-logos.tunein.com/s73210g.png'},'FV:2/7' => {'Title' => 'Classic Rock','Ressource' => 'x-sonosapi-radio:catalog%2fstations%2fA1F3WVP8R0SQDE%2f%23chunk-DG_lpzq-Sm-vezSll2tDmQ?sid=201&flags=8300&sn=5','Cover' => 'http://192.168.2.31:1400/getaa?u=x-sonosapi-radio%3Acatalog%252fstations%252fA1F3WVP8R0SQDE%252f%2523chunk-DG_lpzq-Sm-vezSll2tDmQ%3Fsid%3D201%26flags%3D8300%26sn%3D5'},'FV:2/2' => {'Title' => 'Radio Swiss Jazz','Ressource' => 'x-sonosapi-stream:s6814?sid=254&flags=8224&sn=0','Cover' => 'http://cdn-radiotime-logos.tunein.com/s6814g.png'},'FV:2/1' => {'Title' => 'Radio Paradise','Ressource' => 'x-sonosapi-stream:s13606?sid=254&flags=32&sn=0','Cover' => 'http://cdn-radiotime-logos.tunein.com/s13606g.png'}}
    setstate Sonos_Wohnzimmer 2017-12-26 10:33:33 FavouritesVersion RINCON_B8E93778D2ED01400,20
    setstate Sonos_Wohnzimmer 2017-12-31 12:24:04 GroupMute 0
    setstate Sonos_Wohnzimmer 2018-01-02 19:52:30 GroupVolume 12
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 HeadphoneConnected 0
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:37 IsBonded 0
    setstate Sonos_Wohnzimmer 2017-12-25 00:02:21 IsMaster 1
    setstate Sonos_Wohnzimmer 2018-01-03 14:25:04 LastActionResult Play: Success!
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:55 LineInConnected 0
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:55 LineInIcon AudioComponent
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:55 LineInName Audio Component
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:56 Loudness 0
    setstate Sonos_Wohnzimmer 2018-01-02 15:01:34 MasterPlayer Sonos_Wohnzimmer
    setstate Sonos_Wohnzimmer 2017-12-31 12:24:04 Mute 0
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:56 OutputFixed 0
    setstate Sonos_Wohnzimmer 2017-12-25 12:17:46 Playlists {}
    setstate Sonos_Wohnzimmer 2017-12-25 12:45:40 PlaylistsVersion RINCON_000E58D8185601400,15
    setstate Sonos_Wohnzimmer 2017-12-26 10:25:32 QueueHash 067746d74026191cec74660d95444e80
    setstate Sonos_Wohnzimmer 2017-12-28 09:49:28 QueueList
    setstate Sonos_Wohnzimmer 2017-12-28 09:49:28 QueueListAlias
    setstate Sonos_Wohnzimmer 2017-12-26 10:25:32 QueueVersion 26
    setstate Sonos_Wohnzimmer 2018-01-02 17:32:30 Radios {'R:0/0/0' => {'Title' => 'Radio Paradise','Cover' => 'http://cdn-radiotime-logos.tunein.com/s13606g.png','Ressource' => 'x-sonosapi-stream:s13606?sid=254&flags=32&sn=0'}}
    setstate Sonos_Wohnzimmer 2017-12-25 12:14:33 RadiosList Radio.Paradise
    setstate Sonos_Wohnzimmer 2017-12-25 12:14:33 RadiosListAlias Radio Paradise
    setstate Sonos_Wohnzimmer 2017-12-26 10:33:33 RadiosVersion RINCON_B8E93778D2ED01400,20
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 Repeat 0
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 RepeatOne 0
    setstate Sonos_Wohnzimmer 2017-12-24 22:36:05 Shuffle 0
    setstate Sonos_Wohnzimmer 2018-01-03 14:25:38 SlavePlayer ['Sonos_Fernseher','Sonos_Lounge','Sonos_Mobil']
    setstate Sonos_Wohnzimmer 2018-01-03 14:25:38 SlavePlayerList -|Sonos_Fernseher|Sonos_Lounge|Sonos_Mobil
    setstate Sonos_Wohnzimmer 2018-01-03 14:25:38 SlavePlayerListAlias Auswahl|Fernseher|Lounge|Sonos_Mobil
    setstate Sonos_Wohnzimmer 2018-01-03 14:25:38 SlavePlayerNotBonded ['Sonos_Fernseher','Sonos_Lounge','Sonos_Mobil']
    setstate Sonos_Wohnzimmer 2018-01-03 14:25:38 SlavePlayerNotBondedList -|Sonos_Fernseher|Sonos_Lounge|Sonos_Mobil
    setstate Sonos_Wohnzimmer 2018-01-03 14:25:38 SlavePlayerNotBondedListAlias Auswahl|Fernseher|Lounge|Sonos_Mobil
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 SleepTimer off
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 SleepTimerVersion
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:56 SubEnable 1
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:56 SubGain 0
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:56 SubPolarity 0
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:56 Treble 0
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:56 TruePlay 0
    setstate Sonos_Wohnzimmer 2018-01-02 19:51:09 Volume 15
    setstate Sonos_Wohnzimmer 2017-12-25 00:02:21 ZoneGroupID RINCON_000E58D8185601400:__
    setstate Sonos_Wohnzimmer 2018-01-02 19:52:29 ZoneGroupName Wohnzimmer + 1
    setstate Sonos_Wohnzimmer 2018-01-03 14:25:38 ZoneGroupNameDetails  + Fernseher + Lounge + Sonos_Mobil
    setstate Sonos_Wohnzimmer 2018-01-02 19:52:29 ZonePlayerUUIDsInGroup RINCON_000E58D8185601400,RINCON_B8E93778D2ED01400
    setstate Sonos_Wohnzimmer 2018-01-02 17:45:30 currentAlbum
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 currentAlbumArtURL http://cdn-radiotime-logos.tunein.com/s13606g.png
    setstate Sonos_Wohnzimmer 2018-01-02 17:45:29 currentAlbumArtist
    setstate Sonos_Wohnzimmer 2018-01-02 17:45:30 currentArtist
    setstate Sonos_Wohnzimmer 2018-01-02 17:45:30 currentEnqueuedTransportHandle x-sonosapi-stream:s13606?sid=254&flags=32&sn=0|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><dc:title>Radio Paradise</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>
    setstate Sonos_Wohnzimmer 2018-01-02 17:45:30 currentEnqueuedTransportURI x-sonosapi-stream:s13606?sid=254&flags=32&sn=0
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 currentFavouriteName Radio Paradise
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 currentFavouriteNameMasked Radio.Paradise
    setstate Sonos_Wohnzimmer 2018-01-03 09:12:19 currentNormalAudio 1
    setstate Sonos_Wohnzimmer 2017-12-24 22:36:05 currentOriginalTrackNumber
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 currentPlaylistName
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 currentPlaylistNameMasked
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 currentRadioName Radio Paradise
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 currentRadioNameMasked Radio.Paradise
    setstate Sonos_Wohnzimmer 2018-01-02 17:45:30 currentSender Radio Paradise
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 currentSenderCurrent
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 currentSenderInfo Blur - This Is A Low
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 currentSource Radio Paradise
    setstate Sonos_Wohnzimmer 2018-01-03 09:12:19 currentStreamAudio
    setstate Sonos_Wohnzimmer 2018-01-02 17:45:30 currentTitle
    setstate Sonos_Wohnzimmer 2018-01-03 09:12:19 currentTrack 0
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 currentTrackDuration 0:00:00
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 currentTrackDurationSec 0
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 currentTrackHandle aac://http://stream-uk1.radioparadise.com/aac-320|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:application/octet-stream:*">x-sonosapi-stream:s13606?sid=254&amp;;flags=32&amp;;sn=0</res><r:streamContent>Blur - This Is A Low</r:streamContent><r:radioShowMd></r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;;u=x-sonosapi-stream%3as13606%3fsid%3d254%26flags%3d32%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s13606?sid=254&amp;;flags=32&amp;;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    setstate Sonos_Wohnzimmer 2018-01-03 14:21:56 currentTrackPosition 0:00:00
    setstate Sonos_Wohnzimmer 2018-01-03 14:21:56 currentTrackPositionSec 0
    setstate Sonos_Wohnzimmer 2018-01-03 09:12:20 currentTrackPositionSimulated 0:00:00
    setstate Sonos_Wohnzimmer 2018-01-02 17:45:29 currentTrackPositionSimulatedPercent 0
    setstate Sonos_Wohnzimmer 2018-01-03 09:12:20 currentTrackPositionSimulatedSec 0
    setstate Sonos_Wohnzimmer 2018-01-03 09:12:19 currentTrackProvider
    setstate Sonos_Wohnzimmer 2018-01-03 09:12:19 currentTrackProviderIconQuadraticURL
    setstate Sonos_Wohnzimmer 2018-01-03 09:12:19 currentTrackProviderIconRoundURL
    setstate Sonos_Wohnzimmer 2018-01-03 09:12:19 currentTrackURI
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:37 fieldType
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 infoSummarize1 Radio Paradise: Blur - This Is A Low
    setstate Sonos_Wohnzimmer 2018-01-02 22:56:31 infoSummarize2 PLAYING => Radio Paradise: Blur - This Is A Low
    setstate Sonos_Wohnzimmer 2018-01-02 19:51:14 infoSummarize3 Lautstärke: 15 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:40 infoSummarize4
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:37 location http://192.168.2.31:1400/xml/device_description.xml
    setstate Sonos_Wohnzimmer 2017-12-26 10:29:47 nextAlbum
    setstate Sonos_Wohnzimmer 2017-12-26 10:29:47 nextAlbumArtURL /fhem/sonos/cover/empty.jpg
    setstate Sonos_Wohnzimmer 2017-12-24 22:36:05 nextAlbumArtist
    setstate Sonos_Wohnzimmer 2017-12-26 10:29:47 nextArtist
    setstate Sonos_Wohnzimmer 2017-12-24 22:36:05 nextOriginalTrackNumber
    setstate Sonos_Wohnzimmer 2017-12-26 10:29:47 nextTitle
    setstate Sonos_Wohnzimmer 2017-12-26 10:29:47 nextTrackDuration
    setstate Sonos_Wohnzimmer 2017-12-26 10:29:47 nextTrackDurationSec
    setstate Sonos_Wohnzimmer 2017-12-26 10:29:47 nextTrackHandle |
    setstate Sonos_Wohnzimmer 2017-12-26 10:29:47 nextTrackProvider
    setstate Sonos_Wohnzimmer 2017-12-26 10:29:47 nextTrackProviderIconQuadraticURL
    setstate Sonos_Wohnzimmer 2017-12-26 10:29:47 nextTrackProviderIconRoundURL
    setstate Sonos_Wohnzimmer 2017-12-26 10:29:47 nextTrackURI
    setstate Sonos_Wohnzimmer 2018-01-03 09:12:19 numberOfTracks 0
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:37 playerType ZP120
    setstate Sonos_Wohnzimmer 2018-01-03 14:21:56 presence appeared
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:56 roomIcon living
    setstate Sonos_Wohnzimmer 2017-12-31 12:07:59 roomName Wohnzimmer
    setstate Sonos_Wohnzimmer 2017-12-31 12:07:59 roomNameAlias Wohnzimmer
    setstate Sonos_Wohnzimmer 2017-12-31 12:07:59 saveRoomName Wohnzimmer
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:37 serialNum 00-0E-58-D8-18-56:6
    setstate Sonos_Wohnzimmer 2017-12-24 12:30:37 softwareRevision 8.2.2
    setstate Sonos_Wohnzimmer 2018-01-03 09:21:10 state disappeared
    setstate Sonos_Wohnzimmer 2018-01-03 09:12:19 transportState STOPPED



    defmod Sonos SONOS localhost:4711 30
    attr Sonos DbLogExclude .*
    attr Sonos getListsDirectlyToReadings 1
    attr Sonos group Media
    attr Sonos pingType syn
    attr Sonos room Sonos,Unsorted
    attr Sonos usedonlyIPs 192.168.2.43,192.168.2.47,192.168.2.65,192.168.2.63,192.168.2.31
    attr Sonos verbose 0


    setstate Sonos opened
    setstate Sonos 2018-01-03 14:21:55 AllPlayer ['Sonos_Fernseher','Sonos_Lounge','Sonos_Mobil','Sonos_Wohnzimmer']
    setstate Sonos 2018-01-03 14:21:55 AllPlayerCount 4
    setstate Sonos 2018-01-03 14:21:55 AllPlayerNotBonded ['Sonos_Fernseher','Sonos_Lounge','Sonos_Mobil','Sonos_Wohnzimmer']
    setstate Sonos 2018-01-03 14:21:55 AllPlayerNotBondedCount 4
    setstate Sonos 2018-01-03 14:21:54 LastActionResult RefreshShareIndex: Success!
    setstate Sonos 2018-01-03 14:28:41 LastProcessAnswer 1514986121.05216
    setstate Sonos 2018-01-03 13:54:42 LastProcessRestart 2018-01-03 13:54:42
    setstate Sonos 2018-01-03 13:54:42 LastProcessRestartCount 229
    setstate Sonos 2017-04-05 16:53:35 LineInPlayer []
    setstate Sonos 2017-05-21 15:17:36 LineInPlayerList
    setstate Sonos 2017-05-21 15:17:36 LineInPlayerListAlias
    setstate Sonos 2018-01-03 14:25:38 MasterPlayer ['Sonos_Wohnzimmer']
    setstate Sonos 2018-01-03 14:25:38 MasterPlayerCount 1
    setstate Sonos 2018-01-03 14:25:37 MasterPlayerNotPlaying ['Sonos_Wohnzimmer']
    setstate Sonos 2018-01-03 14:25:37 MasterPlayerNotPlayingCount 1
    setstate Sonos 2018-01-03 14:25:38 MasterPlayerPlaying []
    setstate Sonos 2018-01-03 14:25:38 MasterPlayerPlayingCount 0
    setstate Sonos 2018-01-03 13:55:56 MusicServicesList {'235' => {'SMAPI' => 'https://sonos.playsr.com/ws','Name' => 'Sveriges Radio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/60167/60167-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '60167','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/60167/60167-400x400.png','Capabilities' => '70145','Resolution' => undef},'217' => {'SMAPI' => 'https://www.fitradio.com/apisonos/ws','Name' => 'FIT Radio Workout Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.jpg','ServiceType' => '55559','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-400x400.png','Capabilities' => '4610','Resolution' => '1500'},'164' => {'SMAPI' => 'https://www.saavn.com/apps/sonos/SonosAPI.php','Name' => 'Saavn','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-72x72.png','PromoText' => '','ResolutionSubstitution' => '500x500.jpg','ServiceType' => '41991','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-400x400.png','Capabilities' => '12865','Resolution' => '500'},'163' => {'SMAPI' => 'https://sonos.spreaker.com/sonos/service/v1','Name' => 'Spreaker','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-72x72.png','PromoText' => '','ResolutionSubstitution' => '/large/','ServiceType' => '41735','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-400x400.png','Capabilities' => '513','Resolution' => '200'},'256' => {'SMAPI' => 'https://cbcmusic-sonos.azurewebsites.net/SonosService.svc','Name' => 'CBC Radio &amp;; Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/65543/65543-72x72.png','PromoText' => '','ResolutionSubstitution' => 'w_1500,h_1500','ServiceType' => '65543','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/65543/65543-400x400.png','Capabilities' => '594496','Resolution' => '1500'},'212' => {'SMAPI' => 'https://sonos.plex.tv/sonos/','Name' => 'Plex','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-72x72.png','PromoText' => '','ResolutionSubstitution' => 'width=1080','ServiceType' => '54279','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-400x400.png','Capabilities' => '513','Resolution' => '1080'},'36' => {'SMAPI' => 'https://sonos.hos.com/SOAP/Server1.2.php','Name' => 'Hearts of Space','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9223/9223-72x72.png','PromoText' => '','ResolutionSubstitution' => '_290.png','ServiceType' => '9223','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9223/9223-400x400.png','Capabilities' => '512','Resolution' => '290'},'232' => {'SMAPI' => 'https://sonosrp.radioapi.io/Service.svc','Name' => 'Radioplayer','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.jpg','ServiceType' => '59399','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-400x400.png','Capabilities' => '577','Resolution' => '1500'},'160' => {'SMAPI' => 'https://soundcloud-go.ws.sonos.com/smapi','Name' => 'SoundCloud','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-72x72.png','PromoText' => '','ResolutionSubstitution' => 't500x500','ServiceType' => '40967','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-400x400.png','Capabilities' => '4611','Resolution' => '500'},'201' => {'SMAPI' => 'https://sonos.amazonmusic.com/','Name' => 'Amazon Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '51463','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-400x400.png','Capabilities' => '45633','Resolution' => undef},'189' => {'SMAPI' => 'https://provider.sound-machine.com/sonosapi','Name' => 'SOUNDMACHINE','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.png','ServiceType' => '48391','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-400x400.png','Capabilities' => '513','Resolution' => '1500'},'195' => {'SMAPI' => 'https://360-smapi.api.247e.com/musicopen.svc','Name' => 'JUKE','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-72x72.png','PromoText' => '','ResolutionSubstitution' => '/1500x1500','ServiceType' => '49927','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-400x400.png','Capabilities' => '2579','Resolution' => '1500'},'216' => {'SMAPI' => 'https://sonosapi-aldimusic.rhapsody.com/smapi','Name' => 'Aldi life Musik','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-72x72.png','PromoText' => '','ResolutionSubstitution' => '1500x1500.jpg','ServiceType' => '55303','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-400x400.png','Capabilities' => '4627','Resolution' => '1500'},'222' => {'SMAPI' => 'https://sonos.nugs.net/soap/nugs','Name' => 'nugs.net','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '56839','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-400x400.png','Capabilities' => '6675','Resolution' => undef},'230' => {'SMAPI' => 'https://www.nts.live/smapi','Name' => 'NTS Radio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-72x72.png','PromoText' => '','ResolutionSubstitution' => '/1000x1000/','ServiceType' => '58887','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-400x400.png','Capabilities' => '512','Resolution' => '1000'},'171' => {'SMAPI' => 'https://sonos.mix.moodmedia.com/api','Name' => 'Mood Mix','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.png','ServiceType' => '43783','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-400x400.png','Capabilities' => '4609','Resolution' => '1500'},'162' => {'SMAPI' => 'https://sonos.townsquaremedia.com/index.php','Name' => 'radioPup','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '41479','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','Capabilities' => '513','Resolution' => undef},'2' => {'SMAPI' => 'https://api.deezer.com/sonos','Name' => 'Deezer','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/519/519-72x72.png','PromoText' => '','ResolutionSubstitution' => '1000x1000-000000-80-0-0.jpg','ServiceType' => '519','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/519/519-400x400.png','Capabilities' => '2643','Resolution' => '1000'},'237' => {'SMAPI' => 'https://api.storeplay.com.au/sonos/SonosService.asmx','Name' => 'storePlay','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/60679/60679-72x72.png','PromoText' => '','ResolutionSubstitution' => 'artwork_1500','ServiceType' => '60679','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/60679/60679-400x400.png','Capabilities' => '328193','Resolution' => '1500'},'150' => {'SMAPI' => 'https://www.rusc.com/sonos.asmx','Name' => 'RUSC','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '38407','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-400x400.png','Capabilities' => '512','Resolution' => undef},'159' => {'SMAPI' => 'https://sonos.auth.music.microsoft.com/api','Name' => 'Groove','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-72x72.png','PromoText' => '','ResolutionSubstitution' => '/image?w=1500&amp;;h=1500&amp;;','ServiceType' => '40711','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40711/40711-400x400.png','Capabilities' => '35347','Resolution' => '1500'},'154' => {'SMAPI' => 'https://sonos.radionomy.com/SonosService.svc','Name' => 'Radionomy','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-72x72.png','PromoText' => '','ResolutionSubstitution' => '.s999','ServiceType' => '39431','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-400x400.png','Capabilities' => '513','Resolution' => '999'},'191' => {'SMAPI' => 'https://api.classicalarchives.com/smapi/endpoint','Name' => 'Classical Archives','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '48903','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-400x400.png','Capabilities' => '1030739','Resolution' => undef},'184' => {'SMAPI' => 'https://sonos.stingray.com/ws/Sonos','Name' => 'Stingray Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '47111','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-400x400.png','Capabilities' => '295427','Resolution' => undef},'183' => {'SMAPI' => 'http://www.narando.com/sonos/service/action','Name' => 'narando','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '46855','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-400x400.png','Capabilities' => '37395','Resolution' => undef},'211' => {'SMAPI' => 'https://themusicmanager.eu/sonos/SonosAPI.php','Name' => 'The Music Manager','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-72x72.png','PromoText' => '','ResolutionSubstitution' => '.l.jpg','ServiceType' => '54023','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-400x400.png','Capabilities' => '515','Resolution' => '119'},'203' => {'SMAPI' => 'https://sonosapi-napster.rhapsody.com/smapi','Name' => 'Napster','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-72x72.png','PromoText' => '','ResolutionSubstitution' => '1500x1500.jpg','ServiceType' => '51975','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-400x400.png','Capabilities' => '595','Resolution' => '1500'},'231' => {'SMAPI' => 'https://moapi.wolfgangs.com/ws/wolfgangs.asmx','Name' => 'Wolfgang&apos;;s Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-72x72.png','PromoText' => '','ResolutionSubstitution' => '640','ServiceType' => '59143','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-400x400.png','Capabilities' => '537153','Resolution' => '640'},'192' => {'SMAPI' => 'https://www.focusatwill.com/sonos/action','Name' => 'focus@will','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-72x72.png','PromoText' => '','ResolutionSubstitution' => '-1500.png','ServiceType' => '49159','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-400x400.png','Capabilities' => '5632','Resolution' => '1500'},'218' => {'SMAPI' => 'https://soundsuit.fm/smapi','Name' => 'Soundsuit.fm','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '55815','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-400x400.png','Capabilities' => '512','Resolution' => undef},'233' => {'SMAPI' => 'https://integrations.pocketcasts.com/service/smapi','Name' => 'Pocket Casts','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59655/59655-72x72.png','PromoText' => '','ResolutionSubstitution' => '/960/','ServiceType' => '59655','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59655/59655-400x400.png','Capabilities' => '1028672','Resolution' => '960'},'174' => {'SMAPI' => 'https://sonos.tidal.com/v1/sonos','Name' => 'TIDAL','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-72x72.png','PromoText' => '','ResolutionSubstitution' => '640x640.jpg','ServiceType' => '44551','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-400x400.png','Capabilities' => '1083923','Resolution' => '640'},'223' => {'SMAPI' => 'https://sonos-smapi.rautemusik.fm/smapi','Name' => 'RauteMusik.FM','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '57095','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-400x400.png','Capabilities' => '513','Resolution' => undef},'31' => {'SMAPI' => 'http://www.qobuz.com/api.xml/0.2/sonos','Name' => 'Qobuz','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-72x72.png','PromoText' => '','ResolutionSubstitution' => '_600.jpg','ServiceType' => '7943','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-400x400.png','Capabilities' => '2643','Resolution' => '600'},'260' => {'SMAPI' => 'https://sonos.minidisco.nl/server.php','Name' => 'Minidisco','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/66567/66567-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.jpg','ServiceType' => '66567','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/66567/66567-400x400.png','Capabilities' => '512','Resolution' => '1500'},'53' => {'SMAPI' => 'https://securea.mlb.com/ce/sonos/default.jsp','Name' => 'MLB.com Gameday Audio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-72x72.png','PromoText' => '','ResolutionSubstitution' => '/400x400/','ServiceType' => '13575','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-400x400.png','Capabilities' => '1536','Resolution' => '400'},'9' => {'SMAPI' => 'https://spotify-v4.ws.sonos.com/smapi','Name' => 'Spotify','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '2311','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-400x400.png','Capabilities' => '1116691','Resolution' => undef},'7' => {'SMAPI' => 'https://www.concertvault.com/ws/MOAPI.asmx','Name' => 'Concert Vault','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-72x72.png','PromoText' => '','ResolutionSubstitution' => '/569/','ServiceType' => '1799','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-400x400.png','Capabilities' => '513','Resolution' => '569'},'13' => {'SMAPI' => 'https://www.stitcher.com/Service/Sonos/Sonos.php','Name' => 'Stitcher SmartRadio','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/3335/3335-72x72.png','PromoText' => '','ResolutionSubstitution' => 'lain328','ServiceType' => '3335','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/3335/3335-400x400.png','Capabilities' => '579','Resolution' => '328'},'169' => {'SMAPI' => 'https://sonos.tribeofnoise.com/server-v2.0.php','Name' => 'Tribe of Noise','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-72x72.png','PromoText' => '','ResolutionSubstitution' => '_1500.jpg','ServiceType' => '43271','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-400x400.png','Capabilities' => '512','Resolution' => '1500'},'234' => {'SMAPI' => 'https://sonos.deliver.media/musicservice','Name' => 'deliver.media','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59911/59911-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '59911','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59911/59911-400x400.png','Capabilities' => '512','Resolution' => undef},'33' => {'SMAPI' => 'https://sonos.murfie.com/','Name' => 'Murfie','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-72x72.png','PromoText' => '','ResolutionSubstitution' => '-huge.jpg?size=300','ServiceType' => '8455','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-400x400.png','Capabilities' => '513','Resolution' => '300'},'20' => {'SMAPI' => 'https://sonos.tidalhifi.com/sonos-wimp','Name' => 'WiMP','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-72x72.png','PromoText' => '','ResolutionSubstitution' => '640x640.jpg','ServiceType' => '5127','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-400x400.png','Capabilities' => '2579','Resolution' => '640'},'38' => {'SMAPI' => 'https://sonos-service.7digital.com/sonos.asmx','Name' => '7digital','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-72x72.png','PromoText' => '','ResolutionSubstitution' => '_800.jpg','ServiceType' => '9735','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-400x400.png','Capabilities' => '513','Resolution' => '800'},'167' => {'SMAPI' => 'http://sonosapi.gaana.com/SonosAPI.php','Name' => 'Gaana','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-72x72.png','PromoText' => '','ResolutionSubstitution' => '_480x480_','ServiceType' => '42759','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-400x400.png','Capabilities' => '577','Resolution' => '480'},'146' => {'SMAPI' => 'https://www.daytrotter.com/ws/MOAPI.asmx','Name' => 'Daytrotter','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '37383','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-400x400.png','Capabilities' => '513','Resolution' => undef},'258' => {'SMAPI' => 'https://api.fm.qq.com/v1/sonos/sonos_cgi','Name' => '企鹅FM','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/66055/66055-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '66055','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/66055/66055-400x400.png','Capabilities' => '512','Resolution' => undef},'221' => {'SMAPI' => 'https://sonos.nugs.net/soap/livephish','Name' => 'LivePhish+','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '56583','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-400x400.png','Capabilities' => '6675','Resolution' => undef},'181' => {'SMAPI' => 'https://www.mixcloud.com/sonos-app/','Name' => 'Mixcloud','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-72x72.png','PromoText' => '','ResolutionSubstitution' => 'w/1500/h/1500/','ServiceType' => '46343','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-400x400.png','Capabilities' => '2627','Resolution' => '1500'},'204' => {'SMAPI' => 'https://sonos-music.apple.com/ws/SonosSoap','Name' => 'Apple Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-72x72.png','PromoText' => '','ResolutionSubstitution' => '1200x1200','ServiceType' => '52231','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-400x400.png','Capabilities' => '3117633','Resolution' => '1200'},'151' => {'SMAPI' => 'https://mclients.googleapis.com/music/sonos/wsf/smapi','Name' => 'Google Play Music','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '38663','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-400x400.png','Capabilities' => '98899','Resolution' => undef},'198' => {'SMAPI' => 'https://api.anghami.com/anghmob/SonosAPI.php','Name' => 'Anghami','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '50695','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-400x400.png','Capabilities' => '2627','Resolution' => undef},'157' => {'SMAPI' => 'https://sns.bandcamp.com/api/sonos/2/sonos_api','Name' => 'Bandcamp','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-72x72.png','PromoText' => '','ResolutionSubstitution' => undef,'ServiceType' => '40199','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-400x400.png','Capabilities' => '513','Resolution' => undef}}
    setstate Sonos 2018-01-03 14:21:54 MusicServicesListVersion RINCON_000E58D8185601400:1390
    setstate Sonos 2018-01-03 14:22:11 ShareIndexInProgress 0
    setstate Sonos 2018-01-03 14:25:38 ZoneGroupState <ZoneGroups><ZoneGroup Coordinator="RINCON_000E58D8185601400" ID="RINCON_000E58D8185601400:2397242963"><ZoneGroupMember UUID="RINCON_B8E93722F00601400" Location="http://192.168.2.65:1400/xml/device_description.xml" ZoneName="Mobil" Icon="x-rincon-roomicon:portable" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="414" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceState="0"/><ZoneGroupMember UUID="RINCON_000E58D8185601400" Location="http://192.168.2.31:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="10" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="4" SecureRegState="3" VoiceState="0"/><ZoneGroupMember UUID="RINCON_B8E93778D2ED01400" Location="http://192.168.2.63:1400/xml/device_description.xml" ZoneName="Fernseher" Icon="x-rincon-roomicon:tvroom" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="1014" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceState="0"/><ZoneGroupMember UUID="RINCON_000E58262DF801400" Location="http://192.168.2.43:1400/xml/device_description.xml" ZoneName="Lounge" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="637" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="4" SecureRegState="3" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E5868386C01400" ID="RINCON_000E5868386C01400:2919934903"><ZoneGroupMember UUID="RINCON_000E5868386C01400" Location="http://192.168.2.47:1400/xml/device_description.xml" ZoneName="BRIDGE" Icon="x-rincon-roomicon:viper" Configuration="1" Invisible="1" IsZoneBridge="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="58" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="-1" RoomCalibrationState="0" SecureRegState="3" VoiceState="0"/></ZoneGroup></ZoneGroups>
    setstate Sonos 2018-01-03 13:55:20 state opened


    hier läuft gerade JAZZ Radio auf allen gruppierten Playern
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 04 Januar 2018, 11:37:09
    Hallo Reinerlein,
    Zitat:
    @Elektrolurch: Ich muss dieses Erzeugen in einen eignen Thread auslagern, da der Hauptthread sonst nicht mehr reagieren kann, und als tot erachtet wird. Dann wird er neugestartet :)

    Ja, so sieht es aus. Ich hatte das für meine Suchfunktion so programmiert, dass wenn die Datei nicht vorhanden ist, sie beim ersten Start eines Players erzeugt wird, ansonsten wird die Datei einmal in den Arbeitsspeicher geladen. Ich hatte mich nun seit dem letzten (oder vorletzten) Sonos-Update schon gewundert, dass der Sonos thread beim Einschalten des Players sich immer beendet und dann neu startet. Ok. Jetzt ist das auch klar, warum. Ich hatte gar nicht mehr daran gedacht, dass ich vor zwei Jahren diesen automatischen Mechanismus für die Bibliothek eingebaut hatte und erst das Problem woanders gesucht.

    Gruß

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: grafwetter am 06 Januar 2018, 12:35:06
    Hallo zusammen,

    ich möchte meine drei Sonos Geräte innerhalb des fhem-Moduls umbenennen, damit sie der bereits in der Sonos App erfolgten Umbenennung entsprechen.
    Wie wäre hier die korrekte Vorgehensweise ?
    Vielen Dank.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Januar 2018, 13:00:37
    Hi grafwetter,

    da jedes Sonos-Device nur noch alleine erzeugt wird (ohne andere dranhängende Devices), kannst du einfach den Fhem-Befehl "rename" verwenden.

    Lediglich deine eigenen Devices, die die Sonos-Devices verwenden (z.B. irgendwelche Notifies oder DOIFs) musst du dann noch manuell anpassen...

    Wenn du aber den Zonennamen innerhalb Sonos meinst, kannst du den einfach per App oder auch per Befehl an den entsprechenden Player anpasssen. Das Reading mit dem Zonennamen wird dann entsprechend aktualisiert...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: grafwetter am 06 Januar 2018, 14:26:44
    Hi,

    OK, das hat geklappt. Allerdings musste ich die RC händisch umbenennen.
    Titel: Antw:Sonos steuern
    Beitrag von: grafwetter am 06 Januar 2018, 14:30:08
    ... daran anschießend die nächste Frage:
    Bei zwei von drei meiner Sonos-Devices erscheinen zwei Player.
    Warum ?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Januar 2018, 14:30:23
    Hi grafwetter,

    dann ist die wohl noch ein überbleibsel einer alten Version... Eigentlich kannst du die löschen (wenn es sich nicht um eine von dir speziell erzeugte Version handelt). Das Modul hat mittlerweile seine eigene Darstellung der Buttons...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: grafwetter am 06 Januar 2018, 14:43:01
    Hi Reinerlein,
    Danke für die schnellen Antworten.

    sind die readingsgroups:

    Sonos_xxxRG_Favourites
    Sonos_xxxRG_Playlists
    Sonos_xxxRG_Radios

    auch alt ?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 06 Januar 2018, 15:27:14
    Hi grafwetter,

    ja und nein :)
    Die sind schon immer dabei, werden aber immer noch mit erzeugt. Diese ReadingsGroups enthalten die jeweiligen Listen des Players, sofern sie einmal abgefragt wurden (get FavouritesWithCovers, get PlaylistsWithCovers und get RadiosWithCovers).
    Damit kannst du dann direkt mit einem Klick den jeweiligen Eintrag auf dem verbundenen Player starten lassen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: grafwetter am 06 Januar 2018, 15:48:11
    Hi Reinerlein,
    Prima. Danke für die Infos.

    Titel: Antw:Sonos steuern
    Beitrag von: Neitcom am 07 Januar 2018, 21:04:34
    Hallo Reinerlein,

    bei mir läuft seit Weihnachten eine Sonos-Box.
    Leider klappt das Starten des Moduls bzw. der Subprozesse nicht richtig.
    Meistens vergehen 10 Versuche, und ich erhalte jedesmal die Meldung "SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815."
    Ich muss dann das Sonos Modul disablen und den Vorgang mehrfach wiederholen, bis der Connect irgendwann zufällig (?) klappt.
    Fhem, das Sonos-Modul und die Box sind auf aktuellem Stand. Fhem läuft auf einem Raspberry 3.

    Mit netstat ist zu erkennen, dass der Port immer mal wieder belegt und dann wieder freigegeben wird.


    Ich habe nun schon einiges ausprobiert, aber beispielsweise mit den Zeit-Parametern  "localhost:4711 45 12 10" klappt es auch nicht zuverlässig.

    Sobald das Modul dann irgendwann korrekt gestartet ist, funktioniert alles wie es soll. llerdings kommt es alle paar Tage zu einem Verbindungsabbruch, und dann beginnt die mühsame Startprozedur von neuem.

    Über einen Tipp würde ich mich freuen.

    Meistens sieht es so aus:

    2018.01.07 20:44:42 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 12 Sekunde(n) darauf...
    2018.01.07 20:44:44 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2018.01.07 20:44:54 3: Opening Sonos device localhost:4711
    2018.01.07 20:44:54 3: SONOS0: Connection accepted from localhost:52512
    2018.01.07 20:44:54 3: Sonos device opened
    2018.01.07 20:45:56 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 0 ~ 1970-01-01 01:00:00)... try to restart the process and connection...
    2018.01.07 20:45:56 3: SONOS1: UPnP-Thread gestartet.
    2018.01.07 20:45:56 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2018.01.07 20:45:56 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2018.01.07 20:45:56 2: SONOS1: Discover Sonosplayer 'Küche' (S12) Software Revision 8.2.2 with ID 'RINCON_7828CA28594401400_MR'
    2018.01.07 20:45:57 3: SONOS0: Disconnecting client and shutdown server...
    2018.01.07 20:45:57 3: SONOS0: Trying to kill Sonos_Thread...
    2018.01.07 20:45:57 3: SONOS0: Trying to kill IsAlive_Thread...
    2018.01.07 20:45:57 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2018.01.07 20:45:57 3: SONOS1: Controlpoint-Listener wurde beendet.
    2018.01.07 20:45:57 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    2018.01.07 20:46:26 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 12 Sekunde(n) darauf...
    2018.01.07 20:46:27 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:46:27 0: SONOS0: Retries left (wait 30s): 9
    2018.01.07 20:46:38 3: Opening Sonos device localhost:4711
    2018.01.07 20:46:38 3: Can't connect to localhost:4711: Connection refused
    2018.01.07 20:46:57 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:46:57 0: SONOS0: Retries left (wait 30s): 8
    2018.01.07 20:47:27 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2018.01.07 20:47:38 3: SONOS0: Connection accepted from localhost:52538
    2018.01.07 20:47:38 1: localhost:4711 reappeared (Sonos)
    2018.01.07 20:47:56 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 0 ~ 1970-01-01 01:00:00)... try to restart the process and connection...
    2018.01.07 20:47:56 3: SONOS1: UPnP-Thread gestartet.
    2018.01.07 20:47:56 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2018.01.07 20:47:56 2: SONOS1: Discover Sonosplayer 'Küche' (S12) Software Revision 8.2.2 with ID 'RINCON_7828CA28594401400_MR'
    2018.01.07 20:47:56 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2018.01.07 20:47:57 3: SONOS0: Disconnecting client and shutdown server...
    2018.01.07 20:47:57 3: SONOS0: Trying to kill Sonos_Thread...
    2018.01.07 20:47:57 3: SONOS0: Trying to kill IsAlive_Thread...
    2018.01.07 20:47:57 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2018.01.07 20:47:57 3: SONOS1: Controlpoint-Listener wurde beendet.
    2018.01.07 20:47:57 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    2018.01.07 20:48:26 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 12 Sekunde(n) darauf...
    2018.01.07 20:48:27 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:48:27 0: SONOS0: Retries left (wait 30s): 9
    2018.01.07 20:48:38 3: Opening Sonos device localhost:4711
    2018.01.07 20:48:38 3: Can't connect to localhost:4711: Connection refused
    2018.01.07 20:48:39 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 0 ~ 1970-01-01 01:00:00)... try to restart the process and connection...
    2018.01.07 20:48:57 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:48:57 0: SONOS0: Retries left (wait 30s): 8
    2018.01.07 20:49:09 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 12 Sekunde(n) darauf...
    2018.01.07 20:49:10 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2018.01.07 20:49:21 3: Opening Sonos device localhost:4711
    2018.01.07 20:49:27 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:49:27 0: SONOS0: Retries left (wait 30s): 7
    2018.01.07 20:49:57 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:49:57 0: SONOS0: Retries left (wait 30s): 6
    2018.01.07 20:50:27 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:50:27 0: SONOS0: Retries left (wait 30s): 5
    2018.01.07 20:50:57 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:50:57 0: SONOS0: Retries left (wait 30s): 4
    2018.01.07 20:51:27 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:51:27 0: SONOS0: Retries left (wait 30s): 3
    2018.01.07 20:51:57 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:51:57 0: SONOS0: Retries left (wait 30s): 2
    2018.01.07 20:52:27 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:52:27 0: SONOS0: Retries left (wait 30s): 1
    2018.01.07 20:52:57 0: SONOS0: Can't bind Port 4711: Bind failed: Address already in use at ./FHEM/00_SONOS.pm line 9815.

    2018.01.07 20:52:57 0: SONOS0: Retries left (wait 30s): 0
    Bind failed... at ./FHEM/00_SONOS.pm line 9824.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 07 Januar 2018, 21:21:50
    Hi Neitcom,

    versuch mal den Tipp von mir im folgenden Post: https://forum.fhem.de/index.php/topic,80388.msg743930.html#msg743930 (https://forum.fhem.de/index.php/topic,80388.msg743930.html#msg743930).

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Neitcom am 07 Januar 2018, 21:43:58
    Hallo Reiner,

    danke für den Tipp! Da Dein Beitrag erst von heute ist, hatte ich ihn leider noch nicht gesehen.

    Ich habe Zeile 1946 angepasst, und es scheint auch für mich die Lösung zu sein: 4 Mal habe ich den Service jetzt neu gestartet, und es hat jedesmal beim ersten Versuch geklappt, das war sonst noch nie der Fall. Kann natürlich ein Zufall sein, aber es sieht erstmal sehr gut aus (s.u.).

    Danke & Gruß,
    Neitcom


    2018.01.07 21:29:31 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 12 Sekunde(n) darauf...
    2018.01.07 21:29:32 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2018.01.07 21:29:43 3: Opening Sonos device localhost:4711
    2018.01.07 21:29:43 3: SONOS0: Connection accepted from localhost:53280
    2018.01.07 21:29:43 3: Sonos device opened
    2018.01.07 21:30:44 3: SONOS1: UPnP-Thread gestartet.
    2018.01.07 21:30:44 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2018.01.07 21:30:44 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    2018.01.07 21:30:44 2: SONOS1: Discover Sonosplayer 'Küche' (S12) Software Revision 8.2.2 with ID 'RINCON_7828CA28594401400_MR'
    2018.01.07 21:30:45 2: SONOS1: SonosPlayer 'Kueche' (S12) with ID 'RINCON_7828CA28594401400_MR' is already defined (as 'Sonos_Kueche') and will only be updated
    2018.01.07 21:30:45 2: SONOS1: SonosPlayer 'Kueche' is now updated
    2018.01.07 21:30:45 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_7828CA28594401400_sub0000024693

    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 09 Januar 2018, 09:37:26
    Hallo,

    ich habe seit kurzem einen Fehler im Log, er ständig auftaucht und den Log zumüllt:
    ZitatLoading device description failed with error: 404 Not Found (Location: http://192.168.122.1:8080/upnp) at ./FHEM/00_SONOS.pm line 2406 thread 1.

    Die besagte IP gibt es in meinem Netz gar nicht und ich habe sie auf ignore gesetzt. Trotzdem taucht die immer wieder auf.

    Hier der list vom Sonos:
    Internals:
       CHANGED   
       DEF        192.168.0.5:7770 45 1 5
       DELAYTIME  5
       DeviceName 192.168.0.5:7770
       FD         36
       INTERVAL   45
       NAME       Sonos
       NOTIFYDEV  global
       NR         683
       NTFY_ORDER 50-Sonos
       PARTIAL   
       STATE      opened
       TYPE       SONOS
       WAITTIME   1
       READINGS:
         2018-01-05 15:07:17   AllPlayer       ['Sonos_Bad','Sonos_Buero','Sonos_Carlotta','Sonos_Keller','Sonos_Kueche','Sonos_Leoni','Sonos_Wohnzimmer']
         2018-01-05 15:07:17   AllPlayerCount  7
         2018-01-05 15:07:17   AllPlayerNotBonded ['Sonos_Bad','Sonos_Buero','Sonos_Carlotta','Sonos_Keller','Sonos_Kueche','Sonos_Leoni','Sonos_Wohnzimmer']
         2018-01-05 15:07:17   AllPlayerNotBondedCount 7
         2018-01-09 09:35:42   LastProcessAnswer 1515486942.67289
         2017-12-30 13:25:04   LineInPlayer    []
         2018-01-07 18:51:13   MasterPlayer    ['Sonos_Bad','Sonos_Buero','Sonos_Carlotta','Sonos_Keller','Sonos_Kueche','Sonos_Leoni','Sonos_Wohnzimmer']
         2018-01-07 18:51:13   MasterPlayerCount 7
         2018-01-09 07:15:01   MasterPlayerNotPlaying ['Sonos_Bad','Sonos_Buero','Sonos_Carlotta','Sonos_Keller','Sonos_Kueche','Sonos_Leoni','Sonos_Wohnzimmer']
         2018-01-09 07:15:01   MasterPlayerNotPlayingCount 7
         2018-01-09 07:15:01   MasterPlayerPlaying []
         2018-01-09 07:15:01   MasterPlayerPlayingCount 0
         2018-01-09 07:15:26   MusicServicesList {'198' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-72x72.png','Capabilities' => '2627','ResolutionSubstitution' => undef,'SMAPI' => 'https://api.anghami.com/anghmob/SonosAPI.php','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-400x400.png','ServiceType' => '50695','Name' => 'Anghami'},'211' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-72x72.png','Capabilities' => '515','ResolutionSubstitution' => '.l.jpg','SMAPI' => 'https://themusicmanager.eu/sonos/SonosAPI.php','Resolution' => '119','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-400x400.png','ServiceType' => '54023','Name' => 'The Music Manager'},'235' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/60167/60167-72x72.png','Capabilities' => '70145','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.playsr.com/ws','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/60167/60167-400x400.png','ServiceType' => '60167','Name' => 'Sveriges Radio'},'13' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/3335/3335-72x72.png','Capabilities' => '579','ResolutionSubstitution' => 'lain328','SMAPI' => 'https://www.stitcher.com/Service/Sonos/Sonos.php','Resolution' => '328','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/3335/3335-400x400.png','ServiceType' => '3335','Name' => 'Stitcher SmartRadio'},'201' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-72x72.png','Capabilities' => '45633','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.amazonmusic.com/','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-400x400.png','ServiceType' => '51463','Name' => 'Amazon Music'},'231' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-72x72.png','Capabilities' => '537153','ResolutionSubstitution' => '640','SMAPI' => 'https://moapi.wolfgangs.com/ws/wolfgangs.asmx','Resolution' => '640','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-400x400.png','ServiceType' => '59143','Name' => 'Wolfgang&apos;s Music'},'212' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-72x72.png','Capabilities' => '513','ResolutionSubstitution' => 'width=1080','SMAPI' => 'https://sonos.plex.tv/sonos/','Resolution' => '1080','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-400x400.png','ServiceType' => '54279','Name' => 'Plex'},'191' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-72x72.png','Capabilities' => '1030739','ResolutionSubstitution' => undef,'SMAPI' => 'https://api.classicalarchives.com/smapi/endpoint','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-400x400.png','ServiceType' => '48903','Name' => 'Classical Archives'},'160' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-72x72.png','Capabilities' => '4611','ResolutionSubstitution' => 't500x500','SMAPI' => 'https://soundcloud-go.ws.sonos.com/smapi','Resolution' => '500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-400x400.png','ServiceType' => '40967','Name' => 'SoundCloud'},'150' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-72x72.png','Capabilities' => '512','ResolutionSubstitution' => undef,'SMAPI' => 'https://www.rusc.com/sonos.asmx','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-400x400.png','ServiceType' => '38407','Name' => 'RUSC'},'169' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-72x72.png','Capabilities' => '512','ResolutionSubstitution' => '_1500.jpg','SMAPI' => 'https://sonos.tribeofnoise.com/server-v2.0.php','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-400x400.png','ServiceType' => '43271','Name' => 'Tribe of Noise'},'36' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9223/9223-72x72.png','Capabilities' => '512','ResolutionSubstitution' => '_290.png','SMAPI' => 'https://sonos.hos.com/SOAP/Server1.2.php','Resolution' => '290','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9223/9223-400x400.png','ServiceType' => '9223','Name' => 'Hearts of Space'},'183' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-72x72.png','Capabilities' => '37395','ResolutionSubstitution' => undef,'SMAPI' => 'http://www.narando.com/sonos/service/action','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-400x400.png','ServiceType' => '46855','Name' => 'narando'},'237' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/60679/60679-72x72.png','Capabilities' => '328193','ResolutionSubstitution' => 'artwork_1500','SMAPI' => 'https://api.storeplay.com.au/sonos/SonosService.asmx','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/60679/60679-400x400.png','ServiceType' => '60679','Name' => 'storePlay'},'203' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-72x72.png','Capabilities' => '595','ResolutionSubstitution' => '1500x1500.jpg','SMAPI' => 'https://sonosapi-napster.rhapsody.com/smapi','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-400x400.png','ServiceType' => '51975','Name' => 'Napster'},'181' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-72x72.png','Capabilities' => '2627','ResolutionSubstitution' => 'w/1500/h/1500/','SMAPI' => 'https://www.mixcloud.com/sonos-app/','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-400x400.png','ServiceType' => '46343','Name' => 'Mixcloud'},'232' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-72x72.png','Capabilities' => '577','ResolutionSubstitution' => '_1500.jpg','SMAPI' => 'https://sonosrp.radioapi.io/Service.svc','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-400x400.png','ServiceType' => '59399','Name' => 'Radioplayer'},'256' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/65543/65543-72x72.png','Capabilities' => '594496','ResolutionSubstitution' => 'w_1500,h_1500','SMAPI' => 'https://cbcmusic-sonos.azurewebsites.net/SonosService.svc','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/65543/65543-400x400.png','ServiceType' => '65543','Name' => 'CBC Radio &amp; Music'},'163' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-72x72.png','Capabilities' => '513','ResolutionSubstitution' => '/large/','SMAPI' => 'https://sonos.spreaker.com/sonos/service/v1','Resolution' => '200','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-400x400.png','ServiceType' => '41735','Name' => 'Spreaker'},'167' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-72x72.png','Capabilities' => '577','ResolutionSubstitution' => '_480x480_','SMAPI' => 'http://sonosapi.gaana.com/SonosAPI.php','Resolution' => '480','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-400x400.png','ServiceType' => '42759','Name' => 'Gaana'},'7' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-72x72.png','Capabilities' => '513','ResolutionSubstitution' => '/569/','SMAPI' => 'https://www.concertvault.com/ws/MOAPI.asmx','Resolution' => '569','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/1799/1799-400x400.png','ServiceType' => '1799','Name' => 'Concert Vault'},'223' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-72x72.png','Capabilities' => '513','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos-smapi.rautemusik.fm/smapi','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-400x400.png','ServiceType' => '57095','Name' => 'RauteMusik.FM'},'2' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/519/519-72x72.png','Capabilities' => '2643','ResolutionSubstitution' => '1000x1000-000000-80-0-0.jpg','SMAPI' => 'https://api.deezer.com/sonos','Resolution' => '1000','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/519/519-400x400.png','ServiceType' => '519','Name' => 'Deezer'},'174' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-72x72.png','Capabilities' => '1083923','ResolutionSubstitution' => '640x640.jpg','SMAPI' => 'https://sonos.tidal.com/v1/sonos','Resolution' => '640','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-400x400.png','ServiceType' => '44551','Name' => 'TIDAL'},'38' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-72x72.png','Capabilities' => '513','ResolutionSubstitution' => '_800.jpg','SMAPI' => 'https://sonos-service.7digital.com/sonos.asmx','Resolution' => '800','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-400x400.png','ServiceType' => '9735','Name' => '7digital'},'162' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','Capabilities' => '513','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.townsquaremedia.com/index.php','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','ServiceType' => '41479','Name' => 'radioPup'},'258' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/66055/66055-72x72.png','Capabilities' => '512','ResolutionSubstitution' => undef,'SMAPI' => 'https://api.fm.qq.com/v1/sonos/sonos_cgi','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/66055/66055-400x400.png','ServiceType' => '66055','Name' => '企鹅FM'},'192' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-72x72.png','Capabilities' => '5632','ResolutionSubstitution' => '-1500.png','SMAPI' => 'https://www.focusatwill.com/sonos/action','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-400x400.png','ServiceType' => '49159','Name' => 'focus@will'},'184' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-72x72.png','Capabilities' => '295427','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.stingray.com/ws/Sonos','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-400x400.png','ServiceType' => '47111','Name' => 'Stingray Music'},'156' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/39943/39943-72x72.png','Capabilities' => '0','ResolutionSubstitution' => undef,'SMAPI' => 'http://reaper.ws.sonos.com/smapi','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/39943/39943-400x400.png','ServiceType' => '39943','Name' => 'Live365'},'222' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-72x72.png','Capabilities' => '6675','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.nugs.net/soap/nugs','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-400x400.png','ServiceType' => '56839','Name' => 'nugs.net'},'204' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-72x72.png','Capabilities' => '3117633','ResolutionSubstitution' => '1200x1200','SMAPI' => 'https://sonos-music.apple.com/ws/SonosSoap','Resolution' => '1200','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-400x400.png','ServiceType' => '52231','Name' => 'Apple Music'},'9' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-72x72.png','Capabilities' => '1116691','ResolutionSubstitution' => undef,'SMAPI' => 'https://spotify-v4.ws.sonos.com/smapi','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/2311/2311-400x400.png','ServiceType' => '2311','Name' => 'Spotify'},'33' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-72x72.png','Capabilities' => '513','ResolutionSubstitution' => '-huge.jpg?size=300','SMAPI' => 'https://sonos.murfie.com/','Resolution' => '300','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/8455/8455-400x400.png','ServiceType' => '8455','Name' => 'Murfie'},'20' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-72x72.png','Capabilities' => '2579','ResolutionSubstitution' => '640x640.jpg','SMAPI' => 'https://sonos.tidalhifi.com/sonos-wimp','Resolution' => '640','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-400x400.png','ServiceType' => '5127','Name' => 'WiMP'},'154' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-72x72.png','Capabilities' => '513','ResolutionSubstitution' => '.s999','SMAPI' => 'https://sonos.radionomy.com/SonosService.svc','Resolution' => '999','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-400x400.png','ServiceType' => '39431','Name' => 'Radionomy'},'218' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-72x72.png','Capabilities' => '512','ResolutionSubstitution' => undef,'SMAPI' => 'https://soundsuit.fm/smapi','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-400x400.png','ServiceType' => '55815','Name' => 'Soundsuit.fm'},'31' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-72x72.png','Capabilities' => '2643','ResolutionSubstitution' => '_600.jpg','SMAPI' => 'http://www.qobuz.com/api.xml/0.2/sonos','Resolution' => '600','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-400x400.png','ServiceType' => '7943','Name' => 'Qobuz'},'53' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-72x72.png','Capabilities' => '1536','ResolutionSubstitution' => '/400x400/','SMAPI' => 'https://securea.mlb.com/ce/sonos/default.jsp','Resolution' => '400','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/13575/13575-400x400.png','ServiceType' => '13575','Name' => 'MLB.com Gameday Audio'},'151' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-72x72.png','Capabilities' => '98899','ResolutionSubstitution' => undef,'SMAPI' => 'https://mclients.googleapis.com/music/sonos/wsf/smapi','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-400x400.png','ServiceType' => '38663','Name' => 'Google Play Music'},'221' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-72x72.png','Capabilities' => '6675','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.nugs.net/soap/livephish','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-400x400.png','ServiceType' => '56583','Name' => 'LivePhish+'},'234' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59911/59911-72x72.png','Capabilities' => '512','ResolutionSubstitution' => undef,'SMAPI' => 'https://sonos.deliver.media/musicservice','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59911/59911-400x400.png','ServiceType' => '59911','Name' => 'deliver.media'},'242' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/11/11-72x72.png','Capabilities' => '2579','ResolutionSubstitution' => undef,'SMAPI' => 'http://192.168.0.5:81/ws/Sonos','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/11/11-400x400.png','ServiceType' => '11','Name' => 'Subsonic'},'171' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-72x72.png','Capabilities' => '4609','ResolutionSubstitution' => '_1500.png','SMAPI' => 'https://sonos.mix.moodmedia.com/api','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-400x400.png','ServiceType' => '43783','Name' => 'Mood Mix'},'44' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/11271/11271-72x72.png','Capabilities' => '577','ResolutionSubstitution' => '_320.jpg','SMAPI' => 'https://api.hypem.com/api/sonos','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/11271/11271-400x400.png','ServiceType' => '11271','Name' => 'Hype Machine'},'195' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-72x72.png','Capabilities' => '2579','ResolutionSubstitution' => '/1500x1500','SMAPI' => 'https://360-smapi.api.247e.com/musicopen.svc','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49927/49927-400x400.png','ServiceType' => '49927','Name' => 'JUKE'},'260' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/66567/66567-72x72.png','Capabilities' => '512','ResolutionSubstitution' => '_1500.jpg','SMAPI' => 'https://sonos.minidisco.nl/server.php','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/66567/66567-400x400.png','ServiceType' => '66567','Name' => 'Minidisco'},'233' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59655/59655-72x72.png','Capabilities' => '1028672','ResolutionSubstitution' => '/960/','SMAPI' => 'https://integrations.pocketcasts.com/service/smapi','Resolution' => '960','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59655/59655-400x400.png','ServiceType' => '59655','Name' => 'Pocket Casts'},'164' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-72x72.png','Capabilities' => '12865','ResolutionSubstitution' => '500x500.jpg','SMAPI' => 'https://www.saavn.com/apps/sonos/SonosAPI.php','Resolution' => '500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-400x400.png','ServiceType' => '41991','Name' => 'Saavn'},'230' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-72x72.png','Capabilities' => '512','ResolutionSubstitution' => '/1000x1000/','SMAPI' => 'https://www.nts.live/smapi','Resolution' => '1000','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-400x400.png','ServiceType' => '58887','Name' => 'NTS Radio'},'189' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-72x72.png','Capabilities' => '513','ResolutionSubstitution' => '_1500.png','SMAPI' => 'https://provider.sound-machine.com/sonosapi','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-400x400.png','ServiceType' => '48391','Name' => 'SOUNDMACHINE'},'216' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-72x72.png','Capabilities' => '4627','ResolutionSubstitution' => '1500x1500.jpg','SMAPI' => 'https://sonosapi-aldimusic.rhapsody.com/smapi','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-400x400.png','ServiceType' => '55303','Name' => 'Aldi life Musik'},'157' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-72x72.png','Capabilities' => '513','ResolutionSubstitution' => undef,'SMAPI' => 'https://sns.bandcamp.com/api/sonos/2/sonos_api','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-400x400.png','ServiceType' => '40199','Name' => 'Bandcamp'},'217' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-72x72.png','Capabilities' => '4610','ResolutionSubstitution' => '_1500.jpg','SMAPI' => 'https://www.fitradio.com/apisonos/ws','Resolution' => '1500','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-400x400.png','ServiceType' => '55559','Name' => 'FIT Radio Workout Music'},'146' => {'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-72x72.png','Capabilities' => '513','ResolutionSubstitution' => undef,'SMAPI' => 'https://www.daytrotter.com/ws/MOAPI.asmx','Resolution' => undef,'PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/37383/37383-400x400.png','ServiceType' => '37383','Name' => 'Daytrotter'}}
         2018-01-09 07:15:26   MusicServicesListVersion RINCON_5CAAFDA1C27201400:413
         2017-12-30 13:25:26   ShareIndexInProgress 0
         2018-01-09 07:27:53   ZoneGroupState  <ZoneGroups><ZoneGroup Coordinator="RINCON_B8E93714FBAC01400" ID="RINCON_B8E93714FBAC01400:2914042576"><ZoneGroupMember UUID="RINCON_B8E93714FBAC01400" Location="http://192.168.0.37:1400/xml/device_description.xml" ZoneName="BRIDGE" Icon="x-rincon-roomicon:viper" Configuration="1" Invisible="1" IsZoneBridge="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="61" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="-1" RoomCalibrationState="0" SecureRegState="3" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9373184A001400" ID="RINCON_B8E9373184A001400:2308"><ZoneGroupMember UUID="RINCON_B8E9373184A001400" Location="http://192.168.0.38:1400/xml/device_description.xml" ZoneName="Büro" Icon="x-rincon-roomicon:office" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="33" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFD4AE0A001400" ID="RINCON_5CAAFD4AE0A001400:222"><ZoneGroupMember UUID="RINCON_5CAAFD4AE0A001400" Location="http://192.168.0.32:1400/xml/device_description.xml" ZoneName="Küche" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="44" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFDA1C27201400" ID="RINCON_5CAAFDA1C27201400:195"><ZoneGroupMember UUID="RINCON_5CAAFDA1C27201400" Location="http://192.168.0.42:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="67" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9375294B201400" ID="RINCON_B8E9375294B201400:57"><ZoneGroupMember UUID="RINCON_B8E9375294B201400" Location="http://192.168.0.96:1400/xml/device_description.xml" ZoneName="Leoni" Icon="x-rincon-roomicon:patio" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="111" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E5870A13001400" ID="RINCON_000E5870A13001400:150"><ZoneGroupMember UUID="RINCON_000E5870A13001400" Location="http://192.168.0.23:1400/xml/device_description.xml" ZoneName="Keller" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="71" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_949F3E84C8BC01400" ID="RINCON_949F3E84C8BC01400:1622431776"><ZoneGroupMember UUID="RINCON_949F3E84C8BC01400" Location="http://192.168.0.147:1400/xml/device_description.xml" ZoneName="Carlotta" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="6" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E9375200CE01400" ID="RINCON_B8E9375200CE01400:39"><ZoneGroupMember UUID="RINCON_B8E9375200CE01400" Location="http://192.168.0.39:1400/xml/device_description.xml" ZoneName="Bad" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="39.4-48021" MinCompatibleVersion="38.0-00000" LegacyCompatibleVersion="25.0-00000" BootSeq="68" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceState="0"/></ZoneGroup></ZoneGroups>
         2018-01-09 07:14:54   state           opened
    Attributes:
       DbLogExclude .*
       bookmarkSaveDir /mnt/sonos
       event-on-change-reading state
       icon       icoSONOSPLAYER_icon-ZB100.png
       ignoredIPs 192.168.122.1
       proxyCacheDir /mnt/sonos
       targetSpeakDir /mnt/sonos
       targetSpeakFileHashCache 1
       targetSpeakFileTimestamp 1
       targetSpeakURL \\192.168.0.5\SonosSpeak
       verbose    0


    Jemand eine Idee?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Januar 2018, 09:52:47
    Hi Mitch,

    hast du den SubProzess mal neustarten lassen (oder Fhem)?

    Sonst: Attribut disable am Sonos-Device auf 1 setzen, kurz warten, und wieder löschen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 09 Januar 2018, 10:13:39
    Klar, alles schon mehrfach probiert.

    Die einzige Lösung ist im Moment, die IPs der SonosBoxen alle manuell ins Attribut usedonlyIPs einzutragen.
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 09 Januar 2018, 10:58:17
    Zitat von: Mitch am 09 Januar 2018, 10:13:39
    Klar, alles schon mehrfach probiert.

    Die einzige Lösung ist im Moment, die IPs der SonosBoxen alle manuell ins Attribut usedonlyIPs einzutragen.

    Habe ich auch schon so seit ich die Player eingerichtet habe. Mir wurde das Log ansonsten auch mit den Meldungen zugemüllt. Nachteil ist, dass ich den Playern eine feste IP geben musste.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 09 Januar 2018, 11:31:45
    Hi,

    mittlerweile kann man bei den IP-Adressen auch reguläre Ausdrück angeben.

    Du könntest mal versuchen mit

    attr Sonos ignoredIPs /192.168.122.\d*/
    den kompletten Sub-Bereich zu sperren.

    Mich wundert es ein wenig, dass das mit dem Ignorieren nicht klappt. Das greift schon ziemlich früh ein, eigentlich bevor irgendein Zugriff erfolgt...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 09 Januar 2018, 11:47:38
    Habs mal umgebaut..mal sehen...
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 09 Januar 2018, 12:21:46
    @Mitch: Die IP, die nicht zu Deinem lokalem Netz gehört, wird vmtl. von einem Router, Layer-3 Switch oder einem Server mit Virtualisierungs-Software kommen. Mit Wireshark etc. könntst Du das näher untersuchen...
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 09 Januar 2018, 13:39:11
    Ja, die Vermutung habe ich auch.

    Interessant ist, wenn ich diese von intern pinge, dann geht der Ping nach draußen und ich bekomme eine Antwort aus dem Web.
    Ich werde heute Abend nochmal mit anderen Tools (Danke für den Tip mit Wireshark) testen.

    Wenn ich das ganze Subnetz wie vorgeschlagen als ignor definiere, dann geht Sonos gar nicht mehr. Hat dann als state disabled??
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 09 Januar 2018, 16:08:29
    Zitat von: Mitch am 09 Januar 2018, 13:39:11
    ...wenn ich diese von intern pinge, dann geht der Ping nach draußen und ich bekomme eine Antwort aus dem Web.
    Wie kommst du darauf? Das kann nicht sein, 192.168.x.y sind private Adressen die nicht ins Internet geroutet werden bzw. werden dürfen.
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 09 Januar 2018, 16:14:17
    wenn ich die Adresse anpinge, antwortet eine 65.x.x.x Adresse

    Ich habe rausgefunden, dass die Adresse zu meinem Unifi USG gehört.
    Warum Sonos darauf reagiert ist mir schleierhaft und sollte diese Adresse auch gar nicht sehen können.

    Bin jetzt nicht gerade der Netzwerk-Profi und muß mir das nochmal in Ruhe ansehen.
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 09 Januar 2018, 17:39:15
    kann es sein, dass die 65.x.x.x deine öffentliche IP ist?

    Sonos reagiert auf Pakete die mit 192.168.122.1 als Absendeadresse aus dieser Umgebung aufgrund der Multicast-UPnP-Abfrage ausgelöst werden ... d.H. irgendetwas in diser Umgebung reagiert wie ein UPnP-Device

    PS verwendest du USG um ein VPN aufzubauen? Kommt es evt. da her?
    Titel: Antw:Sonos steuern
    Beitrag von: WumpE am 12 Januar 2018, 17:23:22
    Hi Leutz , habe vorhin 00_Sonos.pm upgedatet und nun folgenden Fehler

    Zitat018.01.12 16:44:14 5: SONOS0: Received: 'SetValues:RINCON_B8E937E5C09C01400_MR:Treble=0|TruePlay=1|SleepTimerVersion=|getTitleInfoFromMaster=1|DirectControlIsSuspended=1|QueueVersion=1|currentTitle=stream.aac%3Far-distributor%3Df0a1|FavouritesVersion=RINCON_B8E937E5C09C01400%2C14|QueueHash=32868dbb06f17dbcd9b8d7ee4c3da44f|ZoneGroupName=K%C3%BCche|location=http%3A%2F%2F10.10.10.46%3A1400%2Fxml%2Fdevice_description.xml|roomIcon=kitchen|MasterPlayer=SONOS_Kueche|SlavePlayer=%5B%5D|AlarmListIDs=~~NotLoadedMarker~~|IsBonded=0|GroupMute=0|AlarmList=~~NotLoadedMarker~~|SubPolarity=0|NAME=SONOS_Kueche|PlaylistsVersion=RINCON_7828CA243DE201400%2C14|AlarmListVersion=~~NotLoadedMarker~~|currentStreamAudio=0|Loudness=1|ZoneGroupID=RINCON_B8E937E5C09C01400%3A__|SubGain=0|ZonePlayerUUIDsInGroup=RINCON_B8E937E5C09C01400|Volume=20|minVolume=0|DirectControlAccountID=accountId|currentArtist=|transportState=STOPPED|presence=~~NotLoadedMarker~~|HeadphoneConnected=0|currentAlbum=|Bass=0|OutputFixed=0|SubEnable=1|IsMaster=1|roomName=K%C3%BCche|DirectControlClientID=alexa.bridge|roomNameAlias=K%C3%BCche|RadiosVersion=RINCON_B8E937E5C09C01400%2C14|Balance=0|GroupVolume=20|getAlarms=1|fieldType=|Mute=0'
    2018.01.12 16:44:14 5: SW: StartThread

    2018.01.12 16:44:14 5: SONOS0: Received: 'StartThread'
    2018.01.12 16:44:14 3: SONOS1: UPnP-Thread gestartet.
    2018.01.12 16:44:14 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, bookmarkSaveDir, .) -> DEFAULT
    2018.01.12 16:44:14 4: SONOS1: Calling SONOS_LoadBookmarkValues("undef", "undef") ~ SaveDir: "."
    2018.01.12 16:44:14 2: SONOS1: Error during UPnP-Handling: Not a HASH reference at FHEM/lib/UPnP/ControlPoint.pm line 63, <$client> line 5.

    2018.01.12 16:44:14 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, bookmarkSaveDir, .) -> DEFAULT
    2018.01.12 16:44:14 4: SONOS1: Calling SONOS_SaveBookmarkValues("undef", "undef") ~ SaveDir: "."
    2018.01.12 16:44:14 3: SONOS1: UPnP-Thread wurde beendet.
    2018.01.12 16:44:14 4: SONOS2: SONOS_Client_Data_Retreive(SONOS, def, INTERVAL, 0) -> 30
    2018.01.12 16:44:14 1: SONOS2: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2018.01.12 16:44:14 1: SONOS3: Restore-Thread gestartet. Warte auf Arbeit...
    Thread 3 terminated abnormally: Not a HASH reference at FHEM/lib/UPnP/ControlPoint.pm line 63, <$client> line 5.
    2018.01.12 16:45:14 5: SW: DoWork:undef:refreshProcessAnswer:

    Das Sonos device steht auf Opened aber die Player verbinden sich nicht mehr !

    Grüße WumpE
    Titel: Antw:Sonos steuern
    Beitrag von: cawe am 12 Januar 2018, 18:06:18
    Hallo WumpE,

    hatte den gleichen Fehler nach dem Update. Ursache war, daß die Datei "ControlPoint.pm" unter FHEM/lib/UPnP nicht automatisch mit aktualisiert wurde. Nachdem ich das manuell nachgeholt hatte (aus dem SVN trunk heruntergeladen) hat wieder alles funktioniert.
    Titel: Antw:Sonos steuern
    Beitrag von: aliate am 13 Januar 2018, 15:29:23
    Servus miteinander,
    ich habe in meiner Wohnung mittlerweile 4 Sonos Play One (Sonos_Kueche, Sonos_Bad und Stereo-Paar Sonos_Wohnzimmer).

    Zur normalen Steuerung (Play, Pause, nächster Titel) habe ich mir für jeden Raum DOIF's gebastelt damit ich bei langem Tastendruck auf einen KNX-Taster den Player im entsprechenden Raum starte. Beispiel für Wohnzimmer:
    ([Turm_Wohnen_Sonos_KNX:"-100"] and [Sonos_Wohnzimmer:state] ne "PLAYING")(set Sonos_Wohnzimmer Volume 0)(set Sonos_Wohnzimmer Play)(set Sonos_Wohnzimmer Volume 10 1)DOELSEIF([Turm_Wohnen_Sonos_KNX:"-100"] and [Sonos_Wohnzimmer:state] eq "PLAYING")(set Sonos_Wohnzimmer Volume 0 1)(set Sonos_Wohnzimmer Pause)(set Sonos_Wohnzimmer Volume 10)DOELSEIF([Turm_Wohnen_Sonos_KNX:"100"])(set Sonos_Wohnzimmer Next)

    Wenn die Player starten, dann "dimme" ich die Lautstärke hoch bzw. beim ausschalten runter (siehe obiges DOIF).

    Nun zu meinem Wunsch:
    Ich möchte die Player gerne automatisch gruppieren, d.h. wenn bereits ein Player in der Wohnung läuft (z.B. Wohnzimmer) und ich ins Bad gehe und dort den Player starte, dann sollen Wohnzimmer und Bad gruppiert werden damit überall die gleiche Musik läuft. Wenn ich das Bad wieder verlasse und über den Taster den Player ausschalte/pausiere dann soll die Gruppe aufgelöst werden und nur noch Wohnzimmer weiterspielen. Das ganze soll dynamisch mit allen Playern in der Wohnung funktionieren. Der erste Player der spielt macht immer den Master und die anderen Räume werden "angruppiert". Wenn noch kein anderer Player läuft, dann soll der Raum einfach alleine spielen wie bisher.
    Hat jemand einen Code-Vorschlag für mich (vorzugsweise mit DOIF)?
    Dadurch dass es viele mögliche Konstellationen gibt komme ich selber auf keine Lösung  :-\

    Danke und Gruß
    Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: WumpE am 13 Januar 2018, 16:38:58
    Danke Cawe , das hat funktioniert.
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 14 Januar 2018, 15:51:52
    Zitat von: aliate am 13 Januar 2018, 15:29:23
    Nun zu meinem Wunsch:
    Ich möchte die Player gerne automatisch gruppieren
    Dann mach das doch mit einem notify/DOIF, wie man das halt so macht... Verwende ich auch so.
    Titel: Antw:Sonos steuern
    Beitrag von: aliate am 14 Januar 2018, 16:21:10
    Zitat von: dev0 am 14 Januar 2018, 15:51:52
    Dann mach das doch mit einem notify/DOIF, wie man das halt so macht... Verwende ich auch so.

    Dann poste doch bitte Deinen Code. :)

    Danke und Gruß
    Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 14 Januar 2018, 20:04:26
    Hallo Hermann,

    hier mal was zum entgruppieren wenn der Fernseher angehtdefmod nty_SonosPlayerWZStop notify LG_WOL:on {my $temp = ReadingsVal("Sonos_Wohnzimmer","MasterPlayer","unbekannt") ;; \
    fhem "set $temp RemoveMember Sonos_Wohnzimmer;;set $temp RemoveMember Sonos_Kueche;;set $temp RemoveMember Sonos_Bad;;set $temp RemoveMember Sonos_BadWanne"}


    Und hier ein at was eine Gruppe bildet und eine Stream startet:
    defmod a40 at *05:50:00 set Sonos Groups [Sonos_Bad, Sonos_BadWanne, Sonos_Kueche];;sleep 20;;set Sonos_Bad GroupMute 1;;sleep 5;;set Sonos_Bad,Sonos_BadWanne,Sonos_Kueche Volume 15;;set Sonos_Bad StartRadio Radio%20PSR%20102.9%20(Pop)

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 14 Januar 2018, 20:27:08
    Hi Otto,

    nur ein kleiner Tipp am Rande :)

    Auflösen aller Gruppen:

    set Sonos Groups Reset


    Rauslösen eines einzelnen Player aus seiner Gruppe, ohne zu wissen, in welcher er steckt:

    set Sonos_Wohnzimmer MakeStandaloneGroup


    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: binford6000 am 19 Januar 2018, 12:41:02
    Zitat von: Elektrolurch am 03 Januar 2018, 11:58:07
    Hallo Reinerlein,
    muss noch Mal auf den Befehl ExportSonosBibliothek zurückkommen.
    Bei mir scheint der Sonos-Prozess sich nach kurzer Zeit nach dem Befehl zu beenden und startet dann wieder neu. Vielleicht hilft da folgender log-Eintrag:

    ...
    Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(\\%(?:\\=)?(\w|\\{ <-- HERE (?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))/ at FHEM/lib/MP3/Tag.pm line 2611.
    ...

    Die Meldung aus: FHEM/lib/MP3/Tag.pm
    sehe ich, wenn ich den ExportSonosBibliothek - Befehl starte nach einiger Zeit....
    Jedenfalls gelingt es mir nicht mehr, das File mit den Export-Daten zu erzeugen.

    Elektrolurch

    Hallo Elektrolurch,
    ich habe auch die Meldung
    Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(\\%(?:\\=)?(\w|\\{ <-- HERE (?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))/ at FHEM/lib/MP3/Tag.pm line 2611.
    in meinem Log, allerdings nur wenn ich folgendes ausführe:
    fhem "set TYPE=SONOSPLAYER StartRadio /^Chilling/";

    Gibt es da mittlerweile Abhilfe? Letztlich funktioniert ja alles und es ist nur ein Hinweis im Log...
    VG Sebastian
    Titel: Antw:Sonos steuern
    Beitrag von: aliate am 19 Januar 2018, 18:18:02
    Guten Abend,

    im Nachgang zu meinem Post (https://forum.fhem.de/index.php/topic,10033.msg747983.html#msg747983) meine aktuelle Lösung:

    ([Turm_Wohnen_Sonos_KNX:"-100"] and [Sonos_Wohnzimmer:state] ne "PLAYING" and [Sonos_Bad:state] ne "PLAYING" and [Sonos_Kueche:state] ne "PLAYING")(set Sonos_Wohnzimmer Volume 0)(set Sonos_Wohnzimmer Play)(set Sonos_Wohnzimmer Volume 10 1)
    DOELSEIF([Turm_Wohnen_Sonos_KNX:"-100"] and [Sonos_Wohnzimmer:state] ne "PLAYING" and [Sonos_Kueche:state] eq "PLAYING" and [Sonos_Kueche:IsMaster] == 1)(set Sonos_Wohnzimmer Volume 0)(set Sonos_Kueche AddMember Sonos_Wohnzimmer)(set Sonos_Wohnzimmer Volume 10 1)
    DOELSEIF([Turm_Wohnen_Sonos_KNX:"-100"] and [Sonos_Wohnzimmer:state] ne "PLAYING" and [Sonos_Bad:state] eq "PLAYING" and [Sonos_Bad:IsMaster] == 1)(set Sonos_Wohnzimmer Volume 0)(set Sonos_Bad AddMember Sonos_Wohnzimmer)(set Sonos_Wohnzimmer Volume 10 1)
    DOELSEIF([Turm_Wohnen_Sonos_KNX:"-100"] and [Sonos_Wohnzimmer:state] eq "PLAYING" and [Sonos_Wohnzimmer:IsMaster] == 0)(set Sonos_Wohnzimmer Volume 0 1)(set Sonos_Wohnzimmer MakeStandaloneGroup)(set Sonos_Wohnzimmer Volume 10)
    DOELSEIF([Turm_Wohnen_Sonos_KNX:"-100"] and [Sonos_Wohnzimmer:state] eq "PLAYING" and [Sonos_Wohnzimmer:IsMaster] == 1)(set Sonos_Wohnzimmer Volume 0 1)(set Sonos_Wohnzimmer Pause)(set Sonos_Wohnzimmer Volume 10)
    DOELSEIF([Turm_Wohnen_Sonos_KNX:"100"])(set Sonos_Wohnzimmer Next)


    Ursprünglich wollte ich mir ja das abbilden jedes möglichen Zustandes durch den Einsatz von Variablen sparen, doch leider komme ich so auf keine Lösung. Obiges DOIF funktioniert jedoch genau nach meinen Vorstellungen. Wenn bereits ein Player in einem Raum spielt so wird der nächste automatisch in die Gruppe mit aufgenommen und am Ende auch wieder ausgeschlossen.

    Schönen Abend
    Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 20 Januar 2018, 16:28:53
    Hallo Alle zusammen,
    ich möchte direkt nach dem Einschalten meiner Funksteckdosen für meine Sonos Play1 erstmal eine beliebig lange "WelcomeMessage" abspielen, und danach einen bekannten Radio Sender abspielen.
    Das funktioniert auch mit folgendem Code, allerdings fängt zuerst der Radiosender manchmal für 1 bis 2 Sekunden zu spielen, dann kommt die Sprachdurchsage, und danach gehts mit dem Radio weiter. Das stört mich wirklich, und ich bekomme es einfach nicht hin. Wie schaffe ich es das erst die Welcomemessage abgespielt wird, ohne das erst der Radiosender angeht für 1-2 Sekunden? Da ich nicht weiss wie lange die WelcomeMessage ist, kann ich den Code nicht umdrehen, ich starte also zuerst das Radio und spiele dann die WelcomeMessage ab. Wie macht Ihr das?

    Sonos_Alle ist eine structure auf die presence readings für alle Sonos_Play1:
    define Sonos_Alle_n notify Sonos_Alle:appeared {\
      fhem("set Sonos Mute 1");;\
      SonosMakeGroups();;\
      MyStartFavourite("Sonos_Schlaf","Antenne");;\
      fhem("set Sonos Mute 0");;\
      WelcomeMessage()}


    Mit SonosMakeGroups gruppiere ich nach dem Einschalten die Player und setzte unterschiedliches Volume:
    sub SonosMakeGroups() {
      if (ReadingsVal("Sonos_Schlaf","SlavePlayer","NA") ne "['Sonos_Bad','Sonos_Flur','Sonos_Kueche','Sonos_Kueche_RF','Sonos_Schlaf_RF']") {
        fhem("set Sonos_Schlaf,Sonos_Kueche,Sonos_Bad Volume 6;set Sonos Groups [Sonos_Schlaf,Sonos_Kueche,Sonos_Flur,Sonos_Bad];set Sonos_Schlaf SnapshotGroupVolume;set Sonos_Flur Volume 8")}}



    sub MyStartFavourite($$) {
      my ($Device,$Sender) = @_;
      return undef if(!$Device or !defined($Sender));
        if    ( $Sender eq "Antenne"    || $Sender eq "antenne")         {fhem("set $Device StartFavourite /(?i)ANTENNE.*/     ")}
        elsif ( $Sender eq "AbsHOT"     || $Sender eq "absolut hot")     {fhem("set $Device StartFavourite /(?i)Absolut.HOT/   ")}
    . . . .
        elsif ( $Sender eq "SWR3"       || $Sender eq "SWR drei")        {fhem("set $Device StartFavourite /(?i)SWR3.*/        ")}}


    sub WelcomeMessage() {
      my $Wettervorhersage = "Hier die Vorhersage für meine Stadt für " . TimeNow() . ". Aktuelle Außentemperatur: " . "schlimm kalt " °C, und es ist jetzt " . "echt schlechtes Wetter" . ". Die Vorhersage für heute: " . "Es wird noch schlimmer" . ". ";
      if (ReadingsVal("rr_Inoma_wakeuptimer1","running","nA") eq "1")) {fhem("set Sonos_Schlaf Speak 12 de $Wettervorhersage")} else {fhem("set Sonos_Schlaf Speak 12 de Schön das Du da bist, kommt ja sonst keiner, bla bla bla")}
    }
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 20 Januar 2018, 17:34:31
    Ich weiß nicht wieso das eigentlich nur bei mir nicht geht(Durchsage innerhalb Radio), aber das ist ja egal. Ich muss es mal noch im Detail untersuchen.  ;D

    Als Idee:
    Ich starte den radiostream lange bevor ich ihn hören will. Ich habe nämlich null Bock auf jeden tag die gleiche Werbemessage beim Start des Streams.
    Also zuerst das
    defmod a40 at *05:50:00 set Sonos Groups [Sonos_Bad, Sonos_BadWanne, Sonos_Kueche];;sleep 20;;set Sonos_Bad GroupMute 1;;sleep 5;;set Sonos_Bad,Sonos_BadWanne,Sonos_Kueche Volume 15;;set Sonos_Bad StartRadio Radio%20PSR%20102.9%20(Pop)

    und dann das:
    defmod di_GutenMorgen DOIF ([05:51-11:00] and ["LichtBWaSw_02:on"]) (set Sonos_Bad GroupMute 0)

    Wenn Du jetzt  Einfach nicht Mute nimmst sondern Lautstärke 0, dann spielst Du Deine Nachricht mit Lautstärke x und anschließend setzt Du die Lautstärke wie gewünscht fürs Radio?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Hotbird am 21 Januar 2018, 13:59:01
    ich hab noch ne ältere Version von 21_SONOSPLAYER.pm und 00_SONOS.pm. Nachdem damit letztes Jahr etwas nicht geklappt hat ( Favoriten nach "Strom an" laden ) hab ich die aus dem update excludiert.. Jetzt habe ich ein normales update gemacht (update all ) und die Sonos werden gar nicht mehr angesprochen.. Kommt sich da irgendwas in die quere?

    UPD FHEM/00_FBAHAHTTP.pm
    UPD FHEM/00_OWX.pm
    update: skipping FHEM/00_SONOS.pm, matches exclude_from_update
    UPD FHEM/00_THZ.pm
    UPD FHEM/00_ZWDongle.pm
    UPD FHEM/01_FHEMWEB.pm
    UPD FHEM/10_CUL_HM.pm
    UPD FHEM/10_EQ3BT.pm
    UPD FHEM/10_FBDECT.pm
    UPD FHEM/10_FRM.pm
    UPD FHEM/10_KNX.pm
    UPD FHEM/10_MYSENSORS_DEVICE.pm
    UPD FHEM/10_SOMFY.pm
    UPD FHEM/13_KS300.pm
    UPD FHEM/14_CUL_TCM97001.pm
    UPD FHEM/20_FRM_AD.pm
    UPD FHEM/20_FRM_OUT.pm
    UPD FHEM/20_FRM_PWM.pm
    UPD FHEM/20_N4HBUS.pm
    UPD FHEM/21_HEOSPlayer.pm
    UPD FHEM/21_N4HMODULE.pm
    update: skipping FHEM/21_SONOSPLAYER.pm, matches exclude_from_update
    UPD FHEM/22_HOMEMODE.pm
    UPD FHEM/24_TPLinkHS110.pm
    UPD FHEM/26_KM273.pm
    UPD FHEM/30_DUOFERN.pm
    UPD FHEM/30_HUEBridge.pm
    UPD FHEM/31_Aurora.pm
    UPD FHEM/31_HUEDevice.pm
    UPD FHEM/31_PLAYBULB.pm
    UPD FHEM/32_TechemHKV.pm
    UPD FHEM/32_WifiLight.pm
    UPD FHEM/34_ESPEasy.pm
    UPD FHEM/36_LaCrosse.pm
    UPD FHEM/42_SYSMON.pm
    UPD FHEM/47_OBIS.pm
    UPD FHEM/50_MOBILEALERTSGW.pm
    UPD FHEM/50_TelegramBot.pm
    UPD FHEM/51_I2C_TSL2561.pm
    UPD FHEM/51_MOBILEALERTS.pm
    UPD FHEM/51_RPI_GPIO.pm
    UPD FHEM/53_GHoma.pm
    UPD FHEM/55_InfoPanel.pm
    UPD FHEM/59_HCS.pm
    UPD FHEM/70_BRAVIA.pm
    UPD FHEM/70_WINCONNECT.pm
    UPD FHEM/72_FB_CALLLIST.pm
    UPD FHEM/72_FRITZBOX.pm
    UPD FHEM/73_AMADCommBridge.pm
    UPD FHEM/73_ElectricityCalculator.pm
    UPD FHEM/73_GardenaSmartBridge.pm
    UPD FHEM/73_MPD.pm
    UPD FHEM/73_PRESENCE.pm
    UPD FHEM/74_AMADDevice.pm
    UPD FHEM/74_GardenaSmartDevice.pm
    UPD FHEM/74_Unifi.pm
    UPD FHEM/74_UnifiVideo.pm
    UPD FHEM/74_XiaomiBTLESens.pm
    UPD FHEM/74_XiaomiFlowerSens.pm
    UPD FHEM/76_msgDialog.pm
    UPD FHEM/77_UWZ.pm
    UPD FHEM/82_LGTV_WebOS.pm
    UPD FHEM/88_xs1Bridge.pm
    UPD FHEM/90_at.pm
    UPD FHEM/91_notify.pm
    UPD FHEM/92_FileLog.pm
    UPD FHEM/93_DbLog.pm
    UPD FHEM/93_DbRep.pm
    UPD FHEM/93_PWMR.pm
    UPD FHEM/95_Alarm.pm
    UPD FHEM/95_YAAHM.pm
    UPD FHEM/95_holiday.pm
    UPD FHEM/96_SIP.pm
    UPD FHEM/96_allowed.pm
    UPD FHEM/97_PiXtendV2.pm
    UPD FHEM/98_ArduCounter.pm
    UPD FHEM/98_BOSEST.pm
    UPD FHEM/98_DLNARenderer.pm
    UPD FHEM/98_DOIF.pm
    UPD FHEM/98_GOOGLECAST.pm
    UPD FHEM/98_HMinfo.pm
    UPD FHEM/98_HMtemplate.pm
    UPD FHEM/98_Modbus.pm
    UPD FHEM/98_SVG.pm
    UPD FHEM/98_TRAFFIC.pm
    UPD FHEM/98_apptime.pm
    UPD FHEM/98_autocreate.pm
    UPD FHEM/98_backup.pm
    UPD FHEM/98_configdb.pm
    UPD FHEM/98_dewpoint.pm
    UPD FHEM/98_structure.pm
    UPD FHEM/98_telnet.pm
    UPD FHEM/98_update.pm
    UPD FHEM/98_weekprofile.pm
    UPD FHEM/99_Utils.pm
    UPD FHEM/DevIo.pm
    UPD FHEM/HMConfig.pm
    UPD FHEM/HttpUtils.pm
    UPD FHEM/TcpServerUtils.pm
    UPD FHEM/YahooWeatherAPI.pm
    UPD FHEM/firmware/ArduCounter.hex
    UPD FHEM/firmware/JeeLink_LaCrosseGateway.bin
    UPD FHEM/lib/74_AMADautomagicFlowset_4.0.13.xml
    UPD FHEM/lib/Device/Firmata.pm
    UPD FHEM/lib/Device/Firmata/Constants.pm
    UPD FHEM/lib/Device/Firmata/Platform.pm
    UPD FHEM/lib/Device/Firmata/Protocol.pm
    UPD FHEM/lib/UPnP/ControlPoint.pm
    UPD FHEM/lib/fhem_zwave_deviceconfig.xml.gz
    UPD FHEM/lib/openzwave_manufacturer_specific.xml
    UPD contrib/commandref_join.pl
    UPD docs/commandref_frame.html
    UPD docs/commandref_frame_DE.html
    UPD www/codemirror/fhem_codemirror.js
    UPD www/images/fhemSVG/logic.svg
    UPD www/images/fhemSVG/mqtt.svg
    UPD www/images/fhemSVG/mqtt_broker.svg
    UPD www/images/fhemSVG/mqtt_device.svg
    UPD www/pgm2/alarm.js
    UPD www/pgm2/defaultCommon.css
    UPD www/pgm2/f18.js
    UPD www/pgm2/f18style.css
    UPD www/pgm2/fhemweb.js
    UPD www/pgm2/fhemweb_fbcalllist.js
    UPD www/pgm2/fhemweb_iconButtons.js
    UPD www/pgm2/fhemweb_iconRadio.js
    UPD www/pgm2/fhemweb_uzsu.js
    UPD www/pgm2/fhemweb_weekprofile.js
    UPD www/pgm2/svg.js
    UPD www/pgm2/zwave_neighborlist.js


    sobald ich das durchführe ist Sonos gar nicht mehr ansprechbar...
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 21 Januar 2018, 14:22:28
    Hi Hotbird,

    du hast die Datei "FHEM/lib/UPnP/ControlPoint.pm" geupdated.
    Dort hat sich die Schnittstelle zur Verwendung geändert, sodass die alten Sonos-Dateien nicht mit dieser neuen ControlPoint-Version zusammenarbeiten können...

    Grüße
    Reinerlein

    P.S.: Im Log müsste es dazu auch eine Fehlermeldung geben. Da sollte man schon mal reinschauen...
    Titel: Antw:Sonos steuern
    Beitrag von: Hotbird am 21 Januar 2018, 14:35:44
    das heißt jetzt das ich die auch ausklammern muss, oder ein update auf die neuen Sonosdateien machen muss? Mhh, den Rest hätte ich ja schon gerne als update... Naja, ich mach erstmal nen Backup vom laufenden System :-)
    Danke auf jeden Fall für die schnelle antwort!
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 24 Januar 2018, 20:08:56
    Ich habe etwas (vermutlich dummes) gemacht und einen Sonos-Raum umbenannt, indem ich ein Search & Replace über die fhem.cfg habe laufen lassen. Das scheint soweit auch funktioniert zu haben, allerdings taucht der alte Namen noch in nicht anklickbarer Form auf, inkl. Albumcover und funktionierenden Play/Pause/etc. Buttons. Wie kann ich das sauberziehen?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Januar 2018, 21:12:04
    Hi dantist,

    ich weiß nicht, welchen Stand du hast.
    In der aktuellen Version werden neben dem Hauptdevice nur die vier Readingsgroups für "Favoriten", "Radios", "Playlisten" und der aktuellen "Queue" angelegt.

    Was genau bei dir passiert ist, kann man von hier nicht wirklich nachvollziehen...
    Einfacher wäre vermutlich ein "rename Sonos_OldName Sonos_Newname" gewesen, und im Anschluß noch die vier Readingsgroups :)

    Du kannst dir aber mit

    list TYPE=SONOSPLAYER
    zumindest mal alle definierten Player auflisten lassen.

    Die ReadingsGroups findest du dann mit

    list Sonos_.+RG_.+:FILTER=TYPE=readingsGroup


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 24 Januar 2018, 23:48:37
    Den Rename-Befehl habe ich danach auch gefunden  ;D

    Der Fehler war ein vergessenes group-Attribut, das vom Find & Replace nicht erwischt wurde.
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 25 Januar 2018, 12:51:17
    Ich mache alle Durchsagen mitset TYPE=SONOSPLAYER:FILTER=presence=appeared:FILTER=currentTitle!=Gruppenwiedergabe Speak 37 de $ausgabe

    Meistens auf allen Sonos Lautsprechern, das ist natürlich nicht synchron.

    Jetzt habe ich alle Lautsprecher im Sonos Modul in eine Gruppe gesteckt und die Ansagen kommen jetzt synchron. Leider wird jetzt jede Ansage doppelt gemacht, wie kann ich das unterbinden?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Januar 2018, 12:56:04
    Hi elmer,

    ohne das Problem jetzt wirklich gefunden zu haben, würde ich dir empfehlen, auf IsMaster zu filtern:

    set TYPE=SONOSPLAYER:FILTER=presence=appeared:FILTER=IsMaster=1 Speak 37 de $ausgabe


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 25 Januar 2018, 13:32:08
    Wenn ich das ganze mit IsMaster=1 mache ist alles wieder asynchron.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 25 Januar 2018, 15:11:11
    Hi elmer,

    komisch. Was liefert denn ein

    list TYPE=SONOSPLAYER:FILTER=presence=appeared:FILTER=IsMaster=1
    ?

    Da sollten nur Masterplayer erscheinen, die ja jeweils ihre Gruppe versorgen.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 25 Januar 2018, 16:03:33
    Da wird Sonos_Küche und Sonos_Wohnzimmer angezeigt.

    Ich habe soeben gesehen das mir die Gruppe getrennt wurde nachdem ich mit Alexa die Musik in der Küche gestartet habe.

    Ist es möglich nach jedem manuellen Start alle automatisch wieder in eine Gruppe zu packen, wenn die Wiedergabe beendet wird?
    Titel: Antw:Sonos steuern
    Beitrag von: hobby_musiker am 27 Januar 2018, 11:18:29
    Wollte mal zu folgendem Punkt Rückmeldung geben, falls das noch den einen oder anderen betrifft:
    Zitat von: hobby_musiker am 30 Dezember 2017, 18:09:37
    Habe dasselbe Problem wie octek0815 und uniqueck. URL bei meiner Playlist: http://<MEINE SONOS-IP-ADRESSE>:1400/getaa?u=x-rincon-cpcontainer%3A1006206ccatalog%252fplaylists%252fB076ZT8XFT%252f%2523prime_playlist%3Fsid%3D201%26flags%3D8300%26sn%3D1

    Auch bei mir sind die Cover auf dem Handy sichtbar, die URL liefert im Browser eine leere Seite (und in FHEM wird natürlich dann auch nix angezeigt).

    Das Problem tritt nur (?) bei Playlists auf. Wenn ich z.B. irgendein Album von Amazon Music streame, kann ich die Covers sehen. Auch Radiosender werden angezeigt.

    Irgendjemand, der das schon hinbekommen hat oder eine Idee, warum das nicht klappt?

    Bei mir hat es geholfen, die Firewallsettings meines Raspi 3 wie im SONOS-Wiki beschrieben anzupassen. In dem Zusammenhang vielleicht auch für den einen oder anderen hilfreich: Die Aussage von SONOS selbst für die Firewall-Settings (https://sonos-de.custhelp.com/app/answers/detail/a_id/415/~/konfigurieren-deiner-firewall-f%C3%BCr-sonos (https://sonos-de.custhelp.com/app/answers/detail/a_id/415/~/konfigurieren-deiner-firewall-f%C3%BCr-sonos)).
    Titel: Antw:Sonos steuern
    Beitrag von: hobby_musiker am 28 Januar 2018, 18:50:50
    Kennt ihr das? Kaum ist ein Problem gelöst, taucht das nächste auf...

    Die "schwierigeren" Dinge funktionieren jetzt bei mir (vielen Dank, Reinerlein für das super Modul und die Doku dazu!):
    - Abspielen einer Playlist (Amazon Music)
    - Unterbrechen der Musik durch eine Sprachausgabe via espeak oder Google ("Die Waschmaschine ist fertig") :-)
    - Anzeige Cover-Bild des aktuellen und nächsten Titels in der FHEM-Oberfläche (siehe screenshot FhemGUI.png)

    Das (aus meiner Sicht) "einfachere" hab ich aber noch nicht hinbekommen:
    Die Anzeige des aktuellen Cover-Bildes im Floorplan.

    Bevor jemand fragt: Ja, ich habe ein Update gemacht und ja, ich habe dieses Forum und das Wiki durchsucht (und auch das Einsteiger-Dokument durchgelesen - wenn auch vielleicht nicht alles verstanden).

    Folgendes habe ich ausprobiert:
    1) FHEM-Update

    2) attr Sonos_Wohnzimmer fp_Infos 10,10,1
       Ergebnis: Es wird nur der textuelle Zustand des device ausgegeben, siehe Screenshot (Floorplan.png)

    3) Im SONOS-FHEMWiki gesucht, Ergebnis: Die URL zum Cover-Image steckt im Reading "nextAlbumArtURL".
       Mein Versuch, diese URL in einem Weblink zu verwenden, Code:
    define CurrentAlbumArt_Wohnzimmer weblink image readingsval(Sonos_Wohnzimmer, currentAlbumArtURL, "")
    ist kläglich gescheitert - das generierte HTML sieht anders aus als das von mir erhoffte, nämlich
    <img src="readingsval(Sonos_Wohnzimmer, currentAlbumArtURL, " ")"="">

    4) Im SONOS-FHEMWiki weiter gesucht - folgendes soll demnach funktionieren:
    define NextAlbumArt_Wohnzimmer weblink image fhem/icons/SONOSPLAYER/Sonos_Wohnzimmer_NextAlbumArt
    attr NextAlbumArt_Wohnzimmer group Wohnzimmer
    attr NextAlbumArt_Wohnzimmer htmlattr width="200"
    attr NextAlbumArt_Wohnzimmer room Sonos

    Ergebnis: Das Verzeichnis für die Bilder existiert nicht, und selbst wenn ich dieses händisch anlege und dem Verzeichnis (rekursiv) den richtigen Besitzer und Gruppe zuweise, wird darin nichts abgelegt (ich verwende einen Raspi 3).

    5) In diesem Forum gesucht, Ergebnis: der Thread https://forum.fhem.de/index.php/topic,71831.0.html (https://forum.fhem.de/index.php/topic,71831.0.html) samt dessen Referenz auf diesen Thread hier

    Weiss grade nicht mehr weiter - hat jemand 'nen Tipp für mich? Was mache ich falsch?

    Meine SONOS-Definition:
    defmod Sonos SONOS localhost:4711 30 8 5
    attr Sonos Speak1 wav:/usr/bin/expeak -v %language% -w %filename% "%text%"
    attr Sonos getFavouritesListAtNewVersion 1
    attr Sonos getListsDirectlyToReadings 1
    attr Sonos getPlaylistsListAtNewVersion 1
    attr Sonos room Sonos,XX.Experiment
    attr Sonos targetSpeakDir /mnt/SonosSpeak
    attr Sonos targetSpeakFileHashCache 1
    attr Sonos targetSpeakMP3FileDir /mnt/SonosSpeak/
    attr Sonos targetSpeakURL \\PCMBED07\SonosSpeak
    attr Sonos verbose 1


    Meine SONOSPLAYER-Device-Definition:
    defmod Sonos_Wohnzimmer SONOSPLAYER RINCON_949F3E79613001400_MR
    attr Sonos_Wohnzimmer alias Wohnzimmer
    attr Sonos_Wohnzimmer fp_Infos 10,10,1
    attr Sonos_Wohnzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Wohnzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Wohnzimmer generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Wohnzimmer generateVolumeSlider 1
    attr Sonos_Wohnzimmer getAlarms 1
    attr Sonos_Wohnzimmer getTitleInfoFromMaster 1
    attr Sonos_Wohnzimmer group Wohnzimmer
    attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-S12.png
    attr Sonos_Wohnzimmer minVolume 0
    attr Sonos_Wohnzimmer model Sonos_S12
    attr Sonos_Wohnzimmer room EG.WoZi,Sonos
    attr Sonos_Wohnzimmer simulateCurrentTrackPosition 1
    attr Sonos_Wohnzimmer sortby 1
    attr Sonos_Wohnzimmer stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
    attr Sonos_Wohnzimmer userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Queue:LastActionResult.*?GetQueueWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }
    attr Sonos_Wohnzimmer verbose 5
    attr Sonos_Wohnzimmer webCmd Volume
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 28 Januar 2018, 21:15:17
    Hallo hobby_musiker,

    das Ablegen der Cover als lokale Datei im FHEM-Verzeichnis habe ich vor ein paar Releases standardmäßig abgeschaltet. Die meisten kommen mit den Cover-URLs aus, die im Reading stehen, und das Ablegen des Covers lokal blockiert FHEM für eine kurze Zeit...
    Aktivieren kannst du das wieder mit dem Attribut "getLocalCoverArt" am Sonos-Device.

    Besser wäre es aber, wenn du mit der URL auskommen würdest.
    Geht denn vielleicht sowas:

    define CurrentAlbumArt_Wohnzimmer weblink htmlCode { '<img src="'.ReadingsVal("Sonos_Wohnzimmer", "currentAlbumArtURL", "").'" width="100" />' }


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: skinny norris am 29 Januar 2018, 09:20:34
    Moin,
    seit ein paar Tagen (Wochen?) wird der 'transportState' meiner Lautsprecher nicht mehr korrekt angezeigt. Anstelle von 'Playing' steht da beim Abspielen immer :
    "transportState PAUSED_PLAYBACK"
    .
    Fhem is aktuell:
    ########################################################################################
    #
    # SONOS.pm (c) by Reiner Leins, January 2018
    # rleins at lmsoft dot de
    #
    # $Id: 00_SONOS.pm 15823 2018-01-07 22:42:45Z Reinerlein $
    #
    # FHEM module to commmunicate with a Sonos-System via UPnP
    #
    ########################################################################################
    und
    ########################################################################################
    #
    # SONOSPLAYER.pm (c) by Reiner Leins, January 2018
    # rleins at lmsoft dot de
    #
    # $Id: 21_SONOSPLAYER.pm 15823 2018-01-07 22:42:45Z Reinerlein $
    #
    # FHEM module to work with Sonos-Zoneplayers
    #
    # define <name> SONOSPLAYER <UDN>
    #
    # where <name> may be replaced by any name string
    #       <udn> is the Zoneplayer Identification
    #
    ########################################################################################

    Auf den Lautsprechern ist die aktuelle Sonos FW: 8.3
    #
    Kennst jemand dieses "Problem" ?
    Titel: Antw:Sonos steuern
    Beitrag von: hobby_musiker am 29 Januar 2018, 21:16:47
    Hallo Reinerlein,

    Zitat von: Reinerlein am 28 Januar 2018, 21:15:17
    Geht denn vielleicht sowas:

    define CurrentAlbumArt_Wohnzimmer weblink htmlCode { '<img src="'.ReadingsVal("Sonos_Wohnzimmer", "currentAlbumArtURL", "").'" width="100" />' }


    Vielen Dank für den Tipp! Funktioniert! (Den Trick mit '. .' kannte ich noch nicht  :) )

    Jetzt muss ich nur noch die Aktualisierung des Cover-Bildes bei Änderung des currentAlbumArtURL readings hinbekommen. Hier (https://forum.fhem.de/index.php/topic,68902.0.html) steht dazu ja schon was. Ich kämpfe grade noch mit notify und DOIF rum, um einen vernünftigen Trigger zu generieren. Aber die Chancen stehen gut, das irgendwie hinzubekommen.

    Vielen Dank nochmal!

    Gruß hobby_musiker
    Titel: Antw:Sonos steuern
    Beitrag von: trinitywhm am 30 Januar 2018, 18:51:14
    Ich habe seit heute hin und wieder mal folgende Meldung im Log:
    Content-Length header value was wrong, fixed at /usr/share/perl5/LWP/Protocol/http.pm line 257, <$client> line 5

    Ohne Zeitangabe, einfach so zwischendrin.
    Es tauchte heute nach manchen Sprachansagen auf, aber nicht bei allen.

    Woran liegt das und was kann ich dagegen tun?
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 31 Januar 2018, 21:05:36
    Hallo Reinerlein,


    kannst Du noch eine Funktion einbauen um den Status des WLAN Ports zu bekommen? Wenn diese via Kabel angeschlossen sind bekomme ich immer wieder heftige STP Probleme und muss dann mit

    http://<IP SONOS DEVICE>:1400/wifictrl?wifi=persist-off
    http://<IP SONOS DEVICE>:1400/wifictrl?wifi=off


    das Gelumpe entsprechend schalten ... wäre cool, wenn es aus FHEM "einfach" geht
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 31 Januar 2018, 21:11:55
    Hi Wuppi,

    du kannst direkt ein set aufrufen:

    set PLAYER Wifi persist-off


    Aber was meinst du mit "Status bekommen"?
    Soweit ich weiß, gibt es keine abrufbaren Informationen dazu, oder doch?

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 31 Januar 2018, 21:21:05
    Danke :-) Hatte ich gar nicht nach geschaut, weil ich nur nach Get und den Readings geschaut habe :-)

    ansonsten guck mal hier https://bsteiner.info/articles/disabling-sonos-wifi

    mit http://172.17.3.118:1400/status/ifconfig bekomme ich den Status

    ohne Wifi:
    running /sbin/ifconfig
    br0       Link encap:Ethernet  HWaddr 5C:AA:FD:C0:BE:1A 
              inet addr:172.17.3.120  Bcast:172.17.3.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:1326527 errors:0 dropped:0 overruns:0 frame:0
              TX packets:486415 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:771293405 (735.5 MiB)  TX bytes:41972406 (40.0 MiB)

    eth0      Link encap:Ethernet  HWaddr 5C:AA:FD:C0:BE:1A 
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:1350846 errors:0 dropped:0 overruns:0 frame:0
              TX packets:675405 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:812986349 (775.3 MiB)  TX bytes:53311806 (50.8 MiB)
              Base address:0xe000

    lo        Link encap:Local Loopback 
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:317 errors:0 dropped:0 overruns:0 frame:0
              TX packets:317 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:85551 (83.5 KiB)  TX bytes:85551 (83.5 KiB)


    mit Wifi:
    running /sbin/ifconfig
    ath0      Link encap:Ethernet  HWaddr 5C:AA:FD:44:4E:5C 
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:199
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Interrupt:16 Memory:c92c0000-c92e0000

    br0       Link encap:Ethernet  HWaddr 5C:AA:FD:44:4E:5C 
              inet addr:172.17.3.118  Bcast:172.17.3.255  Mask:255.255.255.0
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:716515 errors:0 dropped:0 overruns:0 frame:0
              TX packets:97151 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:179580672 (171.2 MiB)  TX bytes:17906507 (17.0 MiB)

    eth0      Link encap:Ethernet  HWaddr 5C:AA:FD:44:4E:5C 
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:0 errors:0 dropped:0 overruns:0 frame:0
              TX packets:0 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:0 (0.0 B)  TX bytes:0 (0.0 B)
              Base address:0xe000

    lo        Link encap:Local Loopback 
              inet addr:127.0.0.1  Mask:255.0.0.0
              UP LOOPBACK RUNNING  MTU:16436  Metric:1
              RX packets:882 errors:0 dropped:0 overruns:0 frame:0
              TX packets:882 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:342958 (334.9 KiB)  TX bytes:342958 (334.9 KiB)[/code

    sind 2 verschiedene Player ...

    die IP hat immer das Device br0 und NUR bei WiFi ist das ath0 mit in der Liste
    Titel: Antw:Sonos steuern
    Beitrag von: justme1968 am 31 Januar 2018, 21:28:04
    wenn man in der sonos desktop app den about dialog aufruft steht bei den playern die wlan verwenden WM: 1, wenn sie sonos net oder kabel verwenden steht dort WM: 0. vielleicht findet sich das ja irgendwo in den infos die per api kommen?
    Titel: Antw:Sonos steuern
    Beitrag von: hobby_musiker am 31 Januar 2018, 21:39:01
    Hallo allerseits,

    Zitat von: hobby_musiker am 29 Januar 2018, 21:16:47
    Jetzt muss ich nur noch die Aktualisierung des Cover-Bildes bei Änderung des currentAlbumArtURL readings hinbekommen. Hier (https://forum.fhem.de/index.php/topic,68902.0.html) steht dazu ja schon was. Ich kämpfe grade noch mit notify und DOIF rum, um einen vernünftigen Trigger zu generieren. Aber die Chancen stehen gut, das irgendwie hinzubekommen.

    Vielleicht gibt's ja noch andere, die das vielleicht interessiert - ich hab die Aktualisierung folgendermaßen gelöst:
    defmod act_on_CurrentTrackChanged DOIF ([Sonos_Wohnzimmer:currentAlbumArtURL] ne "") ({fhem("trigger WEB JS:location.reload();;;;")})
    attr act_on_CurrentTrackChanged checkReadingEvent 1
    attr act_on_CurrentTrackChanged do always


    Ist nicht ganz so elegant, weil der ganze Browser-Inhalt aktualisiert wird, funktioniert aber zuverlässig.

    Gruß hobby_musiker
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 31 Januar 2018, 22:34:25
    hmmmm,

    unter http://172.17.3.118:1400/xml/DeviceProperties1.xml gibt es ein paar  XML Einträge :-) in der

    ServiceStateTable

    <stateVariable sendEvents="yes">
    <name>WirelessMode</name>
    <dataType>ui4</dataType>
    </stateVariable>
    <stateVariable sendEvents="yes">
    <name>WirelessLeafOnly</name>
    <dataType>boolean</dataType>
    </stateVariable>
    <stateVariable sendEvents="yes">
    <name>HasConfiguredSSID</name>
    <dataType>boolean</dataType>
    </stateVariable>
    <stateVariable sendEvents="yes">
    <name>ChannelFreq</name>
    <dataType>ui4</dataType>
    </stateVariable>
    <stateVariable sendEvents="yes">
    <name>BehindWifiExtender</name>
    <dataType>ui4</dataType>
    </stateVariable>
    <stateVariable sendEvents="yes">
    <name>WifiEnabled</name>
    <dataType>boolean</dataType>
    </stateVariable>
    <stateVariable sendEvents="yes">
    <name>ConfigMode</name>
    <dataType>string</dataType>
    </stateVariable>


    Habe das im Songs Hauptdevice gefunden ...

    Reading: ZoneGroupState da steckt das ganze für jeden Player drinnen (ich habe mal einen Player mit und ohne Wifi umformatiert

    <ZoneGroups>
    <ZoneGroup Coordinator="RINCON_5CAAFDC0BE1A01400" ID="RINCON_5CAAFDC0BE1A01400:2">
      <ZoneGroupMember
        UUID="RINCON_5CAAFDC0BE1A01400"
        Location="http://172.17.3.120:1400/xml/device_description.xml"
        ZoneName="Terrasse" Icon="x-rincon-roomicon:patio"
        Configuration="1"
        SoftwareVersion="40.5-49090"
        MinCompatibleVersion="39.0-00000"
        LegacyCompatibleVersion="25.0-00000"
        BootSeq="54"
        TVConfigurationError="0"
        WirelessMode="0"
        WirelessLeafOnly="0"
        HasConfiguredSSID="1"
        ChannelFreq="2437"
        BehindWifiExtender="0"
        WifiEnabled="0"
        Orientation="0"
        RoomCalibrationState="4"
        SecureRegState="3"
        VoiceState="0"/>
      </ZoneGroup>
    <ZoneGroup Coordinator="RINCON_5CAAFD444E5C01400" ID="RINCON_5CAAFD444E5C01400:1">
      <ZoneGroupMember
        UUID="RINCON_5CAAFD444E5C01400"
        Location="http://172.17.3.118:1400/xml/device_description.xml"
        ZoneName="Mobil" Icon="x-rincon-roomicon:portable"
        Configuration="1"
        SoftwareVersion="40.5-49090"
        MinCompatibleVersion="39.0-00000"
        LegacyCompatibleVersion="25.0-00000"
        BootSeq="74" TVConfigurationError="0"
        WirelessMode="1"
        WirelessLeafOnly="0"
        HasConfiguredSSID="1"
        ChannelFreq="2437"
        BehindWifiExtender="0"
        WifiEnabled="1"
        Orientation="0"
        RoomCalibrationState="4"
        SecureRegState="3"
        VoiceState="0"/>
      </ZoneGroup>
    </ZoneGroups>
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Februar 2018, 00:04:18
    Hi Wuppi,

    ich habe das mal als Reading eingebaut. Kommt also mit dem nächsten Checkin von mir...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 01 Februar 2018, 10:14:26
    Hallo Reinerlein,

    zu dem Zeitproblem und dem Beenden des Sonos-Prozess bei dem Kommando:
    set Sonos_Wohnzimmer ExportSonosBibliothek  ...
    Hast Du da schon einen eigenen Sub-Prozess dafür eingebaut? Ist mir vielleicht entgangen....

    :-)

    Ich habe mir zwar eine Suchfunktion auf dem Hash-Baum gebaut, die funktioniert auch ganz leidlich, aber eigentlich wäre eine mysql - Lösung der sauberer Ansatz. Gibts dafür - auch für die Indexierung der mp3 - Dateien schon eine fertige perl-Bibliothek?

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 01 Februar 2018, 21:01:32
    Hi Elektrolurch,

    leider noch nicht fertig, aber in Arbeit. Deswegen kann ich ja momentan nicht einchecken :)

    Ich kenne jetzt keine direkte Perl-Bibliothek für deine MP3-DB, aber für das Einlesen der Meta-Informationen habe ich ja die MP3-Lib eingecheckt. Mit der erkenne ich ja die Tracklänge der Durchsagen, und setze Titelinformationen im Durchsage-MP3...
    Da müsstest du dir also was bauen können :)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 02 Februar 2018, 13:42:19
    Sagt dieser Fehler jemandem was? Tauch neuerdings bei Sprachausgabe im Log auf. Die Ausgabe funktioniert aber...

    2018.02.02 13:40:38 2: SONOS1: Beim Setzen der MP3-Informationen (ID3TagV2) ist ein Fehler aufgetreten: Unescaped left brace in regex is illegal here in regex; marked by <-- HERE in m/(\\%(?:\\=)?(\w|\\{ <-- HERE (?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))/ at FHEM/lib/MP3/Tag.pm line 2610.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 4146.


    Danach gibt's dann bei der nächsten Speak Ansage alternativ auch noch den hier, der dann wahrscheinlich eine Folge aus dem ersten Fehler ist:
    2018.02.02 13:43:45 2: SONOS1: Beim Setzen der MP3-Informationen (ID3TagV2) ist ein Fehler aufgetreten: Attempt to reload MP3/Tag.pm aborted.
    Compilation failed in require at ./FHEM/00_SONOS.pm line 4146.



    In Perl 5.24 war es wohl schon deprecated, gerade mal in alten Logs geschaut:
    fhem-2017-12.log:Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(\\%(?:\\=)?(\w|\\{ <-- HERE (?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))/ at FHEM/lib/MP3/Tag.pm line 2611.

    In Perl 5.26 ist es wohl jetzt verboten und führt deshalb zum Fehler. Installationen die Debian-Testing verwenden, dürften damit bereits betroffen sein.
    So geht's auch in Perl 5.26:

    --- ../Tag.pm 2018-02-02 14:33:35.298521245 +0100
    +++ Tag.pm 2018-02-02 14:30:10.254105422 +0100
    @@ -2607,7 +2607,7 @@
         my ($self, $pattern) = @_;
         $pattern = "^\Q$pattern\E\$";
         # unquote %. and %=. and %={WHATEVER} and %{WHATEVER}
    -    $pattern =~ s<(\\%(?:\\=)?(\w|\\{(?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))>
    +    $pattern =~ s<(\\%(?:\\=)?(\w|\\\{(?:\w|\\[^\w\\\{}]|\\\\\\[\\\{}])*\\}|\\\W))>
    ( __unquote($1) )ge;
         # $pattern =~ s/(\\%(?:\\=)?)(\w|\\(\W))/$unquote{$1}$+/g;
         return $self->parse_rex_prepare($pattern);


    Der Fehler führt dazu, dass in der FHEM/Sonos Oberfläche kein passender Titel/Interpret/Album/Coverbild angezeigt werden, weil die Informationen vom Sonos Modul nicht in der generierten MP3 Datei eingebettet werden können.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 02 Februar 2018, 15:35:19
    Hi Phiolin,

    danke für den Patch. Ich habe es bei mir eingearbeitet, es ist also beim nächsten Checkin mit dabei.
    Da ich aber noch am Umbauen bin (Stichwort: LongJobs), dauert es noch etwas...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: aliate am 04 Februar 2018, 11:40:40
    Hallo,

    ich seh den Wald vor lauter Bäumen nicht und bitte euch um Hilfe.

    Ich möchte die Playlisten/Titel zwischen meinen drei Sonos Playern (Sonos_Bad, Sonos_Kueche, Sonos_Wohnzimmer) synchronisieren, sprich wenn ich auf Sonos_Wohnzimmer die GoolgeMusic-Playlist XY höre, dann möchte ich diese später auch auf Sonso_Küche weiterhören. Meiner Meinung nach ist Bookmark genau das Richtige dafür, nur verstehe ich die Funktion einfach noch nicht richtig.

    Am Sonos Device habe ich folgende Attribute erfolgreich angelegt

    Attributes:
       bookmarkPlaylistDefinition Sync:Sonos_Wohnzimmer
       bookmarkSaveDir /opt/fhem/SonosBookmark


    Mit dem Bookmark Namens "Sync" will ich die Playlist von Sonos_Wohnzimmer sichern und später entsprechend auch auf anderen Playern wiederherstellen können. Im Verzeichnis opt/fhem/SonosBookmark wird auch eine Datei angelegt.

    Mein Problem wie stelle ich dieses Bookmark wieder her bzw. lade es auf anderen Playern?

    Gruß
    Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 Februar 2018, 12:07:37
    Hi Hermann,

    Bookmarks sind dafür eher ungeeignet, damit kannst du nur einen Abspielposition synchronisieren, aber nicht die Liste selbst.

    Für eine Abspielpositionsübertragung brauchst du nur eine gemeinsame Gruppe über die gewünschten Player zu bilden:

    attr Sonos bookmarkTitleDefinition SyncGruppe:(Sonos_Wohnzimmer|Sonos_Kueche|Sonos_Flur)
    attr Sonos bookmarkPlaylistDefinition SyncGruppe:(Sonos_Wohnzimmer|Sonos_Kueche|Sonos_Flur)


    Wenn du jetzt auf Player 1 eine Wiedergabe stoppst, und auf einem anderen Player 2 die gleiche Playlist (bzw. den gleichen Titel) lädst/startest, dann wird dort die Wiedergabe an der gespeicherten Position fortgesetzt.

    Um z.B. eine aktuelle Abspielliste auf einen anderen Player zu übertragen, kannst du folgenden Befehl verwenden.

    set Sonos_Kueche LoadPlaylist Sonos_Wohnzimmer
    Hier wird die Küche mit der Abspielliste vom Wohnzimmer bestückt.

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: binford6000 am 04 Februar 2018, 20:11:54
    Hallo Phiolin,
    endlich konnte ich die lästige Meldung
    fhem-2017-12.log:Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(\\%(?:\\=)?(\w|\\{ <-- HERE (?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))/ at FHEM/lib/MP3/Tag.pm line 2611.

    mit deinem Code
    -    $pattern =~ s<(\\%(?:\\=)?(\w|\\{(?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))>
    +    $pattern =~ s<(\\%(?:\\=)?(\w|\\\{(?:\w|\\[^\w\\\{}]|\\\\\\[\\\{}])*\\}|\\\W))>

    eliminieren. Danke!
    VG Sebastian
    Titel: Antw:Sonos steuern
    Beitrag von: n4rrOx am 16 Februar 2018, 09:57:25
    Hallo Reinerlein,

    vielen Dank erstmal für das super Modul!

    Leider spamt mir das Modul meinen FHEM log voll:
    Zitat
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    ...

    Habe mir vor kurzem einen neuen Fernseher von Sony gekauft (KD-65XE9005) und das Sonos-Modul versucht Informationen von diesem zu laden?
    Habe jetzt zwar im Sonos Modul ignoredIPs auf 192.168.188.101 gesetzt, aber wieso kommt es eigentlich dazu?

    Gruß
    Mathias
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 16 Februar 2018, 12:17:51
    Hallo Reinerlein,

    auch von mir noch einmal ein riesengroßes Dankeschön an Deinen Einsatz und Dein Modul :-)

    ein Bitte hätte ich noch, da ich zum wiederholten male darüber gestolpert bin (es läuft alles bei *wieder* mir)

    Kannst Du vielleicht ein Internal oder Sonstiges einführen, wenn die Devices neu erstellt werden sollten ...

    Also zum Beispiel:

    VersionCreated    0.5
    VersionCurrent    0.6
    VersionMinumum 0.7
    RecreationNeeded     Yes|No


    könnte die Fehlersuche für die Leute die viele verschiedene Module haben deutlich erleichtern :-)

    Liebe Grüße und ein tolles Wochenende

    Ralf
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 16 Februar 2018, 23:24:27
    Hi Ralf, hi Mathias,

    hmmm... prinzipiell eine gute Idee, nur ist das für dieses Modul eigentlich noch nie notwendig gewesen. Aus irgendwelchen, nicht ermittelten, Gründen scheint es bei manchen manchmal zu helfen.
    Einen Grund vom Modul aus gibt es dafür aber eigentlich nicht.

    Die Definition der Devices ist seit der ersten Version identisch, und wie üblich, wird der Rest dann dynamisch geholt.

    Wenn ich etwas anpasse, so versuche ich auch darauf zu achten, dass die Attribute (und Reading-Inhalte) abwärtskompatibel bleiben.
    Was natürlich mal passieren kann, und was neulich ja auch zugeschlagen hat, ist, wenn jemand anderes z.B. die von mir eingebrachten UPnP-Libraries verwendet, und ich dort die Schnittstelle anpasse... das sollte aber die Ausnahme bleiben, und ist ja auch erst einmal vorgekommen...

    Wie gesagt, ich wüsste jetzt gerade nicht, an was ich diese Festlegung im Code festmachen könnte. Wenn ich es wüsste, so würde ich es für die Anwender ohne Anpassungsnotwendigkeit machen, und damit wäre es wieder obsolet :)
    Bedeutet, wenn es passiert, dann wegen meiner Unachtsamkeit, dann würde ich aber auch keinen notwendigen Benutzereingriff im Vorfeld erkennen...

    @Mathias: wenn du ein Log mit Verbose-Level 5 erzeugst, dann erhältst du Ausgaben mit einem xx:xx:xx als Datums- und Zeitangabe. Damit werden alle Antworten aller Devices geloggt, die auf meinen Broadcast reagieren. Kannst du mir diese Ausgaben (von deinem Fernseher) mal zukommen lassen, dann kann ich vielleicht was gegen machen...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 17 Februar 2018, 13:16:45
    Hallo Reineren,

    danke für die ausführliche Antwort - habe ich bis dato auch immer so erlebt :-)

    ZitatDie Definition der Devices ist seit der ersten Version identisch, und wie üblich, wird der Rest dann dynamisch geholt.

    nachdem ich das Songs Device gelöscht und wieder neu erstellt habe wurden auch alle ReadingGroups wieder neu erstellt, diese fehlten auch vorher und wurden in der Vergangenheit nicht wieder neu erstellt...

    was mir aber wichtig ist, ist das es funktioniert :-) Und das tut es
    Titel: Antw:Sonos steuern
    Beitrag von: n4rrOx am 19 Februar 2018, 11:09:24
    Zitat von: Reinerlein am 16 Februar 2018, 23:24:27
    Hi Ralf, hi Mathias,
    [...]
    @Mathias: wenn du ein Log mit Verbose-Level 5 erzeugst, dann erhältst du Ausgaben mit einem xx:xx:xx als Datums- und Zeitangabe. Damit werden alle Antworten aller Devices geloggt, die auf meinen Broadcast reagieren. Kannst du mir diese Ausgaben (von deinem Fernseher) mal zukommen lassen, dann kann ich vielleicht was gegen machen...

    Grüße
    Reiner

    Hallo Reiner,

    habe mal die IP gelöscht und beim Sonos Device verbose auf 5 gestellt.
    Leider erhalte ich nicht mehr Infos, die ich dir liefern könnte:
    2018.02.19 11:04:18 5: SONOS0: Received: 'DoWork:undef:refreshProcessAnswer:'
    2018.02.19 11:04:18 4: SONOS1: SONOS_Client_Notifier(rePing:undef::)
    2018.02.19 11:04:19 5: SONOS0: Received from UPnP-Server: 'rePing:undef::'
    2018.02.19 11:04:49 5: SW: DoWork:undef:refreshProcessAnswer:

    2018.02.19 11:04:49 5: SONOS0: Received: 'DoWork:undef:refreshProcessAnswer:'
    2018.02.19 11:04:49 4: SONOS1: SONOS_Client_Notifier(rePing:undef::)
    2018.02.19 11:04:49 5: SONOS0: Received from UPnP-Server: 'rePing:undef::'
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    Loading device description failed with error: 500 Can't connect to 192.168.188.101:22959 (Location: http://192.168.188.101:22959/devdesc.xml) at ./FHEM/00_SONOS.pm line 2406 thread 1.
    2018.02.19 11:05:19 5: SW: DoWork:undef:refreshProcessAnswer:

    2018.02.19 11:05:19 5: SONOS0: Received: 'DoWork:undef:refreshProcessAnswer:'
    2018.02.19 11:05:19 4: SONOS1: SONOS_Client_Notifier(rePing:undef::)
    2018.02.19 11:05:19 5: SONOS0: Received from UPnP-Server: 'rePing:undef::'
    2018.02.19 11:05:49 5: SW: DoWork:undef:refreshProcessAnswer:


    Mit ignoreIP funktioniert es ja .... die Nachfrage war eher zur Info gedacht .... man lernt ja nie aus ^^

    edit:
    Das ist ja übel, was alles in's Log geschrieben wird, wenn man eine Box einschaltet und verbose auf 5 steht  ;D

    Grüße
    Mathias
    Titel: Antw:Sonos steuern
    Beitrag von: Phiolin am 20 Februar 2018, 09:23:48
    Frage zum Sonos Logfile für den Hintergrundprozess:
    Ich habe bei mir das FHEM Logfile so eingestellt, dass jeden Tag ein neues Logfile begonnen wird.
    Allerdings loggt offenbar der Sonos Hintergrundprozess fröhlich weiter in das Logfile, welches halt das aktuelle war als der Prozess gestartet wurde.
    Ist also mein heutiges Logfile eigentlich fhem-2018-02-20.log, wurde der Sonos Prozess aber gestern gestartet, loggt er weiter fröhlich in fhem-2018-02-19.log.
    Das ist natürlich kaum verwirrend, und bringt zusätzlich mein System-Monitoring durcheinander, dass eigentlich keine neuen Einträge in der Datei von gestern erwartet (nur deshalb ist es mir überhaupt aufgefallen).
    Kann man da was machen? Das sollte ja eigentlich nicht so sein. Wenn der Hintergrundprozess sich schon des FHEM Logfiles bedient, dann sollte er auch der entsprechenden globalen Definition folgen, also beim Tageswechsel dann auch in das nächste File schreiben.

    attr global logfile ./log/fhem-%Y-%m-%d.log

    Kann man dem irgendwie abhelfen?
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 20 Februar 2018, 17:29:36
    Wobei das m.E. kein Problem des SONOS-Moduls ist sondern generell für alle Hintergrundprozesse gilt ... der Output des Hintergrundprozesses wird nach STDOUT geschrieben und STDOUT des Hintergrundprozesses wird beim Start auf den aktuellen Logfile umgeleitet
    Titel: Antw:Sonos steuern
    Beitrag von: binford6000 am 21 Februar 2018, 08:06:58
    ZitatHallo Phiolin,
    endlich konnte ich die lästige Meldung
    Code: [Auswählen]
    fhem-2017-12.log:Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(\\%(?:\\=)?(\w|\\{ <-- HERE (?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))/ at FHEM/lib/MP3/Tag.pm line 2611.
    mit deinem Code
    Code: [Auswählen]
    -    $pattern =~ s<(\\%(?:\\=)?(\w|\\{(?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))>
    +    $pattern =~ s<(\\%(?:\\=)?(\w|\\\{(?:\w|\\[^\w\\\{}]|\\\\\\[\\\{}])*\\}|\\\W))>
    eliminieren. Danke!
    VG Sebastian

    Moin,
    mit dem letzten Update wurde auch Tag.pm aktualisiert. Jetzt habe ich beim Start von Radio via RegEx die bekannte Fehlermeldung:
    Unescaped left brace in regex is deprecated, passed through in regex; marked by <-- HERE in m/(\\%(?:\\=)?(\w|\\{ <-- HERE (?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))/ at FHEM/lib/MP3/Tag.pm line 2611.

    Hab wieder -    $pattern =~ s<(\\%(?:\\=)?(\w|\\{(?:\w|\\[^\w\\{}]|\\\\\\[\\{}])*\\}|\\\W))>
    +    $pattern =~ s<(\\%(?:\\=)?(\w|\\\{(?:\w|\\[^\w\\\{}]|\\\\\\[\\\{}])*\\}|\\\W))>

    geändert und gut ist. Und mit die Datei exclude_from_update Tag.pm verbannt...
    VG Sebastian
    Titel: Antw:Sonos steuern
    Beitrag von: Obi-Wan am 04 März 2018, 18:07:02
    Hallo Reiner,

    ich benutze Dein Modul seit neuestem mit einem Sonos One und verbundenem Amazon Unlimited Music Account. Das Reading currentAlbumArtURL ( und somit die Anzeige des Coverbildes in FHEM ) wird dabei nur korrekt gesetzt und die Readings zum nächsten Titel gefüllt wenn ich die Musik über die Sonos App auf Tablet, PC oder Smartphone starte.
    Nutze ich die im Sonos One integrierte Sprachsteuerung über Alexa werden die Readings zum nächsten Titel gar nicht und der Link zum aktuellen Coverbild in currentAlbumArtURL falsch gefüllt: Im per Screenshots beigefügten Beispiel lautet der falsche Link so:
    //m.media-amazon.com/images/I/71qumL7WrpL._UL600_.jpg:http://192.168.0.69:1400https
    setzt man https: davor und streicht alles ab dem 1. Doppelpunkt erhält man den korrekten Link zum Cover:
    https://m.media-amazon.com/images/I/71qumL7WrpL._UL600_.jpg

    Fehlende Infos zum nächsten Titel sind verkraftbar aber ohne Anzeige des Coverbildes wird es unschön. Könntest Du das bitte mal prüfen ob das lösbar wäre?

    Danke und Gruß,
    Oliver
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 März 2018, 18:58:23
    Hi Oliver,

    könntest du mir die Logausgabe des SubProzess auf Level 5 zukommen lassen, wenn du die Wiedergabe über Alexa gestartet hast?
    Speziell interessiert mich erstmal alles zwischen "MakeCoverURL-Before" und "MakeCoverURL-After" (mit den jeweiligen Zeilen).

    Dann schauen wir mal, warum die URL so verhunzt wurde...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Obi-Wan am 04 März 2018, 19:33:49
    Hallo Reiner,

    anbei das Logfile mit Verbose = 5. Die von Dir angegebenen Zeilen konnte ich nicht finden - habe aber versucht die Datei so kurz wie möglich zu halten. Bei Suche nach " media-amazon " findet man recht schnell die entsprechenden Stellen mit richtiger und falscher Notation.

    Gruß,
    Oliver
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 04 März 2018, 21:23:16
    Hallo zusammen,

    da es abseits dieses Threads weiterging, hier eine Info dazu...

    Das Alexa-Cover geht nun, der Code landet im nächsten Modul-Release.
    Es löst auch andere fehlende Coverbilder, in denen ein Wirrwar aus URI-Part und https mittendrin steht.
    Es gab ein Problem bei der internen Übergabe der URL, wenn sie Doppelpunkte enthielt. Dann wurde das ganze komisch zerstückelt...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Obi-Wan am 04 März 2018, 21:27:41
    Hallo Reiner,

    vielen dank für die schnelle Unterstützung.

    Gruß und schönen Abend,
    Oliver
    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 13 März 2018, 20:30:23
    Hallo Reiner,
    wie ist die IP der Sonos Boost BR200 bei dem attr "usedonlyIPs" zu behandeln? Ich frage, weil der Boost ja kein "Player' ist, sondern nur ein wireless Extender.
    Gehört die IP vom Boost bei den usedonlyIPs im Sonos Device mit rein, oder nicht?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 März 2018, 20:42:09
    Hi inoma,

    wie meldet sich denn der Boost bei Fhem?
    Als Player?

    Sonst poste mal deinen ZoneGroupState. Dort steht eine Variable mit dem Namen "IsZoneBridge" an der ich festmache, ob es eine Bridge oder ein normaler Player ist...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 13 März 2018, 21:04:02
    Hallo Reiner,
    hier mal mein ZoneGroupState und das list vom Boost. So wie ich das sehe, meldet sich der Boost als TYPE "SONOSPLAYER" bei FHEM.
    IsZoneBridge steht im ZoneGroupState auf 1, also IsZoneBridge="1" .

    Also soll die die IP vom Boost mit unter usedonlyIPs mit rein, oder eher weglassen?

    Internals:
       CHANGED   
       DEF        RINCON_B8E93702F1C401400_MR
       NAME       Sonos_BOOST
       NOTIFYDEV  Sonos_BOOST
       NR         3418
       NTFY_ORDER 50-Sonos_BOOST
       STATE      appeared
       TYPE       SONOSPLAYER
       UDN        RINCON_B8E93702F1C401400_MR
       READINGS:
         2018-03-13 20:41:06   AvailablePlayer ['Sonos_Bad','Sonos_Flur','Sonos_Kueche','Sonos_Schlaf']
         2018-03-13 20:41:06   AvailablePlayerList -|Sonos_Bad|Sonos_Flur|Sonos_Kueche|Sonos_Schlaf
         2018-03-13 21:01:00   AvailablePlayerListAlias Auswahl|Bad|Flur|Kueche|Schlaf
         2017-12-11 22:34:39   Balance         0
         2017-12-11 22:34:39   IsBonded        0
         2017-12-11 22:34:39   IsMaster        1
         2018-03-13 20:57:37   LastActionResult ~~NotLoadedMarker~~
         2017-12-11 22:34:39   MasterPlayer    Sonos_BOOST
         2017-12-11 22:34:39   SlavePlayer     []
         2017-12-11 22:34:41   SlavePlayerList
         2017-12-11 22:34:41   SlavePlayerListAlias
         2017-12-11 22:34:39   SlavePlayerNotBonded []
         2017-12-11 22:34:39   SlavePlayerNotBondedList
         2017-12-11 22:34:39   SlavePlayerNotBondedListAlias
         2017-12-11 22:34:39   Volume          0
         2018-02-27 07:56:38   WifiEnabled     1
         2018-02-27 07:56:38   WirelessMode    0
         2017-12-11 22:34:41   ZoneGroupID     RINCON_B8E93702F1C401400:__
         2017-12-11 22:34:41   ZoneGroupNameDetails
         2017-12-11 22:34:39   fieldType       
         2017-12-11 22:34:39   location        http://172.21.0.10:1400/xml/device_description.xml
         2017-12-11 22:34:39   playerType      BR200
         2018-03-13 21:00:41   presence        appeared
         2017-12-11 22:34:43   roomIcon        viper
         2017-12-11 22:34:39   roomName        BOOST
         2017-12-11 22:34:39   roomNameAlias   BOOST
         2017-12-11 22:34:39   saveRoomName    BOOST
         2017-12-11 22:34:39   serialNum       B8-E9-37-02-F1-C4:1
         2018-03-07 23:24:18   softwareRevision 8.4
         2018-03-13 20:57:49   state           disappeared
         2017-12-12 00:37:11   transportState  STOPPED
       helper:
         simulateCurrentTrackPosition 0
    Attributes:
       alias      BOOST
       event-on-change-reading state,presence
       group      SERVER
       icon       icoSONOSPLAYER_icon-BR200.png
       model      Sonos_BR200
       room       Sonos
       sortby     1
       stateFormat presence
       verbose    0

    <ZoneGroups><ZoneGroup Coordinator="RINCON_B8E9378ED7EC01400" ID="RINCON_B8E9378ED7EC01400:2630"><ZoneGroupMember UUID="RINCON_B8E9378ED7EC01400" Location="http://172.21.0.11:1400/xml/device_description.xml" ZoneName="Kueche" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="41.3-50131" MinCompatibleVersion="40.0-00000" LegacyCompatibleVersion="25.2-00000" ChannelMapSet="RINCON_B8E9378ED7EC01400:LF,LF;RINCON_B8E9378B0AA601400:RF,RF" BootSeq="2114" TVConfigurationError="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2" VoiceState="0"/><ZoneGroupMember UUID="RINCON_B8E9378B0AA601400" Location="http://172.21.0.12:1400/xml/device_description.xml" ZoneName="Kueche" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="41.3-50131" MinCompatibleVersion="40.0-00000" LegacyCompatibleVersion="25.2-00000" ChannelMapSet="RINCON_B8E9378ED7EC01400:LF,LF;RINCON_B8E9378B0AA601400:RF,RF" BootSeq="1725" TVConfigurationError="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="5" SecureRegState="2" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E937B0815001400" ID="RINCON_B8E937B0815001400:3812"><ZoneGroupMember UUID="RINCON_B8E937B0815001400" Location="http://172.21.0.13:1400/xml/device_description.xml" ZoneName="Bad" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="41.3-50131" MinCompatibleVersion="40.0-00000" LegacyCompatibleVersion="25.2-00000" BootSeq="3004" TVConfigurationError="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_949F3E0498E401400" ID="RINCON_949F3E0498E401400:2557"><ZoneGroupMember UUID="RINCON_949F3E0498E401400" Location="http://172.21.0.43:1400/xml/device_description.xml" ZoneName="Flur" Icon="x-rincon-roomicon:tvroom" Configuration="1" SoftwareVersion="41.3-50131" MinCompatibleVersion="40.0-00000" LegacyCompatibleVersion="25.2-00000" BootSeq="1659" TVConfigurationError="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFD22856E01400" ID="RINCON_5CAAFD22856E01400:185"><ZoneGroupMember UUID="RINCON_5CAAFD228CD401400" Location="http://172.21.0.42:1400/xml/device_description.xml" ZoneName="Schlaf" Icon="x-rincon-roomicon:masterbedroom" Configuration="1" Invisible="1" SoftwareVersion="41.3-50131" MinCompatibleVersion="40.0-00000" LegacyCompatibleVersion="25.2-00000" ChannelMapSet="RINCON_5CAAFD22856E01400:LF,LF;RINCON_5CAAFD228CD401400:RF,RF" BootSeq="2989" TVConfigurationError="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="5" SecureRegState="2" VoiceState="0"/><ZoneGroupMember UUID="RINCON_5CAAFD22856E01400" Location="http://172.21.0.41:1400/xml/device_description.xml" ZoneName="Schlaf" Icon="x-rincon-roomicon:masterbedroom" Configuration="1" SoftwareVersion="41.3-50131" MinCompatibleVersion="40.0-00000" LegacyCompatibleVersion="25.2-00000" ChannelMapSet="RINCON_5CAAFD22856E01400:LF,LF;RINCON_5CAAFD228CD401400:RF,RF" BootSeq="2974" TVConfigurationError="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="2" VoiceState="0"/></ZoneGroup><ZoneGroup Coordinator="RINCON_B8E93702F1C401400" ID="RINCON_B8E93702F1C401400:2544912570"><ZoneGroupMember UUID="RINCON_B8E93702F1C401400" Location="http://172.21.0.10:1400/xml/device_description.xml" ZoneName="BOOST" Icon="x-rincon-roomicon:viper" Configuration="1" Invisible="1" IsZoneBridge="1" SoftwareVersion="41.3-50131" MinCompatibleVersion="40.0-00000" LegacyCompatibleVersion="25.2-00000" BootSeq="2940" TVConfigurationError="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="0" ChannelFreq="2462" BehindWifiExtender="0" WifiEnabled="1" Orientation="-1" RoomCalibrationState="0" SecureRegState="2" VoiceState="0"/></ZoneGroup></ZoneGroups>
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 13 März 2018, 21:45:34
    Hi inoma,

    also, an einer Stelle habe ich fest auf den Typ der Bridge geprüft... das ist natürlich doof.

    Ich habe jetzt ein Reading "IsZoneBridge" eingeführt, an dem auch die Darstellung der Playersteuerung festgemacht wird.

    Im Normalfall brauchst du die Bridges nicht ausschließen. Es geht ja nur um die Playersteuerungsanzeige.
    Ist dann im nächsten Release enthalten...

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 13 März 2018, 22:57:58
    Hallo Reiner, danke für die schnellen Antworten und das Modul.

    Beste Grüsse!
    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 28 März 2018, 09:59:52
    Moin,

    bin schon seit einiger Zeit stiller mitleser, dennoch totaler Fhem Neuling.

    Leider komme ich aktuell nicht weiter und hoffe das ihr mir helfen könnt, leider bringt die Suche bei "Sonos" zu viele Themen um die alle durchzuackern. Vermutlich ist die Sache eh total einfach und ich sitze auf der Leitung.

    Folgende Situation - Ein Dash button schaltet ein Notify in Fhem welches bei mir eine Playlist dann via Sonos lädt und abspielt.
    Wie kann ich dem Speaker denn nun beibringen das er diese Playlist im "Shuffle" Modus abspielen soll? Ein zweites notify dazupacken? den Shuffle Befehl einfach in Def eintragen?

    ???

    Danke euch vorab,

    Florian
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 28 März 2018, 10:45:56
    Zitat von: florian2833 am 28 März 2018, 09:59:52
    den Shuffle Befehl einfach in Def eintragen?

    Richtig. Einfach den Befehl zu dem anderen Befehlen mit ";" trennen. Am besten das shuffle vor dem Play Command setzen.

    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 28 März 2018, 14:01:12
    Danke ;)

    Mein Ansatz wäre nun also (aus dem Kopf, kann auch falsch sein?)

    notify playlist set sonos_beispiel loadplaylist Radiofavoriten; shuffle = 1; play

    Teste ich heute Abend  :D
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 28 März 2018, 14:19:10
    Zitat von: florian2833 am 28 März 2018, 14:01:12
    Danke ;)

    Mein Ansatz wäre nun also (aus dem Kopf, kann auch falsch sein?)

    notify playlist set sonos_beispiel loadplaylist Radiofavoriten; shuffle = 1; play

    Teste ich heute Abend  :D

    Auch wenn alle Befehle in deinem Fall an das gleiche Device gehen, musst du trotzdem immer das set command plus das Gerät, was du damit schalten möchtest angeben.

    also so:

    set sonos_beispiel loadplaylist Radiofavoriten;set sonos_beispiel shuffle 1;set sonos_beispiel play
    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 28 März 2018, 18:58:33
    Genial, Fixel2012 vielen Dank. Mir war gar nicht bekannt das ich mehrere Befehle mit einem ";" trennen kann. (Hab ich das im Wiki überlesen?)

    So habe ich es nun gelöst:

    DashButton set sonos_Kueche stop; set sonos_Kueche loadPlaylist Playlistname;  set sonos_Kueche Shuffle 1;
    set sonos_Kueche play


    Funktioniert wunderbar  8) ;D

    Noch eine Dumme Frage hinterher - unterscheidet Fhem, gerade bei den Dashbuttons auch auf langen und kurzen Druck? Mit HM geht das ja, soweit ich gelesen habe.

    Falls ja würde man das so einbinden?

    Dasbutton:short* set tu dies |Dashbutton: Long.* tu was anderes
    Titel: Antw:Sonos steuern
    Beitrag von: dogexan am 28 März 2018, 19:06:48
    Hallo zusammen,

    hat eigentlich noch jemand den Log mit folgender Meldung voll:

    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6089 thread 1.

    Taucht bei mir schon relativ häufig auf. Hab bis jetzt noch keine Einschränkungen dadurch in FHEM festgestellt.

    Bin darüber "gestolpert" bei dem Versuch FHEM etwas aufzuräumen, weil sich bei mir neuerdings immer wieder auf hängt.

    Gruß Alex
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 28 März 2018, 21:07:07
    Zitat von: florian2833 am 28 März 2018, 18:58:33
    Noch eine Dumme Frage hinterher - unterscheidet Fhem, gerade bei den Dashbuttons auch auf langen und kurzen Druck? Mit HM geht das ja, soweit ich gelesen habe.
    Hi,

    da hilft wie immer in solchen Fällen der Eventmonitor -> https://wiki.fhem.de/wiki/Event_monitor

    Kann doch keiner wissen was für einen Dashbutton Du hast und was der tut  :-X

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 28 März 2018, 21:20:01
    Zitat von: florian2833 am 28 März 2018, 18:58:33
    Genial, Fixel2012 vielen Dank. Mir war gar nicht bekannt das ich mehrere Befehle mit einem ";" trennen kann. (Hab ich das im Wiki überlesen?)

    So habe ich es nun gelöst:

    DashButton set sonos_Kueche stop; set sonos_Kueche loadPlaylist Playlistname;  set sonos_Kueche Shuffle 1;
    set sonos_Kueche play


    Funktioniert wunderbar  8) ;D

    Noch eine Dumme Frage hinterher - unterscheidet Fhem, gerade bei den Dashbuttons auch auf langen und kurzen Druck? Mit HM geht das ja, soweit ich gelesen habe.

    Falls ja würde man das so einbinden?

    Dasbutton:short* set tu dies |Dashbutton: Long.* tu was anderes

    Nein, die Dashbuttons kennen nur gedrückt oder eben nicht. Kein kurz kein lang etc.
    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 29 März 2018, 06:59:37

    @ Otto123 - Sorry für die Verwirrung  :P Ich dachte wenn ich "Dashbutton" schreibe ist es klar, dass ich den "Amazon Dashbutton" meine  ;) . Im Eventmonitor fand ich nichts - bzw den Eintrag "short" - daher war meine Vermutung das es evtl auch noch eine Möglichkeit "long" gibt .  (Sonst hätte ich doch ned hier gefragt.  :o ;D )

    @Fixel2012 - danke dir - hab ich fast schon vermutet - na sollte ich mal einen Long benotigen gibts eben doch HM Taster o.ä.

    @dogexan


    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6089 thread 1.


    Bei mir nicht  ???
    Titel: Antw:Sonos steuern
    Beitrag von: dogexan am 29 März 2018, 17:43:21
    Zitat von: florian2833 am 29 März 2018, 06:59:37
    @ Otto123 - Sorry für die Verwirrung  :P Ich dachte wenn ich "Dashbutton" schreibe ist es klar, dass ich den "Amazon Dashbutton" meine  ;) . Im Eventmonitor fand ich nichts - bzw den Eintrag "short" - daher war meine Vermutung das es evtl auch noch eine Möglichkeit "long" gibt .  (Sonst hätte ich doch ned hier gefragt.  :o ;D )

    @Fixel2012 - danke dir - hab ich fast schon vermutet - na sollte ich mal einen Long benotigen gibts eben doch HM Taster o.ä.

    @dogexan


    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6089 thread 1.


    Bei mir nicht  ???


    Seit heute ist auch:

    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6089 thread 13.

    dabei.

    Sehr merkwürdig
    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 29 März 2018, 19:44:03
    in welchem Zusammenhang taucht das denn im Log auf - auf was mag sich die subscription beziehen?
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 29 März 2018, 21:42:33
    Das FHEM-Sonos Modul meldet Subscriptions bei den SONSOS-Geräten an um Informationen von diesen zu bekommen.
    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 30 März 2018, 09:21:24
    Danke Nobby1805

    Dogexan, trennst du deine Sonos Bridge (?) das kleine weisse Kasterl ;-) zeitweise vom Strom? Wärend Fhem läuft? Das könnte den Fehler verursachen. Bei mir werden alle Sonos Boxen getrennt, außer Bad und Küche - was aber keinen solchen Eintrag im Log hinterlässt. Die Bridge wird bei mir nachts auch abgeschaltet, allerdings zusammen mit Fhem ;-)
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 31 März 2018, 22:23:16
    Guten Abend,

    ich nutze Sonos als mein Radiowecker.

    per Fhem wird das Radio geladen und abgespielt. Musste leider feststellen, dass sich anscheinend der Radio name innerhalb tunein einfach mal geändert hat...

    Somit habe ich dann um 3 Stunden verschlafen und mich gewundert, warum ich so ausgeschlafen bin.

    Um dem entgegen zu wirken, würde ich gerne das Radio über regex anwählen. So ganz schlau aus der commandref beschreibung werde ich allerdings nicht.

    ZitatAdditionally it's possible to use a regular expression as the name. The first hit will be used. The format is e.g. /radio/.

    Kann mir jemand dafür ein Beispiel nennen?

    Mein Radio Sender ist dieser: HIT RADIO FFH 106.9 (Hot AC


    Danke schon mal!
    Titel: Antw:Sonos steuern
    Beitrag von: DeeSPe am 31 März 2018, 22:25:52
    Zitat von: Fixel2012 am 31 März 2018, 22:23:16
    Guten Abend,

    ich nutze Sonos als mein Radiowecker.

    per Fhem wird das Radio geladen und abgespielt. Musste leider feststellen, dass sich anscheinend der Radio name innerhalb tunein einfach mal geändert hat...

    Somit habe ich dann um 3 Stunden verschlafen und mich gewundert, warum ich so ausgeschlafen bin.

    Um dem entgegen zu wirken, würde ich gerne das Radio über regex anwählen. So ganz schlau aus der commandref beschreibung werde ich allerdings nicht.

    Kann mir jemand dafür ein Beispiel nennen?

    Mein Radio Sender ist dieser: HIT RADIO FFH 106.9 (Hot AC


    Danke schon mal!

    Hab meine Lieblingsradiosender einfach als Favorit gespeichert und die dann manuell umbenannt.
    Ergo: keine Leer- oder Sonderzeichen mehr und der selbst vergebene Name hat sich bei auch noch nie geändert.

    Gruß
    Dan
    Titel: Antw:Sonos steuern
    Beitrag von: Fixel2012 am 31 März 2018, 22:33:48
    Danke, so klappt es!

    Konnte den namen allerdings nur mit dem Desktop Controller ändern.
    Titel: Antw:Sonos steuern
    Beitrag von: dogexan am 03 April 2018, 10:03:44
    Zitat von: florian2833 am 30 März 2018, 09:21:24
    Danke Nobby1805

    Dogexan, trennst du deine Sonos Bridge (?) das kleine weisse Kasterl ;-) zeitweise vom Strom? Wärend Fhem läuft? Das könnte den Fehler verursachen. Bei mir werden alle Sonos Boxen getrennt, außer Bad und Küche - was aber keinen solchen Eintrag im Log hinterlässt. Die Bridge wird bei mir nachts auch abgeschaltet, allerdings zusammen mit Fhem ;-)

    Ich verwende keine Bridge. Die Playbar im Wohnzimmer hängt direkt per LAN Kabel an der Fritzbox. An Playbarbar hängen dann 2 Play 1 und ein Sub fürs 5.1 System im Wohnzimmer. Ansonsten gibt es noch einem Play 1 in der Küche und einen im Schlafzimmer. Wobei der im Schlafzimmer direkt am Lankabel Richtung Fritzbox hängt. Funk reicht da leider nicht.
    Alle bleiben permanent am Strom.

    Ist das eigentlich normal, dass man via FHEM die Speaker nicht mehr rebooten kann? Ging früher mal bei mir.

    Gruß Alex
    Titel: Antw:Sonos steuern
    Beitrag von: matzemoerk am 04 April 2018, 08:57:56
    Hallo,

    Ich kämpfe seit der Implementation meiner Weckautomation immer wieder mit dem Problem, dass die Wecker des Sonosplayers nicht aktualisiert werden. Umsetzung ist die folgende:

    DOIF zur Aktivierung und Deaktivierung des Weckers, gesteuert über TabletUI:
    ([dummy_WeckerMatthias] eq "on") (set Sonos_Schlafzimmer Alarm Update 1943 {Enabled => 1}; ) DOELSEIF ([dummy_WeckerMatthias] eq "off") (set Sonos_Schlafzimmer Alarm Update 1943 {Enabled => 0})

    Notify zum einstellen der Weckzeit:
    dummy_WeckzeitMatthias {fhem "set Sonos_Schlafzimmer Alarm Update 1943 {StartTime => '$EVENT'}";;}

    Die Wecker Bleiben in Sonos immer drin und werden nur aktiviert und deaktiviert. Die IDs bleiben also immer gleich.

    Habe ich hier irgendwelche groben Fehler drin? An was kann es liegen, dass sich die Wecker manchmal nicht aktualisieren? Was kann ich hier optimieren, um den Wecker über Sonos zuverlässiger zu machen?

    Vielen Dank für die Hilfe!
    Titel: Antw:Sonos steuern
    Beitrag von: Tomk am 27 Juni 2018, 21:06:54
    Hallo zusammen,

    ich habe nachdem ich letzte Woche einiges an meinem Raspi geupdated habe nun folgendes Problem mit Sonos:
    Es dauert unheimlich lange ca. 1min bis ein abgebener Befehl von Sonos umgesetzt wird. Ich habe schon Sonos und den Player neu angelegt mit dem gleichen ergebniss. Hat jemand eine Idee?

    Mich wundert ein bisschen die Zeile mit SW. Wofür steht SW?


    2018.06.27 19:39:38 5: SW: DoWork:RINCON_B8E937329C8C01400_MR:playURITemp:\\RASPBERRYPI\SonosSpeak\alarm\sirene1.mp3--#--40

    2018.06.27 19:39:38 5: SONOS0: Received: 'DoWork:RINCON_B8E937329C8C01400_MR:playURITemp:\\RASPBERRYPI\SonosSpeak\alarm\sirene1.mp3--#--40'
    2018.06.27 19:40:00 5: SW: DoWork:undef:refreshProcessAnswer:
    2018.06.27 19:40:00 5: SONOS0: Received: 'DoWork:undef:refreshProcessAnswer:'
    2018.06.27 19:40:21 4: SONOS3: IsAlive-Event UDN=RINCON_B8E937329C8C01400_MR
    2018.06.27 19:40:21 4: SONOS3: SONOS_Client_Data_Retreive(RINCON_B8E937329C8C01400_MR, reading, location, ) -> http://192.168.178.35:1400/xml/device_description.xml
    2018.06.27 19:40:21 5: SONOS3: Location: http://192.168.178.35:1400/xml/device_description.xml
    2018.06.27 19:40:21 5: SONOS3: PingType: syn
    2018.06.27 19:40:21 4: SONOS3: 192.168.178.35 is alive
    2018.06.27 19:40:41 4: SONOS1: SONOS_Client_Notifier(rePing:undef::)
    2018.06.27 19:40:41 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, reading, UserID_Spotify, -) -> DEFAULT
    2018.06.27 19:40:41 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, reading, UserID_Napster, -) -> DEFAULT
    2018.06.27 19:40:41 3: SONOS1: Start temporary playing of "\\RASPBERRYPI\SonosSpeak\alarm\sirene1.mp3"
    Titel: Antw:Sonos steuern
    Beitrag von: Robert1963 am 29 Juni 2018, 15:31:07
    Hallo,
    hab mir vor ner Weile ne Sonos Playbar zugelegt und wollte diese nun in Fhem integrieren. (Über Alexa gehts)

    Leider bleibt es nach anfänglichem "opened" immer beim "disconnected" und es wird kein Player angelegt.

    Bin auf der Playbar und in Fhem Updatemäßig aktuell, habe (meines erachtens) die benötigten Dateien installiert.
    Playbar ist auf 192.168.178.39 erreichbar (Lt. Fritzbox)

    Fhem läuft auf einem NUC unter Linux Mint 18

    Hier die Raw und das Log nach Restart.

    Zitatdefmod Sonos SONOS localhost:4711 30 1 5
    attr Sonos disable 0
    attr Sonos ignoredIPs 192.168.178.44, 192.168.178.28, 192.168.178.58,192.168.178.49
    attr Sonos pingType tcp
    attr Sonos verbose 5

    setstate Sonos disconnected
    setstate Sonos 2018-06-29 15:07:00 LastProcessAnswer 0
    setstate Sonos 2018-06-29 15:28:06 state disconnected


    ZitatDeep recursion on subroutine "UPnP::ControlPoint::Service::AUTOLOAD" at FHEM/lib/UPnP/ControlPoint.pm line 680, <$client> line 3.
    2018.06.29 15:07:00.985 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
    "

    HOUSEHOLD.SMARTSPEAKER.AUDIO: Sonos_PNBe7zvW5uRtjU8Lkxw0hNTOis.O1XJd32OYxd3ETTSKsIM
    X-RINCON-VARIANT: 2
    X-RINCON-WIFIMODE: 0
    X-RINCON-BOOTSEQ: 12
    X-RINCON-HOUSEHOLD: Sonos_PNBe7zvW5uRtjU8Lkxw0hNTOis
    USN: uuid:RINCON_7828CA526D0C01400::urn:schemas-upnp-org:device:ZonePlayer:1
    ST: urn:schemas-upnp-org:device:ZonePlayer:1
    SERVER: Linux UPnP/1.0 Sonos/43.3-53230 (ZPS9)
    LOCATION: http://192.168.178.39:1400/xml/device_description.xml
    EXT:
    xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "CACHE-CONTROL: max-age = 1800
    2018.06.29 15:07:00.773 1: SONOS3: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2018.06.29 15:07:00.773 4: SONOS3: SONOS_Client_Data_Retreive(SONOS, def, INTERVAL, 0) -> 30
    2018.06.29 15:07:00.579 1: SONOS2: LongJobs-Thread gestartet. Prüfe auf LongJobs...
    2018.06.29 15:07:00.382 4: SONOS1: Calling SONOS_LoadBookmarkValues("undef", "undef") ~ SaveDir: "."
    2018.06.29 15:07:00.382 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, bookmarkSaveDir, .) -> DEFAULT
    2018.06.29 15:07:00.381 1: SONOS1: UPnP-Thread gestartet.
    2018.06.29 15:07:00.208 5: SONOS0: Received: 'StartThread'

    2018.06.29 15:07:00.208 5: SW: StartThread
    2018.06.29 15:07:00.206 5: SONOS0: Received: 'SetValues:SONOS:NAME=Sonos|INTERVAL=30|disable=0'

    2018.06.29 15:07:00.205 5: SW: SetValues:SONOS:NAME=Sonos|INTERVAL=30|disable=0
    2018.06.29 15:07:00.205 5: SONOS0: SetValues:SONOS:NAME=Sonos|INTERVAL=30|disable=0
    2018.06.29 15:07:00.199 5: SONOS0: Received: 'SetData:Sonos:5:-:tcp::192.168.178.44, 192.168.178.28, 192.168.178.58,192.168.178.49:0::'

    2018.06.29 15:07:00.199 5: SW: SetData:Sonos:5:-:tcp::192.168.178.44, 192.168.178.28, 192.168.178.58,192.168.178.49:0::
    2018.06.29 15:07:00.199 5: SONOS0: SetData:Sonos:5:-:tcp::192.168.178.44, 192.168.178.28, 192.168.178.58,192.168.178.49:0::
    2018.06.29 15:07:00.193 3: CUL_HM set bew_beet_schalter statusRequest
    2018.06.29 15:06:59.536 4: SONOS0: A new Connector to list added. There are now 2 connectors in list.
    2018.06.29 15:06:59.039 3: Sonos device opened

    2018.06.29 15:06:59.036 5: SW: Establish connection
    2018.06.29 15:06:59.035 3: SONOS0: Connection accepted from localhost:53376
    2018.06.29 15:06:59.034 3: Opening Sonos device localhost:4711
    2018.06.29 15:06:58.956 3: CUL_HM set bew_Kasten_schalter statusRequest
    2018.06.29 15:06:58.678 3: UWZ Unwetterzentrale: Run.1043 Done fetching data
    2018.06.29 15:06:57.680 3: my_callmonitor device opened
    2018.06.29 15:06:57.678 3: SONOS0: Connection accepted from localhost:53351

    Nach einer Minute noch:

    Zitat2018.06.29 15:08:06.093 1: localhost:4711 disconnected, waiting to reappear (Sonos)
       0 running and detached
       1 finished and unjoined
       3 running and unjoined
    Perl exited with active threads:
    Out of memory!
    2018.06.29 15:08:00.217 5: SONOS0: Received: 'DoWork:undef:refreshProcessAnswer:'

    2018.06.29 15:08:00.217 5: SW: DoWork:undef:refreshProcessAnswer:

    Hab, neben einer festen IP, natürlich schon einiges probiert was so im Forum steht und ich verstanden hab ;-)

    Bräuchte aber nen Hinweiß wie ich das Problem angehen kann.

    Vielen Dank,
    Rob

    Nachtrag: Hab die Playbar jetzt direkt an die Fritzbox gesteckt und das Modul nochmal gestartet.
    Das Log dazu:

    Zitat2018.06.29 15:40:05.413 1: localhost:4711 disconnected, waiting to reappear (Sonos)
       0 running and detached
       1 finished and unjoined
       3 running and unjoined
    Perl exited with active threads:
    Out of memory!
    Deep recursion on subroutine "UPnP::ControlPoint::Service::AUTOLOAD" at FHEM/lib/UPnP/ControlPoint.pm line 680, <$client> line 3.
    "

    HOUSEHOLD.SMARTSPEAKER.AUDIO: Sonos_PNBe7zvW5uRtjU8Lkxw0hNTOis.O1XJd32OYxd3ETTSKsIM
    X-RINCON-VARIANT: 2
    X-RINCON-WIFIMODE: 0
    X-RINCON-BOOTSEQ: 12
    X-RINCON-HOUSEHOLD: Sonos_PNBe7zvW5uRtjU8Lkxw0hNTOis
    USN: uuid:RINCON_7828CA526D0C01400::urn:schemas-upnp-org:device:ZonePlayer:1
    ST: urn:schemas-upnp-org:device:ZonePlayer:1
    SERVER: Linux UPnP/1.0 Sonos/43.3-53230 (ZPS9)
    LOCATION: http://192.168.178.39:1400/xml/device_description.xml
    EXT:
    xxxx.xx.xx xx:xx:xx 5: ControlPoint: Accepted Search-Response: "CACHE-CONTROL: max-age = 1800
    2018.06.29 15:39:07.121 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
    2018.06.29 15:39:07.065 1: SONOS3: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2018.06.29 15:39:07.065 4: SONOS3: SONOS_Client_Data_Retreive(SONOS, def, INTERVAL, 0) -> 30
    2018.06.29 15:39:06.965 1: SONOS2: LongJobs-Thread gestartet. Prüfe auf LongJobs...
    2018.06.29 15:39:06.877 4: SONOS1: Calling SONOS_LoadBookmarkValues("undef", "undef") ~ SaveDir: "."
    2018.06.29 15:39:06.877 4: SONOS1: SONOS_Client_Data_Retreive(SONOS, attr, bookmarkSaveDir, .) -> DEFAULT
    2018.06.29 15:39:06.877 1: SONOS1: UPnP-Thread gestartet.
    2018.06.29 15:39:06.797 5: SONOS0: Received: 'StartThread'

    2018.06.29 15:39:06.797 5: SW: StartThread
    2018.06.29 15:39:06.790 5: SONOS0: Received: 'SetValues:SONOS:disable=0|NAME=Sonos|INTERVAL=30'

    2018.06.29 15:39:06.789 5: SW: SetValues:SONOS:disable=0|NAME=Sonos|INTERVAL=30
    2018.06.29 15:39:06.789 5: SONOS0: SetValues:SONOS:disable=0|NAME=Sonos|INTERVAL=30
    2018.06.29 15:39:06.783 5: SONOS0: Received: 'SetData:Sonos:5:-:tcp::192.168.178.44, 192.168.178.28, 192.168.178.58,192.168.178.49:0::'

    2018.06.29 15:39:06.783 5: SW: SetData:Sonos:5:-:tcp::192.168.178.44, 192.168.178.28, 192.168.178.58,192.168.178.49:0::
    2018.06.29 15:39:06.783 5: SONOS0: SetData:Sonos:5:-:tcp::192.168.178.44, 192.168.178.28, 192.168.178.58,192.168.178.49:0::
    2018.06.29 15:39:06.275 4: SONOS0: A new Connector to list added. There are now 2 connectors in list.
    2018.06.29 15:39:05.776 3: Sonos device opened

    2018.06.29 15:39:05.775 5: SW: Establish connection
    2018.06.29 15:39:05.774 3: SONOS0: Connection accepted from localhost:55876
    2018.06.29 15:39:05.773 3: Opening Sonos device localhost:4711
    2018.06.29 15:39:05.688 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2018.06.29 15:39:05.687 1: SONOS0: ./FHEM/00_SONOS.pm is started by fhem...
    2018.06.29 15:39:04.769 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 1 Sekunde(n) darauf...

    2018.06.29 15:38:59.759 5: SW: disconnect
    2018.06.29 15:38:59.758 1: SONOS0: Modify Device: Sonos

    Brauche wohl wirklich Hilfe!
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 29 Juni 2018, 22:54:34
    Hi Rob,

    wirklich schlimm ist wohl die Meldung

    Deep recursion on subroutine "UPnP::ControlPoint::Service::AUTOLOAD" at FHEM/lib/UPnP/ControlPoint.pm line 680, <$client> line 3.

    Da stürzt der Prozess mit ab, und natürlich geht es dann nicht weiter.

    Das kann an deiner verwendeten Perl-Version liegen, wissen tu ich das aber nicht. da diese Meldung zum ersten Mal auftritt...
    Es kann aber auch an der Struktur, die deine PlayBar mitteilt liegen. Er meldet sich ja als "ZPS9". Soweit ich weiß, haben wir aber schon jemanden mit PlayBar, vielleicht verwechsele ich das aber auch mit der PlayBase...

    Poste doch mal bitte den Inhalt des Beschreibungsdokuments von http://192.168.178.39:1400/xml/device_description.xml (http://192.168.178.39:1400/xml/device_description.xml)

    Grüße
    Reiner
    Titel: Antw:Sonos steuern
    Beitrag von: Tomk am 30 Juni 2018, 06:08:33
    Leider habe ich immernoch das Problem das mein Sonos extrem träge reagiert (delay von >1minute).
    ich habe mehrfach folgende Meldung in dem Log gesehen. Sie bezieht sich auf eine alte IP Adresse welche ich mal vergeben hatte. Ich weiß nicht woher die noch kommt und ich finde nicht wo ich die anpassen kann:


    2018.06.30 05:59:36 5: SONOS0: Player: Sonos_Wohnzimmer ~ Slaves: []
    Loading device description failed with error: 500 Can't connect to 192.168.178.35:8000 (Location: http://192.168.178.35:8000/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.


    Jemand ne idee wo ich die IP anpassen kann?
    Titel: Antw:Sonos steuern
    Beitrag von: Robert1963 am 30 Juni 2018, 06:14:46
    Hallo Reiner,

    schon mal vielen Dank das du dich meinem Problem annimmst.

    Hab diese Perlversion:
    ZitatThis is perl 5, version 18, subversion 1 (v5.18.1) built for i486-linux-gnu-thread-multi-64int

    Hier die device_description.xml

    ZitatThis XML file does not appear to have any style information associated with it. The document tree is shown below.
    <root xmlns="urn:schemas-upnp-org:device-1-0">
    <specVersion>
    <major>1</major>
    <minor>0</minor>
    </specVersion>
    <device>
    <deviceType>urn:schemas-upnp-org:device:ZonePlayer:1</deviceType>
    <friendlyName>192.168.178.39 - Sonos PLAYBAR</friendlyName>
    <manufacturer>Sonos, Inc.</manufacturer>
    <manufacturerURL>http://www.sonos.com</manufacturerURL>
    <modelNumber>S9</modelNumber>
    <modelDescription>Sonos PLAYBAR</modelDescription>
    <modelName>Sonos PLAYBAR</modelName>
    <modelURL>http://www.sonos.com/products/zoneplayers/S9</modelURL>
    <softwareVersion>43.3-53230</softwareVersion>
    <hardwareVersion>1.9.1.10-2</hardwareVersion>
    <serialNum>78-28-CA-52-6D-0C:E</serialNum>
    <UDN>uuid:RINCON_7828CA526D0C01400</UDN>
    <iconList>
    <icon>
    <id>0</id>
    <mimetype>image/png</mimetype>
    <width>48</width>
    <height>48</height>
    <depth>24</depth>
    <url>/img/icon-S9.png</url>
    </icon>
    </iconList>
    <minCompatibleVersion>42.0-00000</minCompatibleVersion>
    <legacyCompatibleVersion>36.0-00000</legacyCompatibleVersion>
    <apiVersion>1.5.2</apiVersion>
    <minApiVersion>1.1.0</minApiVersion>
    <displayVersion>8.6</displayVersion>
    <extraVersion>OTP: </extraVersion>
    <roomName>Wohnzimmer</roomName>
    <displayName>PLAYBAR</displayName>
    <zoneType>10</zoneType>
    <feature1>0x00008000</feature1>
    <feature2>0x30206772</feature2>
    <feature3>0x00030008</feature3>
    <seriesid>A100</seriesid>
    <variant>2</variant>
    <internalSpeakerSize>6</internalSpeakerSize>
    <bassExtension>50.000</bassExtension>
    <satGainOffset>0.000</satGainOffset>
    <memory>128</memory>
    <flash>128</flash>
    <ampOnTime>425</ampOnTime>
    <retailMode>0</retailMode>
    <serviceList>
    <service>
    <serviceType>urn:schemas-upnp-org:service:AlarmClock:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:AlarmClock</serviceId>
    <controlURL>/AlarmClock/Control</controlURL>
    <eventSubURL>/AlarmClock/Event</eventSubURL>
    <SCPDURL>/xml/AlarmClock1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-upnp-org:service:MusicServices:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:MusicServices</serviceId>
    <controlURL>/MusicServices/Control</controlURL>
    <eventSubURL>/MusicServices/Event</eventSubURL>
    <SCPDURL>/xml/MusicServices1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-upnp-org:service:DeviceProperties:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:DeviceProperties</serviceId>
    <controlURL>/DeviceProperties/Control</controlURL>
    <eventSubURL>/DeviceProperties/Event</eventSubURL>
    <SCPDURL>/xml/DeviceProperties1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-upnp-org:service:SystemProperties:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:SystemProperties</serviceId>
    <controlURL>/SystemProperties/Control</controlURL>
    <eventSubURL>/SystemProperties/Event</eventSubURL>
    <SCPDURL>/xml/SystemProperties1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-upnp-org:service:ZoneGroupTopology:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:ZoneGroupTopology</serviceId>
    <controlURL>/ZoneGroupTopology/Control</controlURL>
    <eventSubURL>/ZoneGroupTopology/Event</eventSubURL>
    <SCPDURL>/xml/ZoneGroupTopology1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-upnp-org:service:GroupManagement:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:GroupManagement</serviceId>
    <controlURL>/GroupManagement/Control</controlURL>
    <eventSubURL>/GroupManagement/Event</eventSubURL>
    <SCPDURL>/xml/GroupManagement1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-upnp-org:service:HTControl:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:HTControl</serviceId>
    <controlURL>/HTControl/Control</controlURL>
    <eventSubURL>/HTControl/Event</eventSubURL>
    <SCPDURL>/xml/HTControl1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-tencent-com:service:QPlay:1</serviceType>
    <serviceId>urn:tencent-com:serviceId:QPlay</serviceId>
    <controlURL>/QPlay/Control</controlURL>
    <eventSubURL>/QPlay/Event</eventSubURL>
    <SCPDURL>/xml/QPlay1.xml</SCPDURL>
    </service>
    </serviceList>
    <deviceList>
    <device>
    <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
    <friendlyName>192.168.178.39 - Sonos PLAYBAR Media Server</friendlyName>
    <manufacturer>Sonos, Inc.</manufacturer>
    <manufacturerURL>http://www.sonos.com</manufacturerURL>
    <modelNumber>S9</modelNumber>
    <modelDescription>Sonos PLAYBAR Media Server</modelDescription>
    <modelName>Sonos PLAYBAR</modelName>
    <modelURL>http://www.sonos.com/products/zoneplayers/S9</modelURL>
    <UDN>uuid:RINCON_7828CA526D0C01400_MS</UDN>
    <serviceList>
    <service>
    <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
    <controlURL>/MediaServer/ContentDirectory/Control</controlURL>
    <eventSubURL>/MediaServer/ContentDirectory/Event</eventSubURL>
    <SCPDURL>/xml/ContentDirectory1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
    <controlURL>/MediaServer/ConnectionManager/Control</controlURL>
    <eventSubURL>/MediaServer/ConnectionManager/Event</eventSubURL>
    <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
    </service>
    </serviceList>
    </device>
    <device>
    <deviceType>urn:schemas-upnp-org:device:MediaRenderer:1</deviceType>
    <friendlyName>Wohnzimmer - Sonos PLAYBAR Media Renderer</friendlyName>
    <manufacturer>Sonos, Inc.</manufacturer>
    <manufacturerURL>http://www.sonos.com</manufacturerURL>
    <modelNumber>S9</modelNumber>
    <modelDescription>Sonos PLAYBAR Media Renderer</modelDescription>
    <modelName>Sonos PLAYBAR</modelName>
    <modelURL>http://www.sonos.com/products/zoneplayers/S9</modelURL>
    <UDN>uuid:RINCON_7828CA526D0C01400_MR</UDN>
    <serviceList>
    <service>
    <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:RenderingControl</serviceId>
    <controlURL>/MediaRenderer/RenderingControl/Control</controlURL>
    <eventSubURL>/MediaRenderer/RenderingControl/Event</eventSubURL>
    <SCPDURL>/xml/RenderingControl1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
    <controlURL>/MediaRenderer/ConnectionManager/Control</controlURL>
    <eventSubURL>/MediaRenderer/ConnectionManager/Event</eventSubURL>
    <SCPDURL>/xml/ConnectionManager1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-upnp-org:service:AVTransport:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:AVTransport</serviceId>
    <controlURL>/MediaRenderer/AVTransport/Control</controlURL>
    <eventSubURL>/MediaRenderer/AVTransport/Event</eventSubURL>
    <SCPDURL>/xml/AVTransport1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-sonos-com:service:Queue:1</serviceType>
    <serviceId>urn:sonos-com:serviceId:Queue</serviceId>
    <controlURL>/MediaRenderer/Queue/Control</controlURL>
    <eventSubURL>/MediaRenderer/Queue/Event</eventSubURL>
    <SCPDURL>/xml/Queue1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>
    urn:schemas-upnp-org:service:GroupRenderingControl:1
    </serviceType>
    <serviceId>urn:upnp-org:serviceId:GroupRenderingControl</serviceId>
    <controlURL>/MediaRenderer/GroupRenderingControl/Control</controlURL>
    <eventSubURL>/MediaRenderer/GroupRenderingControl/Event</eventSubURL>
    <SCPDURL>/xml/GroupRenderingControl1.xml</SCPDURL>
    </service>
    <service>
    <serviceType>urn:schemas-upnp-org:service:VirtualLineIn:1</serviceType>
    <serviceId>urn:upnp-org:serviceId:VirtualLineIn</serviceId>
    <controlURL>/MediaRenderer/VirtualLineIn/Control</controlURL>
    <eventSubURL>/MediaRenderer/VirtualLineIn/Event</eventSubURL>
    <SCPDURL>/xml/VirtualLineIn1.xml</SCPDURL>
    </service>
    </serviceList>
    <X_Rhapsody-Extension xmlns="http://www.real.com/rhapsody/xmlns/upnp-1-0">
    <deviceID>
    urn:rhapsody-real-com:device-id-1-0:sonos_1:RINCON_7828CA526D0C01400
    </deviceID>
    <deviceCapabilities>
    <interactionPattern type="real-rhapsody-upnp-1-0"/>
    </deviceCapabilities>
    </X_Rhapsody-Extension>
    <qq:X_QPlay_SoftwareCapability xmlns:qq="http://www.tencent.com">QPlay:2</qq:X_QPlay_SoftwareCapability>
    <iconList>
    <icon>
    <mimetype>image/png</mimetype>
    <width>48</width>
    <height>48</height>
    <depth>24</depth>
    <url>/img/icon-S9.png</url>
    </icon>
    </iconList>
    </device>
    </deviceList>
    </device>
    </root>

    Viele Grüße Rob
    Titel: Antw:Sonos steuern
    Beitrag von: Tomk am 30 Juni 2018, 06:37:30
    Zitat von: Tomk am 30 Juni 2018, 06:08:33
    Leider habe ich immernoch das Problem das mein Sonos extrem träge reagiert (delay von >1minute).
    ich habe mehrfach folgende Meldung in dem Log gesehen. Sie bezieht sich auf eine alte IP Adresse welche ich mal vergeben hatte. Ich weiß nicht woher die noch kommt und ich finde nicht wo ich die anpassen kann:


    2018.06.30 05:59:36 5: SONOS0: Player: Sonos_Wohnzimmer ~ Slaves: []
    Loading device description failed with error: 500 Can't connect to 192.168.178.35:8000 (Location: http://192.168.178.35:8000/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.


    Jemand ne idee wo ich die IP anpassen kann?

    Ok ich habe ide IP wie im Wiki beschrieben als Ignored IP hinzugefügt und siehe da es läuft wieder flüssig... Aber woher kommt die IP (noch)?

    Update nach 1h: Leider war der Erfolg nur von kurzer Dauer. Jetzt verhält es sich wieder träge... :-(
    Titel: Antw:Sonos steuern
    Beitrag von: Robert1963 am 07 Juli 2018, 14:20:12

    Hab jetzt noch Fhem von einem alten Backup installiert und mein ganzes Linux auf den neusten Stand gebracht.

    Leider immer noch der selbe Fehler,
    find auch nach lngem hin und hergoogeln keine Hebel um das Problem einzugrenzen.

    Gr Rob
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 01 August 2018, 12:49:44
    Habe seit kurzen folgende Logausgabe:

    3 running and detached
    1 finished and unjoined
    0 running and unjoined
    Perl exited with active threads:
    2018.08.01 12:44:49 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...


    Danach ist Sonos beendet und muß manuell neu gestartet werden??
    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 01 August 2018, 15:31:11
    Zitat von: Mitch am 01 August 2018, 12:49:44
    Habe seit kurzen folgende Logausgabe:

    3 running and detached
    1 finished and unjoined
    0 running and unjoined
    Perl exited with active threads:
    2018.08.01 12:44:49 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...


    Danach ist Sonos beendet und muß manuell neu gestartet werden??

    Interessant wäre ob es Meldungen vorher gibt, denn das hier ist ja eigentlich nur die Info, dass etwas (FHEM/perl) beendet wurde und damit auch Sonos.
    Titel: Antw:Sonos steuern
    Beitrag von: Torsten_MG am 13 August 2018, 18:30:22
    Hallo,

    welche Geräte von Sonos sind kompatibel zum Fhem System? Sind alle Sonos Speaker verwendbar? Oder müssen sie ein bestimmtes Protokoll unterstützen?

    Danke schonmal!
    Titel: Antw:Sonos steuern
    Beitrag von: Esjay am 13 August 2018, 19:55:23
    Ich habe 3 Play 1, einen Play 3, einen Play One, die Playbase und nen Sub. Wird alles unterstützt. Was stellst du dir denn vor?
    Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: Torsten_MG am 13 August 2018, 20:03:49
    Ich habe noch keinen festen Plan, ich habe erstmal nur aus Neugier gefragt

    Gesendet von meinem SM-J730F mit Tapatalk

    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 14 August 2018, 12:39:40
    Hallo zusammen,

    seit geraumer Zeit habe ich ständig einen Sonos disconnect. Ich muss dann das Device aus Fhem löschen und via

    define Sonos sonos localhost:4711

    wieder neu anbinden, dann wird sofort wieder alles gefunden.

    Was kann ich tun um herauszufinden wo der Hund begraben liegt?
    Titel: Antw:Sonos steuern
    Beitrag von: Esjay am 14 August 2018, 13:03:33
    Genug Platz auf dem Speichermedium schaffen, verbose auf 5 hochdrehen, und dann schauen, was jeweils vor bzw. nach dem disconnect im Log auftaucht.
    Wenn du den Fehler dann nicht lokalisieren kannst, dann die Log Einträge hier zur Verfügung stellen (In Code-Tags).

    Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: kjmEjfu am 14 August 2018, 14:02:25
    Zitat von: florian2833 am 14 August 2018, 12:39:40
    Hallo zusammen,

    seit geraumer Zeit habe ich ständig einen Sonos disconnect. Ich muss dann das Device aus Fhem löschen und via

    define Sonos sonos localhost:4711

    wieder neu anbinden, dann wird sofort wieder alles gefunden.

    Was kann ich tun um herauszufinden wo der Hund begraben liegt?

    die "Lösung" ist aber ziemlich umständlich. Du kannst das Device auch einfach wiederbeleben, indem du disable erst auf 1 und direkt danach wieder auf 0 setzt bzw. löschst.
    Titel: Antw:Sonos steuern
    Beitrag von: DS_Starter am 14 August 2018, 14:31:31
    Das Problem hatte ich auch. Seit ich Sonos so definiert habe:

    define Sonos SONOS localhost:4711 120 1 5

    gibt es keine disconnects mehr. Scheint mir ein timeout-Problem zu sein.

    Lg
    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 14 August 2018, 16:52:42
    DS_starter - das werde ich direkt mal ausprobieren :-)

    define Sonos SONOS localhost:4711 120 1 5

    Was machen die letzten Ziffern denn? Kann das jemand erklären? Ich vermute "interval" / "Waittime" und Delaytime? - Wofür stehen die Parameter?

    Zitat von: kjmEjfu am 14 August 2018, 14:02:25
    die "Lösung" ist aber ziemlich umständlich. Du kannst das Device auch einfach wiederbeleben, indem du disable erst auf 1 und direkt danach wieder auf 0 setzt bzw. löschst.

    Habe ich versucht, endet bei mir lediglich in einem "disconnected"
    Titel: Antw:Sonos steuern
    Beitrag von: Esjay am 14 August 2018, 17:00:01
    define <Devicename> SONOS [<Hostname:Port> [Prüfintervall [WaitTime [DelayTime]]]]

    Grüße
    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 14 August 2018, 17:00:48
    Danke Esjay :)
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 14 August 2018, 19:48:56
    Zitat von: florian2833 am 14 August 2018, 16:52:42
    Was machen die letzten Ziffern denn? Kann das jemand erklären? Ich vermute "interval" / "Waittime" und Delaytime? - Wofür stehen die Parameter?
    Die Info dazu steht wie so oft umfassend in der Doku
    https://commandref.fhem.de/commandref_DE.html#SONOS

    Dazu gibt es auch direkt einen Link unter dem Gerät :)

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 15 August 2018, 11:28:44
    Schande über mich Otto. Natürlich  8) Man könnte auch mal in die Doku schauen.  :-[

    Also, liebe Foristen, jetzt brauche ich aber nochmal eure Hilfe, scheinbar ist mein Disconnect selbstverschuldet. (Nicht nur scheinbar sondern sogar sehr deutlich) - Sonos wird nachts abgeschalten (Funksteckdose) um den Stromverbrauch von etlichen Multimediageräten nachts runterzufahren.

    Sieht man hier schön:

    2018.08.15 01:17:17 3: Opening Sonos device localhost:4711
    2018.08.15 01:17:17 1: Sonos: Can't connect to localhost:4711: Connection refused
    2018.08.15 01:17:17 1: SONOS0: ./FHEM/00_SONOS.pm is started by fhem...
    2018.08.15 01:17:17 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    Invalid value for shared scalar at ./FHEM/00_SONOS.pm line 9895.


    Es gäbe nun die einfach möglichkeit Sonos einfach an zu lassen, was ich aber gerne anders lösen würde.

    Ich müsste Morgends ab einem "trigger" in Fhem eigentlich nur den Subprozess von Sonos.pm neu anstossen (das DEF zu öffnen und "localhost:4711 120 1 5" via modify einzugeben reicht vollends aus) .. Das müsste sich doch via Notify auch lösen lassen?

    Hier sieht man das "aufwachen"

    2018.08.15 11:21:25 3: Opening Sonos device localhost:4711
    2018.08.15 11:21:25 1: Sonos: Can't connect to localhost:4711: Connection refused
    2018.08.15 11:21:25 1: SONOS0: ./FHEM/00_SONOS.pm is started by fhem...
    2018.08.15 11:21:25 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2018.08.15 11:22:26 3: SONOS0: Connection accepted from localhost:55686
    2018.08.15 11:22:26 1: [b]localhost:4711 reappeared (Sonos)[/b]
    2018.08.15 11:22:27 1: SONOS1: UPnP-Thread gestartet.
    2018.08.15 11:22:27 1: SONOS2: LongJobs-Thread gestartet. Prüfe auf LongJobs...
    2018.08.15 11:22:27 1: SONOS3: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 120 Sekunden...
    2018.08.15 11:22:28 2: SONOS1: Discover Sonosplayer 'Danaflo1' (ZB100) Software Revision 9.0 with ID 'RINCON_B8E937152B7801400_MR'
    2018.08.15 11:22:28 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...


    Könnt ihr mir da weiterhelfen? Denn so tief stecke ich da leider nicht in der Materie drin. (Ziel : Dashbutton triggert Notify - welches den Subprozess neu startet, der dann erkennt das da doch ein Sonos System lebt.)

    Ich habe zwar das bereits gefunden, jedoch hilft es mir nicht weiter, da ich meine Funktsteckdosen nicht via Fhem auslesen kann.

    Wenn das Sonossystem per Funksteckdose regelmäßig vom Netz genommen wird, bereitet der Neustart und das anschließende Verbinden mit FHEM oft Probleme. Das Sonosmodul bleibt auf dem Status "disappeared" stehen und das Playerdevice ebenfalls. Ergo ist eine Bedienung per FHEM oder die Sprachausgabe nicht mehr möglich.

    Um diesem Problem Abhilfe zu schaffen reicht ein kleines notify oder DOIF, welches den Player beim Abschalten das Attribut disable = 1 verschafft und beim Wiedereinschalten dieses Attribut löscht.

    define RebootSonosDOIF DOIF ([FunksteckerSonos:state] eq "on" )(deleteattr MeinSonosDevice disable) (save)
                           DOELSEIF ([FunksteckerSonos:state] eq "off" )(attr MeinSonosDevice disable 1)(save)

    Das Setzen von "disable" sorgt dafür, dass der Sonosthread beendet wird und beim Einschalten ein neuer Prozess erstellt wird. Diese automatische Änderung an der Konfiguration des Device benötigt ein save config im Nachgang der DOIF- oder notify-Aktion. Daher wird der jeweilige attr-Befehl mit einem (save) abgeschlossen.

    Wichtig hierbei (wie auch in der Überschrift erwähnt) funktioniert das nur, wenn die einzelnen Sonosplayer an einer schaltbaren Steckdose betrieben werden.

    Das DOIF triggert nur bei Änderung des "state" der jeweilige Funksteckdose.

    Titel: Antw:Sonos steuern
    Beitrag von: l2r am 15 August 2018, 12:05:16
    hi,

    du könntest anstatt auf die Funksteckdose zu triggern, das an eine bestimmte Uhrzeit hängen?!

    define RebootSonosDOIF DOIF ([08:00])(deleteattr MeinSonosDevice disable) (save)
                           DOELSEIF ([22:30])(attr MeinSonosDevice disable 1)(save)


    alternativ könntest du in deinem Router den Sonosboxen eine feste IP geben und dann ein PRESENCE-Device mit lan-ping auf eine SONOS-Box ansetzen. Sobald die SONOS morgens an geht, zieht sie sich eine IP, dadurch wird diese in Netzwerk pingbar und das PRESENCE-DEVICE zur SONOS-Box geht auf presence und das kann dann wiederum als trigger für deine DOIF dienen:

    define pr_SONOS PRESENCE lan-ping 192.168.1.xxx
    Die IP muss natürlich der festen IP deiner SONOS-Box entsprechen

    define RebootSonosDOIF DOIF ([pr_SONOS] eq "present" )(deleteattr MeinSonosDevice disable) (save)
                           DOELSEIF ([[pr_SONOS] eq "absent")(attr MeinSonosDevice disable 1)(save)


    bitte die Syntax nochmals prüfen, war jetzt alles aus dem Kopf ;-)

    Gruß Michael
    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 15 August 2018, 12:19:48
    Danke l2r,

    Die Idee mit dem LAN Ping gefällt mir - werde ich gleich mal einbauen.
    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 15 August 2018, 12:37:51
    define RebootSonosDOIF DOIF ([pr_SONOS] eq "present" )(deleteattr MeinSonosDevice disable) (save)
                           DOELSEIF ([[pr_SONOS] eq "absent")(attr MeinSonosDevice disable 1)(save)


    Kurze zwischenfrage "Meinsonosdevice" muss natürlich dann so heisen wie es eben bei mir heist oder?
    Titel: Antw:Sonos steuern
    Beitrag von: l2r am 15 August 2018, 12:51:27
    ja klar.

    Wobei hier das SONOS-Device gemeint ist und nicht ein SONOS-Player

    wenn du nach WIKI oder Commandref installiert hast dann heißt das Device einfach Sonos

    Gruß Michael
    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 15 August 2018, 13:22:34
    Du bist mein Held  ;D

    define RebootSonosDOIF DOIF ([pr_SONOS] eq "present")(deleteattr Sonos disable) (save)
    DOELSEIF ([pr_SONOS] eq "absent")(attr Sonos disable 1) (save)


    Was funktioniert:

    Sonos wird erkannt (absent/present)
    Das Attribute wird geändert.

    Aber: Scheinbar nimmt fhem das save nicht. Zumindest habe ich das rote fragezeichen immer neben safe config. Oder liegt das einfach daran das ich eben gerade eingeloggt bin? Save über die Fhem kommandozeile funktioniert

    Titel: Antw:Sonos steuern
    Beitrag von: moskito am 15 August 2018, 13:45:07
    Schau mal ob im Device "global" das Attribut "autosave" auf 1 gesetzt ist.

    Gruß
    Danny
    Titel: Antw:Sonos steuern
    Beitrag von: l2r am 15 August 2018, 14:09:31
    wie moskito schon sagte, müsste an dem Autosave liegen, da dies ein save ist, welches von FHEM ausgelöst wird und das ist nur bei autosave 1 erlaubt.

    Sollte deine Config mal bei starten auf Fehler laufen, dann kann sein, dass autosave deaktiviert wird und neu gesetzt werden muss.

    letztendlich dient das Save dazu, dass nach einem Neustart von FHEM der gewünschte Wert vom Attribut noch vorhanden ist, da Attributänderungen sonst nicht behalten werden würden.

    Gruß Michael
    Titel: Antw:Sonos steuern
    Beitrag von: peterk_de am 17 August 2018, 09:54:47
    Also das Modul bietet ja gigantisch viele Steuermöglichkeiten - super, vor ca. einem Monat mit erstmal 3 Sonos ONE in Betrieb genommen, läuft prima!

    Eine Frage hätte ich noch: Kann man das Mikro (für Alexa) über das Modul stumm- und wieder anschalten? Ich habe wirklich viel gesucht und DAS nicht gefunden, kann aber sein, dass ich es einfach übersehen habe ... wäre aber sehr praktisch, das über FHEM automatisch nur dann zu aktivieren, wenn nötig. Z.B. "aus", wenn Gäste da sind.
    Titel: Antw:Sonos steuern
    Beitrag von: tj23 am 25 September 2018, 12:09:41
    Hallo zusammen, weis jemand von euch wie man ein Sonos Play1 mit einem Homematic Magnetschalter einschalten kann? (Am besten dann natürlich wenn der kontakt nochmal geöffnet wird, wieder ausschalten)
    Titel: Antw:Sonos steuern
    Beitrag von: FunkOdyssey am 25 September 2018, 16:04:14
    Meinst du mit "Magnetschalter", dass du die Player stromlos machst?

    Schau mal hier: https://forum.fhem.de/index.php/topic,76652.msg685569.html

    Ich wollte - habe es aber wieder aufgegeben.
    War mir zu buggy und mir ist der Zustand der Playlist wichtig.
    Titel: Antw:Sonos steuern
    Beitrag von: tj23 am 26 September 2018, 06:04:18
    Nein, nicht stromlos. Direkt den sonos zu über den Play Befehl starten und wieder paisieren.
    Titel: Antw:Sonos steuern
    Beitrag von: gloob am 26 September 2018, 07:12:52
    Zitat von: tj23 am 26 September 2018, 06:04:18
    Nein, nicht stromlos. Direkt den sonos zu über den Play Befehl starten und wieder paisieren.

    set Sonos_Device play

    Wie du das aufrufst und wie du das Schalten vom Magnetschalter mitbekommst ist einen andere Sache. Sag doch mal was du vor hast.

    Hier ist noch ein Beispiel was den Zustand togglt:

    define notifyDashButton_Desperados_Kueche notify DashButton:xx-xx-xx-xx-xx-xx:.short {\
    if(ReadingsVal("Sonos_Kueche","state","") eq "PLAYING"){fhem('set Sonos_Kueche stop');;}else{fhem('set Sonos_Kueche play');;}\
    }
    Titel: Antw:Sonos steuern
    Beitrag von: tj23 am 27 September 2018, 07:52:56
    Ich möchte den Homematic HM-Sec-SC-2an eine Zimmertür montieren. Wenn diese dann geöffnet wird -> Sonos Play. Tür wird geschlossen. Wenn dann die Tür wieder geöffnet wird -> Sonos Pause. Klingt eigentlich relativ simpel, aber ich bekomme es leider nicht realisiert. Es gibt bestimmt mehrere Wege.
    Danke für die Tips :)
    Titel: Antw:Sonos steuern
    Beitrag von: FHEm2005 am 03 Oktober 2018, 17:52:43
    Lustige Anwendung.

    Mit zwei (edit: oder einer) Doif-Definition solltest du es hinbekommen.
    Du wertest zwei Readings aus: das Reading transportState von der Sonos und den aktuellen Zustand des Fensterkontaktes. Immer wenn der Zustand sich von "closed" nach "open" soll sich der Zustand vom transportState ändern. 

    Reading transportState = PLAYING      =>     Fensterkontakt = closed         = >     Aktion Sonos Stop

    define sonosSwitchoff DOIF ([SONOSName:transportState] eq "PLAYING" & [Fensterkontaktname:state] eq "closed") (set SONOSName Stop)

    Das fast Gleiche machst Du wenn die Sonos im Stop-Zustand ist.

    Reading transportState = STOPPED      =>     Fensterkontakt = Closed         = >     Aktion: Sonos Play

    define sonosSwitchon  DOIF ([SONOSName:transportState] eq "STOPPED" & [Fensterkontaktname:state] eq "closed") (set SONOSName Play)

    Ich selber habe keine Fensterkontakte, schau nochmal wie das Reading welches ich state genannt habe wirklich heißt. Ichg glaube aber dass ich nicht weit weg liege.

    Viel Erfolg
    Gruß Eberhard


    Edit:
    Du kannst due zwei DOIF auch zusammenfügen (etwas eleganter):

    define sonosSwitch DOIF ([SONOSName:transportState] eq "PLAYING" & [Fensterkontaktname:state] eq "closed") (set SONOSName Stop) DOELSEIF ([SONOSName:transportState] eq "STOPPED" & [Fensterkontaktname:state] eq "closed") (set SONOSName Play)




    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 10 Oktober 2018, 17:09:05
    Sonos 9.2 hat ein wie ich finde sehr nützliches Feature erhalten: Man kann nun jedem Raum eine maximale Lautstärke zuweisen. Wenn ich einen Raum nun auf 50% der Lautstärke begrenze, bedeutet das für FHEM, dass ein "set Sonos_xy Volume 100" dem entspricht, was vorher ein "set Sonos_xy Volume 50" war.

    Meine Frage ist nun, wird das so bleiben (was ich hoffe)? Nicht, dass ich jetzt alle Räume auf 50% setze, die Laustärkebefehle in FHEM anpasse und nach einem Modul-Update von ohrenbetäubendem Lärm geweckt werde ;D
    Titel: Antw:Sonos steuern
    Beitrag von: FHEm2005 am 11 Oktober 2018, 09:42:37
    Hallo dantist,

    warum probierst Du es nicht aus?? Das ist ganz einfach und tut nicht weh.  ;D ;D

    Trotzdem danke für den Hinweis. Ich habe es ausprobiert. Ich habe eine Lautstärkebegrenzung von 20 eingestellt und über FHEM die Sonos-Box auf Volume 100 gesetzt (selbst auf die Gefahr, dass mir die Ohren abfallen). Siehe da: Vollume 100 entspricht der eingestellten maximalen Lautstärke 20.

    Letztendlich wird für den neuen Bereich 0 bis 20 quasi eine Lupenfunktion bereitgestellt. Wie das wirklich mit der Granularität dabei aussieht - keine wirkliche Ahnung. Ob bei einem Update diese eingestellten Werte bleiben kann wohl nur SONOS sagen. Wenn du morgens aus dem Bett fällst, wird die Einstellung bei einem Update wohl gelöscht worden sein.

    Gruß Eberhard
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 11 Oktober 2018, 10:42:14
    Ich habe es ja bereits erfolgreich getestet, ich wollte nur die Gewissheit haben, dass zukünftige FHEM Modul-Updates nichts an diesem Verhalten ändern :) Wobei ich glaube, dass das gar nicht möglich ist.

    An der Granularität ändert sich leider nichts - wenn man einen Lautsprecher auf 50% der Lautstärke begrenzt, resultiert ein "set Sonos_xy Volume 1" in einem Mute statt einer sehr leisen Ausgabe.
    Titel: Antw:Sonos steuern
    Beitrag von: FHEm2005 am 11 Oktober 2018, 13:05:36
    Hallo dantist,

    bezüglich der Granularität habe ich mal ein paar Versuche gemacht. Es sind nach wie vor 100 Lautstärkeschritte geblieben. Warum?
    Bei einer Laustärkebegrenzung (LB) von  5% war der erste Ton bei Volume 20 zu hören.
    Bei einer LB von 10% war der erste Ton bei Volume 10 zu hören.
    Bei einer LB von 20% war der erste Ton bei Volume 5 zu hören. Jetzt wird es spannend, weil es keine 2,5 gibt:
    Bei einer LB von 30% war der erste Ton bei Volume 3 zu hören.

    Damit kann man sagen, daß der die Anzahl der verbleibenden, regelbaren Laustärkepunkte mit dem Wert der LB abnimmt.

    Erster Mucks der Sonosboxen = INT(100:(LB in %) + 0,9)

    Die regelbaren Volumewerte entsprechen dem Wert der Lautstärkebegrenzung x 100. Bei einer LB von 5% bleiben nur 5 verschiedene  Volumewerte (20, 40, 60, 80, 100) bei denen die Laustärke geändert wird. Das entspricht dann den normalen Volumewerten bei LB = 100% von 1,2,3,4,5.

    Ob es sich unter diesen Gesichtpunkten lohnt die LB einzuschalten, kann nur eine Frage der Lautstärke aus dem Kinderzimmer sein.  8) 8)

    Gruß Eberhard
    Titel: Antw:Sonos steuern
    Beitrag von: aliate am 13 Oktober 2018, 17:50:28
    Zitat von: peterk_de am 17 August 2018, 09:54:47
    Also das Modul bietet ja gigantisch viele Steuermöglichkeiten - super, vor ca. einem Monat mit erstmal 3 Sonos ONE in Betrieb genommen, läuft prima!

    Eine Frage hätte ich noch: Kann man das Mikro (für Alexa) über das Modul stumm- und wieder anschalten? Ich habe wirklich viel gesucht und DAS nicht gefunden, kann aber sein, dass ich es einfach übersehen habe ... wäre aber sehr praktisch, das über FHEM automatisch nur dann zu aktivieren, wenn nötig. Z.B. "aus", wenn Gäste da sind.

    Diese Frage möchte ich gerne aufgreifen. Weiß jemand ob das möglich ist?
    Am Player selbst (Sonos One) gibt es ja eine Taste um Alexa bzw. das Mikrofon ein- und auszuschalten. In der Sonos-App geht das so nicht. Hier müsste man vermutlich in den Raumeinstellungen Alexa aus dem betreffenden Raum entfernen, wobei das sicherlich weiter geht als nur "Mikrofon ein und aus".

    Gruß
    Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: Duffy am 15 Oktober 2018, 14:42:00
    Moin Moin,
    Aktuell habe ich einen hifi Berry als Klingel und Webradio am laufen.
    D.h. Morgens geht das webradio an und wird ggf über fhem gesteuert.
    Bei einem Event mit Sprachausgabe wird das Webradio ggf kurz unterbrochen und nach erfolgter Ausgabe wieder fortgesetzt.
    Leider funktionierte das System heute morgen nicht mehr , so dass ich mich nun nach Alternativen umsehen muss.
    Ist das oben genannte Szenario mit einem sonos one möglich?

    D.h. Kurz eine Sprachausgabe oder nen mp3 (paar Sekunden) auszugeben um dann mit der vorherigen Wiedergabe  fortzufahren ?

    Danke und Gruß
    Titel: Antw:Sonos steuern
    Beitrag von: Esjay am 15 Oktober 2018, 15:03:14
    Ich bin mir zu 99,9 Prozent sicher, dass das ohne Probleme funktioniert.
    Sollte meine Aussage in 60 Minuten nicht von irgendwem bestätigt wurden sein, teste ich das Ganze gerne zuhause auch nochmal.

    Grüße

    PS: Warum funktioniert das alte System nicht mehr? Hardware defekt?
    Titel: Antw:Sonos steuern
    Beitrag von: Duffy am 15 Oktober 2018, 15:14:33
    Das weiß ich gerade nicht, Meldung kam nur von der Frau zuhause und ein Neustart hat nicht geholfen.
    Von daher gehe ich von einem Defekt aus..
    Gestern hat es noch funktioniert und an der Umgebung habe ich ewig nix verändert ...
    Titel: Antw:Sonos steuern
    Beitrag von: Esjay am 15 Oktober 2018, 18:39:58
    Zitat von: Duffy am 15 Oktober 2018, 15:14:33
    Das weiß ich gerade nicht, Meldung kam nur von der Frau zuhause und ein Neustart hat nicht geholfen.
    Von daher gehe ich von einem Defekt aus..
    Gestern hat es noch funktioniert und an der Umgebung habe ich ewig nix verändert ...

    Meine nur vom Kostenfaktor her ist es ja jetzt schon ein Sprung! Klappt übrings zu 100%. Habe eben Spotify abgespielt, und dann einfach mal mit
    45 de |Ton| Am [myAbfall:next_weekday] wird [ArtikelMuell:state] [myAbfall:next_text] abgeholt heute ist [Wochentag:state]
    zwischen gehauen.
    Danach hat er ganz normal weitergespielt!
    Titel: Antw:Sonos steuern
    Beitrag von: Niko1987 am 15 Oktober 2018, 18:49:23



    Edit:
    Du kannst due zwei DOIF auch zusammenfügen (etwas eleganter):

    define sonosSwitch DOIF ([SONOSName:transportState] eq "PLAYING" & [Fensterkontaktname:state] eq "closed") (set SONOSName Stop) DOELSEIF ([SONOSName:transportState] eq "STOPPED" & [Fensterkontaktname:state] eq "closed") (set SONOSName Play)
    [/quote]

    Geniale Idee :) Funktioniert Super.
    nur der Fensterkontakt und der Sonos Player benötigt:

    attr event-on-change-reading .*

    Sonst hängt mein Sonos in einer Stopped/Play schleife

    Danke
    Gruß
    Flo
    Titel: Antw:Sonos steuern
    Beitrag von: Duffy am 15 Oktober 2018, 22:14:35
    Zitat von: Esjay am 15 Oktober 2018, 18:39:58
    Meine nur vom Kostenfaktor her ist es ja jetzt schon ein Sprung! Klappt übrings zu 100%. Habe eben Spotify abgespielt, und dann einfach mal mit
    45 de |Ton| Am [myAbfall:next_weekday] wird [ArtikelMuell:state] [myAbfall:next_text] abgeholt heute ist [Wochentag:state]
    zwischen gehauen.
    Danach hat er ganz normal weitergespielt!

    Vielen Dank für die Rückmeldung :)
    Ja, es ist Preislich ein gewaltiger Sprung .
    Gerade jetzt, wo ich den Raspberry inkl. HiFi wieder zum laufen bekommen habe und keinen Grund habe, auf sonos zu setzen . Wäre da nicht der Spieltrieb ;)
    Was es war .. keine Ahnung ... aber ein Neustart hat dann das Dateisystem der Speicherkarte zuschossen :(
    Titel: Antw:Sonos steuern
    Beitrag von: peterk_de am 15 Oktober 2018, 23:15:39
    define di_ueberraschung DOIF ([kueche.tuer:"offen"])
    (set kueche.beleuchtung scene Party,
    set kueche.sonos StartPlaylist Geburtstag
    )


    Mal ein kurzes Danke für das Modul, man kann damit echt lustige Sachen machen ;-)
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 21 Oktober 2018, 12:54:24
    Hallo Reinerlein,


    die UPnP Instanz schmiert bei mir seit einiger Zeit immer ab, ich werde aus dem Log nicht ganz schlau. Meinst du, du könntest mal schauen?


    Danke & Gruß
    Julian






    2018.10.21 12:46:55.245 1: SONOS0: 00_SONOS.pm is started as standalone process...
    2018.10.21 12:46:55.245 1: SONOS0: 00_SONOS.pm is listening to Port 4711
    2018.10.21 12:47:09.437 3: SONOS0: Connection accepted from �:33678
    2018.10.21 12:47:17.440 3: SONOS0: Connection accepted from �:33790
    2018.10.21 12:47:18.475 1: SONOS1: UPnP-Thread gestartet.
    2018.10.21 12:47:18.503 1: SONOS2: LongJobs-Thread gestartet. Prüfe auf LongJobs...
    2018.10.21 12:47:18.529 1: SONOS3: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 10 Sekunden...
    2018.10.21 12:47:18.560 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
    2018.10.21 12:47:18.586 2: SONOS1: Discover Sonosplayer 'Schlafzimmer Lsp' (S1) Software Revision 9.3 with ID 'RINCON_B8E93783CA9801400_MR'
    2018.10.21 12:47:18.826 1: SONOS1: Successfully autocreated SonosPlayer 'Schlafzimmer_Lsp' (S1) as 'Sonos_Schlafzimmer_Lsp' with Software Revision 9.3 and ID 'RINCON_B8E93783CA9801400_MR'
    2018.10.21 12:47:19.091 2: SONOS1: SonosPlayer 'Schlafzimmer_Lsp' is now updated
    2018.10.21 12:47:19.127 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_B8E93783CA9801400_sub0000000379
    2018.10.21 12:47:19.132 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_B8E93783CA9801400_sub0000000380
    2018.10.21 12:47:19.136 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_B8E93783CA9801400_sub0000000381
    2018.10.21 12:47:19.140 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_B8E93783CA9801400_sub0000000382
    2018.10.21 12:47:19.145 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_B8E93783CA9801400_sub0000000383
    2018.10.21 12:47:19.171 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_B8E93783CA9801400_sub0000000384
    2018.10.21 12:47:19.178 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_B8E93783CA9801400_sub0000000385
    2018.10.21 12:47:19.184 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_B8E93783CA9801400_sub0000000386
    2018.10.21 12:47:19.184 3: SONOS1: Discover: End of discover-event for "Schlafzimmer Lsp".
    2018.10.21 12:47:19.203 2: SONOS1: Discover Sonosplayer 'Wohnzimmer Lsp' (S9) Software Revision 9.3 with ID 'RINCON_949F3E6F2BE601400_MR'
    2018.10.21 12:47:19.502 1: SONOS1: Successfully autocreated SonosPlayer 'Wohnzimmer_Lsp' (S9) as 'Sonos_Wohnzimmer_Lsp' with Software Revision 9.3 and ID 'RINCON_949F3E6F2BE601400_MR'
    2018.10.21 12:47:19.708 2: SONOS1: SonosPlayer 'Wohnzimmer_Lsp' is now updated
    2018.10.21 12:47:19.729 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_949F3E6F2BE601400_sub0000000238
    2018.10.21 12:47:19.736 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_949F3E6F2BE601400_sub0000000239
    2018.10.21 12:47:19.747 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_949F3E6F2BE601400_sub0000000240
    2018.10.21 12:47:19.761 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_949F3E6F2BE601400_sub0000000241
    2018.10.21 12:47:19.768 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_949F3E6F2BE601400_sub0000000242
    2018.10.21 12:47:19.781 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_949F3E6F2BE601400_sub0000000243
    2018.10.21 12:47:19.790 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_949F3E6F2BE601400_sub0000000244
    2018.10.21 12:47:19.799 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_949F3E6F2BE601400_sub0000000245
    2018.10.21 12:47:19.799 3: SONOS1: Discover: End of discover-event for "Wohnzimmer Lsp".
    2018.10.21 12:47:19.802 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer_Lsp".
    2018.10.21 12:47:19.871 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer_Lsp".
    2018.10.21 12:47:19.872 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_B8E93783CA9801400_MR' to a new value ~ minVolume = 0
    2018.10.21 12:47:19.890 2: SONOS1: Discover Sonosplayer 'Küche Lsp' (S13) Software Revision 9.3 with ID 'RINCON_7828CA072F4A01400_MR'
    2018.10.21 12:47:20.142 1: SONOS1: Successfully autocreated SonosPlayer 'Kueche_Lsp' (S13) as 'Sonos_Kueche_Lsp' with Software Revision 9.3 and ID 'RINCON_7828CA072F4A01400_MR'
    2018.10.21 12:47:20.328 2: SONOS1: SonosPlayer 'Kueche_Lsp' is now updated
    2018.10.21 12:47:20.342 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_7828CA072F4A01400_sub0000000087
    2018.10.21 12:47:20.348 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_7828CA072F4A01400_sub0000000088
    2018.10.21 12:47:20.353 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_7828CA072F4A01400_sub0000000089
    2018.10.21 12:47:20.356 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_7828CA072F4A01400_sub0000000090
    2018.10.21 12:47:20.361 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_7828CA072F4A01400_sub0000000091
    2018.10.21 12:47:20.365 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_7828CA072F4A01400_sub0000000092
    2018.10.21 12:47:20.371 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_7828CA072F4A01400_sub0000000093
    2018.10.21 12:47:20.376 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_7828CA072F4A01400_sub0000000094
    2018.10.21 12:47:20.376 3: SONOS1: Discover: End of discover-event for "Küche Lsp".
    2018.10.21 12:47:20.377 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnzimmer_Lsp".
    2018.10.21 12:47:20.441 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnzimmer_Lsp".
    2018.10.21 12:47:20.442 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_949F3E6F2BE601400_MR' to a new value ~ minVolume = 0
    2018.10.21 12:47:20.458 2: SONOS1: Discover Sonosplayer 'Wohnzimmer Lsp' (S13) Software Revision 9.3 with ID 'RINCON_7828CA07540E01400_MR'
    2018.10.21 12:47:20.625 1: SONOS1: Successfully autocreated SonosPlayer 'Wohnzimmer_Lsp_RR' (S13) as 'Sonos_Wohnzimmer_Lsp_RR' with Software Revision 9.3 and ID 'RINCON_7828CA07540E01400_MR'
    2018.10.21 12:47:20.780 3: SONOS1: ProxyObject does not exists
    2018.10.21 12:47:20.781 2: SONOS1: SonosPlayer 'Wohnzimmer_Lsp_RR' is now updated
    2018.10.21 12:47:20.781 1: SONOS1: Service-subscribing not possible due to missing TransportService
    Subscription request failed with error: 500 Internal Server Error at 00_SONOS.pm line 6098 thread 1.
    2018.10.21 12:47:20.787 1: SONOS1: Rendering-Service-subscribing NOT successful:
    2018.10.21 12:47:20.794 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_7828CA07540E01400_sub0000000028
    2018.10.21 12:47:20.801 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_7828CA07540E01400_sub0000000029
    2018.10.21 12:47:20.807 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_7828CA07540E01400_sub0000000030
    2018.10.21 12:47:20.808 3: SONOS1: Discover: End of discover-event for "Wohnzimmer Lsp".
    2018.10.21 12:47:20.810 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Schlafzimmer_Lsp".
    2018.10.21 12:47:20.837 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Schlafzimmer_Lsp".
    2018.10.21 12:47:20.859 2: SONOS1: Discover Sonosplayer 'Wohnzimmer Lsp' (Sub) Software Revision 9.3 with ID 'RINCON_949F3E3247FA01400_MR'
    2018.10.21 12:47:20.996 1: SONOS1: Successfully autocreated SonosPlayer 'Wohnzimmer_Lsp_SW' (Sub) as 'Sonos_Wohnzimmer_Lsp_SW' with Software Revision 9.3 and ID 'RINCON_949F3E3247FA01400_MR'
    2018.10.21 12:47:21.177 3: SONOS1: ProxyObject does not exists
    2018.10.21 12:47:21.177 2: SONOS1: SonosPlayer 'Wohnzimmer_Lsp_SW' is now updated
    2018.10.21 12:47:21.177 1: SONOS1: Service-subscribing not possible due to missing TransportService
    2018.10.21 12:47:21.189 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_949F3E3247FA01400_sub0000000025
    2018.10.21 12:47:21.199 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_949F3E3247FA01400_sub0000000026
    2018.10.21 12:47:21.222 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_949F3E3247FA01400_sub0000000027
    2018.10.21 12:47:21.222 3: SONOS1: Discover: End of discover-event for "Wohnzimmer Lsp".
    2018.10.21 12:47:21.223 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Kueche_Lsp".
    2018.10.21 12:47:21.279 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Kueche_Lsp".
    2018.10.21 12:47:21.280 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_7828CA072F4A01400_MR' to a new value ~ minVolume = 0
    2018.10.21 12:47:21.293 2: SONOS1: Discover Sonosplayer 'Wohnzimmer Lsp' (S13) Software Revision 9.3 with ID 'RINCON_7828CA07541401400_MR'
    2018.10.21 12:47:21.492 1: SONOS1: Successfully autocreated SonosPlayer 'Wohnzimmer_Lsp_LR' (S13) as 'Sonos_Wohnzimmer_Lsp_LR' with Software Revision 9.3 and ID 'RINCON_7828CA07541401400_MR'
    2018.10.21 12:47:21.680 3: SONOS1: ProxyObject does not exists
    2018.10.21 12:47:21.680 2: SONOS1: SonosPlayer 'Wohnzimmer_Lsp_LR' is now updated
    2018.10.21 12:47:21.680 1: SONOS1: Service-subscribing not possible due to missing TransportService
    Subscription request failed with error: 500 Internal Server Error at 00_SONOS.pm line 6098 thread 1.
    2018.10.21 12:47:21.686 1: SONOS1: Rendering-Service-subscribing NOT successful:
    2018.10.21 12:47:21.693 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_7828CA07541401400_sub0000000026
    2018.10.21 12:47:21.700 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_7828CA07541401400_sub0000000027
    2018.10.21 12:47:21.708 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_7828CA07541401400_sub0000000028
    2018.10.21 12:47:21.708 3: SONOS1: Discover: End of discover-event for "Wohnzimmer Lsp".
    2018.10.21 12:47:21.709 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnzimmer_Lsp".
    2018.10.21 12:47:21.720 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnzimmer_Lsp".
    2018.10.21 12:47:21.720 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_7828CA07540E01400_MR' to a new value ~ minVolume = 0
    2018.10.21 12:47:21.721 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_949F3E3247FA01400_MR' to a new value ~ minVolume = 0
    2018.10.21 12:47:21.722 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnzimmer_Lsp_RR".
    2018.10.21 12:47:21.732 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnzimmer_Lsp_RR".
    2018.10.21 12:47:21.733 3: SONOS1: Event: Received MusicServices-Event for Zone "Sonos_Schlafzimmer_Lsp".
    2018.10.21 12:48:12.701 3: SONOS0: Disconnecting client...
    2018.10.21 12:48:12.701 3: SONOS0: Trying to kill Sonos_Thread...
    2018.10.21 12:48:12.702 3: SONOS0: Trying to kill LongJobs_Thread...
    2018.10.21 12:48:12.702 3: SONOS0: Trying to kill IsAlive_Thread...
    2018.10.21 12:48:12.702 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2018.10.21 12:48:12.858 1: SONOS4: Restore-Thread wurde beendet.
    2018.10.21 12:48:13.076 1: SONOS2: LongJobs-Thread wurde beendet.
    2018.10.21 12:48:13.095 1: SONOS3: IsAlive-Thread wurde beendet.
    2018.10.21 12:49:50.725 3: SONOS1: Controlpoint-Listener wurde beendet.
    2018.10.21 12:50:13.316 3: SONOS1: Event: End of MusicServices-Event for Zone "Sonos_Schlafzimmer_Lsp".
    2018.10.21 12:50:13.583 2: SONOS1: Error during UPnP-Handling: Can't call method "handleOnce" on an undefined value at 00_SONOS.pm line 2432.

    2018.10.21 12:50:13.583 1: SONOS1: UPnP-Thread wurde beendet.
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 21 Oktober 2018, 16:17:18
    Hallo Julian,

    ich hatte dieses Problem auch, bis ich die Parameter
    Zitat
    localhost:4711 120 1 5
    explizit gesetzt habe. Dann war das Problem auf einmal weg.

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Loredo am 23 Oktober 2018, 10:18:13
    Werde ich mal ausprobieren.
    Der UPnP Prozess läuft bei mir in einem separaten Docker Container, offenbar machen längere Timeouts da trotzdem Sinn.
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 28 November 2018, 07:24:41
    Guten Morgen Reinerlein,
    gestern Abend gab es im Norden Berlins einen großflächigen Stromausfall - laut Medien sind 19999 andere Haushalte betroffen ;-)
    Für mich war es toll zu sehen das meine komplette Hausautomatisierung wieder in den normalen Arbeitsmodus zurückkehrte als die Spannung wieder da war. Lediglich das Sonos Modul hat sich hierbei wohl ein bisschen verschluckt - Ich vermute das nach Spannungs wiederkehr die Sonos komponenten ihr eigenes Netz aufbauten weil die verwaltenden Teile meines Heimnetzes noch mit dem Boot Vorgang beschäftigt waren.

    Jedenfalls füllte sich das Logfile sehr schnell mit folgenden Meldungen:
    Loading device description failed with error: 500 Can't connect to 169.254.150.122:8080 (Location: http://169.254.150.122:8080/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.150.122:8080 (Location: http://169.254.150.122:8080/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.186.36:80 (Location: http://169.254.186.36:80/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.186.36:80 (Location: http://169.254.186.36:80/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.


    Ich habe das Sonos Modul auf disable gesetzt um für ruhe zu sorgen, das soll aber ja natürlich kein Dauerzustand sein.
    Wenn ich das disable wieder wegnehme - passiert folgendes...

    Loading device description failed with error: 500 Can't connect to 169.254.186.36:80 (Location: http://169.254.186.36:80/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.186.36:80 (Location: http://169.254.186.36:80/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    2018.11.27 21:53:04 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
    2018.11.27 21:53:04 1: SONOS3: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2018.11.27 21:53:04 1: SONOS2: LongJobs-Thread gestartet. Prüfe auf LongJobs...
    2018.11.27 21:53:04 1: SONOS1: UPnP-Thread gestartet.
    2018.11.27 21:51:56 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2018.11.27 21:51:56 1: SONOS0: ./FHEM/00_SONOS.pm is started by fhem...
    2018.11.27 21:51:55 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2018.11.27 21:24:00 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    Loading device description failed with error: 500 Can't connect to 169.254.186.36:80 (Location: http://169.254.186.36:80/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.


    Was kann ich machen um sicher zu stellen das Sonos auch nach einem Stromausfall wieder in den normalen Zustand zurückkehrt?
    Ich freue mich schon auf Deine Unterstützung...

    Gruß Michael
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 29 November 2018, 10:08:24
    ZitatWas kann ich machen um sicher zu stellen das Sonos auch nach einem Stromausfall wieder in den normalen Zustand zurückkehrt?
    Die Sonos Geräte erst einschalten (oder neu starten) lassen, wenn Deine Infrastruktur (Swiches, DHCP, ...) wieder bereit ist oder den Sonos Geräten statische IPs verpassen, wenn das möglich ist. Die Link-Local IPv4 Adressen (169.254.0.0/16) sind ein recht klares Indiz dafür, dass Dein DHCP Server nicht erreichbar war. Ist in diesem Thread aber eher off-topic, bei 3000+ Antworten vermutlich aber auch egal ;-)
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 29 November 2018, 15:59:01
    Ok dev0,
    danke für die hinweise...
    Was ich aber nicht verstehe ist:
    Sonos an sich arbeitet fehlerfrei - im Controller sind alle Player im Haus ansprechbar.
    Lediglich der FHEM-Sonos Controller hat diese IP Adress gemurkse bemerkt und zickt aktuell immer noch rum wenn ich das disable rausnehme...

    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 01 Dezember 2018, 11:13:58
    Wenn sich Deine Sonos Geräte nach einem Restart immer noch so verhalten (Link-Local Adressen), dann könnte/sollte man das auf FHEM Sonos Ebene weiter untersuchen... Vorher macht das keinen Sinn. Oder habe ich diesen Schritt überlesen?
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 01 Dezember 2018, 11:51:01
    Ok - ich trennte alle Sonos komponenten kurz vom Strom...
    Anschliessend entfernte ich das disable Attribut vom Sonos Controller in  FHEM...

    Im Log schaut das so aus..
    Loading device description failed with error: 500 Can't connect to 169.254.186.36:80 (Location: http://169.254.186.36:80/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.186.36:80 (Location: http://169.254.186.36:80/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.186.36:80 (Location: http://169.254.186.36:80/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.186.36:80 (Location: http://169.254.186.36:80/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.186.36:80 (Location: http://169.254.186.36:80/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 500 Can't connect to 169.254.186.36:80 (Location: http://169.254.186.36:80/description.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    2018.12.01 11:47:31 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
    2018.12.01 11:47:31 1: SONOS3: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2018.12.01 11:47:31 1: SONOS2: LongJobs-Thread gestartet. Prüfe auf LongJobs...
    2018.12.01 11:47:31 1: SONOS1: UPnP-Thread gestartet.
    2018.12.01 11:46:32 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2018.12.01 11:46:32 1: SONOS0: ./FHEM/00_SONOS.pm is started by fhem...
    2018.12.01 11:46:31 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...


    Alles Player gehen aber auf appeared...

    reverse Logs!
    Titel: Antw:Sonos steuern
    Beitrag von: Nobby1805 am 01 Dezember 2018, 12:09:34
    Hattest du deine IP-Konfiguration schon beschrieben? 169.254.x.y deutet auf ein DHCP-Problem hin
    Verwenden die Sonos-Komponenten das "normale" WLAN oder die Sonos-Variante?
    Titel: Antw:Sonos steuern
    Beitrag von: dev0 am 01 Dezember 2018, 12:16:58
    Sind Deine Sonos Geräte denn über FHEM erreichbar? Es könnten auch Router, oder Geräte, die ein Routing Advertising Protocol verwenden, sein. Das wurde in diesem Thread auch schon beschrieben...
    Titel: Antw:Sonos steuern
    Beitrag von: JudgeDredd am 02 Dezember 2018, 14:02:49
    Hallo Zusammen,

    heute brauche ich Eure Hilfe für ein Problem, das ich selbst nicht in den Griff bekomme.
    Im Prinzip handelt es sich um die gleiche Problematik wie hier (https://forum.fhem.de/index.php/topic,52493).

    Da dort aber der Modulautor evtl. nicht mitliest und sich auch noch keine finale Lösung zeigte, schreibe ich nun in diesem Thema.

    Versionen sind auf dem aktuellen Stand:
    FHEM rev 17779
    SONOS rev 16658

    Testszenario:
    set <SONOS_DEVICE> PlayURITemp http://sinan.ussakli.net/basstest/silentbreed-syncin.sample10sec.mp3
    (Bei der MP3 Datei handelt es sich um eine x-Beliebige aus dem Netz)

    Die Datei wird erwartungsgemäß abgespielt. Nach einer Pause von ca. 1 Sekunde beginnt die Wiedergabe erneut.
    Dieser Vorgang wiederholt sich bis zum manuell gesendeten STOP.

    Zu Diagnosezwecken, habe ich die Logdateien des Hauptprozesses (main.log) sowie die des Sub-Prozesses (sub.log) als Verbose 5 angehängt.

    Für eine Lösung, einen Denkansatz oder Test eines anderen Benutzers wäre ich sehr dankbar.

    Gruß,
    JudgeDredd

    Titel: Antw:Sonos steuern
    Beitrag von: florian2833 am 27 Dezember 2018, 11:58:19
    Zitat von: l2r am 15 August 2018, 14:09:31
    wie moskito schon sagte, müsste an dem Autosave liegen, da dies ein save ist, welches von FHEM ausgelöst wird und das ist nur bei autosave 1 erlaubt.

    Sollte deine Config mal bei starten auf Fehler laufen, dann kann sein, dass autosave deaktiviert wird und neu gesetzt werden muss.

    letztendlich dient das Save dazu, dass nach einem Neustart von FHEM der gewünschte Wert vom Attribut noch vorhanden ist, da Attributänderungen sonst nicht behalten werden würden.

    Gruß Michael

    Vielen Dank. Das wars. (Besser eine späte rückmeldung als gar keine)

    Die Idee Mit "Presence" und dem Lan pnig funktioniert übrigens nun schon eine ganze zeit völlig Problemlos.

    define RebootSonosDOIF DOIF ([pr_SONOS] eq "present" )(deleteattr MeinSonosDevice disable) (save)
                           DOELSEIF ([[pr_SONOS] eq "absent")(attr MeinSonosDevice disable 1)(save)


    Vielen Dank nochmal an l2r
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 27 Dezember 2018, 12:57:30
    Hallo JudgeDredd,

    PlayURITemp kann nur syntaktisch mit einem Stream umgehen. Inhaltlich gesehen geht das nicht, da Streams von Sonos per Festlegung endlos sind, und nie beendet werden. Streams erkennt Sonos z.B. anhand eines HTTP am Anfang.

    Wird ein Stream beendet (z.B. von der Serverseite aus), dann startet Sonos den einfach neu an, weil es einen Fehler vermutet. Für So etwas wie einen Radiostream ist das ja auch ein erwünschtes Verhalten.
    Das müsste meiner Vermutung nach auch in dem Controller zu sehen sein, wo etwas von "Verbinden..." oder ähnlichem stehen müsste.

    Eine Lösung ist das lokale Ablegen einer MP3-Datei und starten der Wiedergabe mit Dateipfad.

    Auch dort kann es natürlich noch zu Problemen kommen, aber die sind dann anderer Natur...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: JudgeDredd am 31 Dezember 2018, 11:59:25
    Hallo Reinerlein,

    danke für Deine Antwort. Mittlerweile habe ich in den Tiefen dieses Threads schonmal die gleiche Antwort von Dir gefunden.
    Ist ja auch soweit logisch.

    Das Problem bei mir ist allerdings, da alle meine Server und Clients einer Domäne angehören, kann ich einzelne MP3-Dateien nicht auf ein Samba-Share legen, da
    ich in der Konfig die "Security = ads" benötige.

    Ich habe mir nun die node-sonos-http-api (http://"https://github.com/jishi/node-sonos-http-api") installiert, welche ich mittels HTTPMOD-Modul steuere.
    Hier ist es nun möglich direkt aus dem Filesystem eine MP3 als Stream an den SONOS zu schicken.

    Grundsätzlich wäre es mich auch lieber, wenn das mit Deinem Modul möglich wäre. Siehst Du eine Chance, das einzubauen, oder gibt es das schon und ich übersehe es nur ?

    Gruß,
    JudgeDredd
    Titel: Antw:Sonos steuern
    Beitrag von: JoWiemann am 31 Dezember 2018, 12:25:49
    Zitat von: JudgeDredd am 31 Dezember 2018, 11:59:25

    Ich habe mir nun die node-sonos-http-api (http://"https://github.com/jishi/node-sonos-http-api") installiert, welche ich mittels HTTPMOD-Modul steuere.
    Hier ist es nun möglich direkt aus dem Filesystem eine MP3 als Stream an den SONOS zu schicken.

    Hallo JudgeDredd,

    hättest Du Lust das in einem eigenen Thread oder im Wiki zu beschreiben?

    Grüße Jörg
    Titel: Antw:Sonos steuern
    Beitrag von: JudgeDredd am 02 Januar 2019, 22:28:26
    Hallo Jörg,

    so ganz sicher, was genau Du nun wissen möchtest, bin ich mir gerade nicht.
    Geht es Dir um die Installation der "node-sonos-http-api" oder eher um die Steuerung mittels HTTPMOD ?

    Ist eigentlich beides kein grosses Hexenwerk.
    Wenn Du an irgendeiner Stelle nicht weiter kommst, kann ich gerne auf konkrete Probleme eingehen.

    Komplette Anleitungen finde ich gerade bei Linux recht schwierig, da die Systeme doch recht verschieden sind und ich auch nicht
    der klassische Durchschnittsanwender mit PI und Standardinstallation bin.

    Gruß,
    JudgeDredd
    Titel: Antw:Sonos steuern
    Beitrag von: funclass am 04 Januar 2019, 18:23:26
    Hallo und gesundes Neues an alle Mitlesen,

    nehmt es mir bitte nicht übel, wenn ich den 200-seiten Thread nicht komplett durchforstet habe, aber die Suche hat auf meine Frage leider keine passende Antwort geliefert.

    Vor einigen Tagen ist mein Sonos-Setup um eine Beam erweitert worden, nun habe ich mit wiedermal ein wenig mit dem sehr ausführlichen FHEM-Modul befasst. Gibt es eine Möglichkeit (ggf. ein Reading was ich noch nicht gefunden habe) das Eingangssignal der Beam zu checken? Konkret geht es mir darum künftig zu visualisieren, dass gerade 5.1 DolbyDigital abgespielt wird, indem ich z.B. die Status-LED an der Beam aktiviere.
    Ich habe mir in myUtils schon eine kleine Funktion erstellt, die aus dem Reading "currentTrackHandle" den Wert <r:streamInfo>xy</r:streamInfo> extrahiert, da dort scheinbar zu erkennen ist wie viele Kanäle der Stream enthält. Ich will aber ungern für diese "Spielerei" unnötige Events erzeugen. Vielleicht lässt sich ja auch ein neues Reading implementieren, welches gleich die korrekte Bezeichnung mappt.


    sub mySonosStreamType {

    my $xmltext = ReadingsVal("Sonos_Wohnzimmer", "currentTrackHandle", "");
    my $begin = index($xmltext, "<r:streamInfo>");
    my $end = index($xmltext, "</r:streamInfo>");
    my $type = substr($xmltext,$begin+14,$end-$begin-14);
    my $text = "unbekannt";

    # 0 = kein Stream
    # 2 = Stereo
    # 7 = 2.0 DD
    # 18 = 5.1 DD

    if ($type == 0) {
        $text = "Aus";
    } elsif ($type == 2) {
        $text = "Stereo";
    } elsif ($type == 7) {
        $text = "Dolby Digital 2.0";
    } elsif ($type == 18) {
        $text = "Dolby Digital 5.1";
    }
    fhem("setreading Sonos_Wohnzimmer myStreamType $text");
    return;
    }


    Ein notify reagiert aktuell auf Änderungen des currentTrackHandle und schreib mein Reading. Dieses habe ich im StateFormat ergänzt, damit sehe ich direkt womit die Beam grad "befeuert" wird.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 05 Januar 2019, 01:14:55
    Hallo funclass,

    wenn du dir ein Notify sparen möchtest und alles übersichtlich an einem Device haben möchtest, dann mach doch ein UserReading:

    attr Sonos_Wohnzimmer userReadings myStreamType:currentTrackHandle.* { return mySonosStreamType(ReadingsVal($name, "currentTrackHandle", "")); }


    Und deine Sub baust du so um, dass sie das Reading übergeben bekommt, und als Ergebnis deinen StreamType liefert:

    sub mySonosStreamType($) {
            my ($xmltext) = @_;
    my $begin = index($xmltext, "<r:streamInfo>");
    my $end = index($xmltext, "</r:streamInfo>");
    my $type = substr($xmltext,$begin+14,$end-$begin-14);

    # 0 = kein Stream
    # 2 = Stereo
    # 7 = 2.0 DD
    # 18 = 5.1 DD

    if ($type == 0) {
          return 'Aus';
    } elsif ($type == 2) {
          return 'Stereo';
    } elsif ($type == 7) {
          return 'Dolby Digital 2.0';
    } elsif ($type == 18) {
          return 'Dolby Digital 5.1';
    }

    return 'unbekannt';
    }


    Etwas kürzer mit einem regulären Ausdruck (ungetestet :) ):

    sub mySonosStreamType($) {
      my ($xmltext) = @_;

      if ($xmltext =~ m/<r:streamInfo>(\d+)<\/r:streamInfo>/i) {
        if ($1 == 0) {
          return 'Aus';
        } elsif ($1 == 2) {
          return 'Stereo';
        } elsif ($1 == 7) {
          return 'Dolby Digital 2.0';
        } elsif ($1 == 18) {
          return 'Dolby Digital 5.1';
        } else {
          return 'Unbekannt: ' + $1;
        }
      } else {
        return 'Keine Angabe';
      }
    }


    Damit wird dieses Reading "myStreamType" immer dann mit aktualisiert, wenn "currentTrackHandle" aktualisiert wird.

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: funclass am 05 Januar 2019, 11:48:40
    Hallo Reinerlein,

    vielen Dank für die Infos. Hatte es erst mit nem zusätzlichem Userreading versucht und bin gescheitert. Nun weiß ich auch warum, ich hab den Trigger vergessen.  ::)

    Deine verkürzte Variante mit dem RegEx funktioniert super. Ich hab noch ne Prüfung eingebaut, ob der SPDIF-Eingang aktiv ist da die Ausgabe ja nur dann Sinn macht. Ggf. kann das im Wiki ergänzt werden (oder kann ich das selbst?). Hatte vorher am AV-Receiver immer eine kleine Anzeige im Display, das fand ich ganz nett. Mit dieser Lösung bin ich nun wieder glücklich  ;D


    attr Sonos_Wohnzimmer userReadings myStreamType:currentTrackHandle.* { if(ReadingsVal($name, "currentTitle", "") eq "SPDIF-Wiedergabe") {return mySonosStreamType(ReadingsVal($name, "currentTrackHandle", "")); } else { return ""; } }


    VG Christian
    Titel: Antw:Sonos steuern
    Beitrag von: willib am 13 Januar 2019, 19:54:45
    Hallo Zusammen.
    Ich habe ein Problem mit Speak. Nach Jedem Speak erhalte ich folgende Meldung:

    SONOS1: Da keine Endzeit ermittelt werden konnte, wird kein Restoring durchgeführt werden!

    Es sollte ein Radiosender aus meinen Favoriten laufen. Ich höre aber wenn ich die Playtaste drücke natürlich immer nur die letzte FHEM Durchsage.
    Der Sender ist im Moment der Durchsage normalerweise gestoppt.

    siehe auch mein separater Thread:
    https://forum.fhem.de/index.php/topic,95402.msg882307.html#msg882307 (https://forum.fhem.de/index.php/topic,95402.msg882307.html#msg882307)

    Edit:
    Es liegt anscheinend an der MP3 die als Gong vor der Durchsage ausgebe. Laut Wiki müssen die Formate übereinstimmen:
    Achtung!: Die Verkettung der diversen MP3-Dateien erfolgt durch einfaches hintereinanderschreiben. Bei verschiedenen Formaten (Mono oder Stereo, 16kHz oder 22kHz, usw.) funktioniert zwar die Wiedergabe auf dem Sonos-System fehlerfrei, allerdings werden die Zeitinformationen nicht korrekt dargestellt. Um das zu korrigieren, kann man noch nachträglich einen lokal installierten Konverter (z.B. avconv) drüberlaufen lassen. Diesen kann man mit dem Sonos-Device-Attribut targetSpeakMP3FileConverter einstellen (z.B. mit /usr/bin/avconv -i %infile% %outfile%). Dabei ist zu beachten, dass dieser Zeit benötigt und somit die Verzögerung der Durchsage vergrößert.

    Wie bringe ich jetzt meine Gong MP3 mit der Google MP3 in Übereinstimmung wenn ich den lokalen converter nicht nutzen möchte?

    Vielen Dank.
    Titel: Antw:Sonos steuern
    Beitrag von: Hotbird am 22 Januar 2019, 10:43:36
    ich hab seit gestern den SonosSub. Hab auch gleich die IP Adresse unter usedonlyIPs mit reingenommen, trotzdem wird der nicht über das autocreate erstellt. Liegt es daran, dass ich ihn zusammen mit der Beam laufen lasse? In meinem WLAN ist er bisher auch erst einmal aufgetaucht. Besteht da eine andere Verbindung mit dem Sub ( also nicht wie die anderen über das normale WLAN)?


    // Lösung
    Hab den Sub gestern nochmal aus der Raumaufteilung rausgenommen, da wurde er dann auch wieder im WLAN angezeigt. Danach ging die Einbindung in FHEM. 
    Titel: Antw:Sonos steuern
    Beitrag von: l2r am 07 März 2019, 13:37:25
    @Reinerlein: Ich hätte da noch einen kleinen FeatureRequest:

    Ist es möglich an den Playern bei StartFavourite direkt eine DropDown-Liste mit anzubieten, aus der man dann seine Favouriten auswählen kann? Natürlich nur sofern das Reading Favourites auch gefüllt ist?!

    Analog würde das auch für StartPlalist und StartRadio gelten.

    Das ganze von mir aus auch über ein Attribut aktivier/deaktivierbar.

    Danke und Gruß Michael
    Titel: Antw:Sonos steuern
    Beitrag von: Hotbird am 01 April 2019, 19:01:25
    bringt das     
    localhost:4711 120 1 5

    eigentlich noch etwas, wenn man eine Sonosbox per LAN-Kabel angeschlossen hat und auf das interne Wlan umgestellt hat? Die usedonlyIPs hab ich auch noch eingestellt, die werden auch noch in der Fritzbox angezeigt....

    bekomme nämlich immer noch die folgenden Fehlermeldungen

    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6098 thread 1.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6098 thread 1.

    2019.04.01 17:16:25 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...


    Hab mittlerweile öfter das Problem das Sonos auf disconnected steht
    Titel: Antw:Sonos steuern
    Beitrag von: networker am 08 April 2019, 11:17:31
    Hallo Reinerlein
    Kann man beim Sonos Device einstellen das ein Wechsel im state auch ein EVENT erzeugt?

    Gruß Networker
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 13 April 2019, 13:27:35
    Hallo

    Funtioniert die sprachausgabe mit Amazon Polly mit Sonos oder ist nur meine Konfiguration falsch
    defmod Sonos SONOS localhost:4711 120 1 5
    attr Sonos DbLogExclude .*
    attr Sonos Speak1 mp3:sudo /usr/local/bin/aws polly synthesize-speech --output-format mp3 --voice-id Marlene --text '%text%' %filename%
    attr Sonos SubProcessLogfileName ./log/Sonos_SubProcess.log
    attr Sonos room Sonos
    attr Sonos targetSpeakDir /mnt/SonosSpeak
    attr Sonos targetSpeakFileHashCache 1
    attr Sonos targetSpeakFileTimestamp 0
    attr Sonos targetSpeakMP3FileDir /mnt/SonosSpeak
    attr Sonos targetSpeakURL \\192.168.178.95\SonosSpeak
    attr Sonos verbose 3

    Im log ist das zu finden
    SONOS1: Beim Setzen der MP3-Informationen (ID3TagV2) ist ein Fehler aufgetreten: Can't call method "config" on an undefined value at ./FHEM/00_SONOS.pm line 4148.
    SONOS1: Start temporary playing of "\\192.168.178.95\SonosSpeak/RINCON_5CAAFD243CDE01400_MR_Speak_b11fea48be3e22f1d01720c23e35012502b48dbd.mp3"

    Sonos player meldet dies
    PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    Mit nod-red und auf der konsole lassen sich mp3 mit Polly erstellen.

    Andre

    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 05 Juli 2019, 16:21:50
    Hallo Leute,

    bin nun auch stolzer Besitzer eines Sonos 5.1 Systems bestehend aus 1x Beam, 1x Sub und 2x One. :D

    Ich habe mir heute morgen kurz das FHEM-Modul eingerichtet und bin nun etwas erstaunt über die Aktivitäten in meinem Logilfe.

    Zitat von: Hotbird am 01 April 2019, 19:01:25
    bekomme nämlich immer noch die folgenden Fehlermeldungen

    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6098 thread 1.
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6098 thread 1.


    Hab mittlerweile öfter das Problem das Sonos auf disconnected steht

    Ich sehe auch die von dir benannten Errors beim Starten. Im Betrieb scheint es das nicht zu geben.

    Mein Log wird mit vielen Einträgen zugemüllt. Was passiert hier:

    2019.07.05 15:24:22 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 15:24:22 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 15:24:22 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed


    oder hier:

    2019.07.05 14:58:33 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 14:58:33 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnbereich".


    oder hier:

    2019.07.05 15:43:09 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 15:43:09 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich".


    Sorry, falls das Anfängerfragen sind. Habe das System gerade erst gekauft und bin es einfach nicht gewohnt, dass so viel in mein FHEM Logfile geschrieben wird. Hier nochmal das gesamte Logfile seit der Inbetriebnahme heute morgen:

    2019.07.05 08:24:08 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2019.07.05 08:24:08 1: SONOS0: ./FHEM/00_SONOS.pm is started by fhem...
    2019.07.05 08:24:08 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2019.07.05 08:24:16 3: SONOS0: Connection accepted from localhost:57020
    2019.07.05 08:24:17 1: SONOS1: UPnP-Thread gestartet.
    2019.07.05 08:24:17 1: SONOS2: LongJobs-Thread gestartet. Prüfe auf LongJobs...
    2019.07.05 08:24:17 1: SONOS3: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 45 Sekunden...
    2019.07.05 08:24:17 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
    2019.07.05 08:24:17 2: SONOS1: Discover Sonosplayer 'Wohnbereich' (Sub) Software Revision 10.2 with ID 'RINCON_949F3EA6D79201400_MR'
    2019.07.05 08:24:17 1: SONOS1: Successfully autocreated SonosPlayer 'Wohnbereich_SW' (Sub) as 'Sonos_Wohnbereich_SW' with Software Revision 10.2 and ID 'RINCON_949F3EA6D79201400_MR'
    2019.07.05 08:24:18 3: SONOS1: ProxyObject does not exists
    2019.07.05 08:24:18 2: SONOS1: SonosPlayer 'Wohnbereich_SW' is now updated
    2019.07.05 08:24:18 1: SONOS1: Service-subscribing not possible due to missing TransportService
    2019.07.05 08:24:18 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_949F3EA6D79201400_sub0000000045
    2019.07.05 08:24:18 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_949F3EA6D79201400_sub0000000046
    2019.07.05 08:24:18 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_949F3EA6D79201400_sub0000000047
    2019.07.05 08:24:18 3: SONOS1: Discover: End of discover-event for "Wohnbereich".
    2019.07.05 08:24:18 2: SONOS1: Discover Sonosplayer 'Wohnbereich' (S18) Software Revision 10.2 with ID 'RINCON_7828CAF292F801400_MR'
    2019.07.05 08:24:18 1: SONOS1: Successfully autocreated SonosPlayer 'Wohnbereich_RR' (S18) as 'Sonos_Wohnbereich_RR' with Software Revision 10.2 and ID 'RINCON_7828CAF292F801400_MR'
    2019.07.05 08:24:18 3: SONOS1: ProxyObject does not exists
    2019.07.05 08:24:18 2: SONOS1: SonosPlayer 'Wohnbereich_RR' is now updated
    2019.07.05 08:24:18 1: SONOS1: Service-subscribing not possible due to missing TransportService
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6098 thread 1.
    2019.07.05 08:24:18 1: SONOS1: Rendering-Service-subscribing NOT successful:
    2019.07.05 08:24:18 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_7828CAF292F801400_sub0000000019
    2019.07.05 08:24:18 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_7828CAF292F801400_sub0000000020
    2019.07.05 08:24:18 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_7828CAF292F801400_sub0000000021
    2019.07.05 08:24:18 3: SONOS1: Discover: End of discover-event for "Wohnbereich".
    2019.07.05 08:24:18 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:18 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:18 2: SONOS1: Discover Sonosplayer 'Wohnbereich' (S14) Software Revision 10.2 with ID 'RINCON_347E5C97310401400_MR'
    2019.07.05 08:24:18 1: SONOS1: Successfully autocreated SonosPlayer 'Wohnbereich' (S14) as 'Sonos_Wohnbereich' with Software Revision 10.2 and ID 'RINCON_347E5C97310401400_MR'
    2019.07.05 08:24:19 2: SONOS1: SonosPlayer 'Wohnbereich' is now updated
    2019.07.05 08:24:19 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001614
    2019.07.05 08:24:19 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001615
    2019.07.05 08:24:19 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001616
    2019.07.05 08:24:19 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001617
    2019.07.05 08:24:19 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001618
    2019.07.05 08:24:19 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001619
    2019.07.05 08:24:19 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001620
    2019.07.05 08:24:19 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001621
    2019.07.05 08:24:19 3: SONOS1: Discover: End of discover-event for "Wohnbereich".
    2019.07.05 08:24:19 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:19 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:19 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_949F3EA6D79201400_MR' to a new value ~ minVolume = 0
    2019.07.05 08:24:19 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_7828CAF292F801400_MR' to a new value ~ minVolume = 0
    2019.07.05 08:24:19 2: SONOS1: Discover Sonosplayer 'Wohnbereich' (S18) Software Revision 10.2 with ID 'RINCON_7828CAF293E401400_MR'
    2019.07.05 08:24:19 1: SONOS1: Successfully autocreated SonosPlayer 'Wohnbereich_LR' (S18) as 'Sonos_Wohnbereich_LR' with Software Revision 10.2 and ID 'RINCON_7828CAF293E401400_MR'
    2019.07.05 08:24:19 3: SONOS1: ProxyObject does not exists
    2019.07.05 08:24:19 2: SONOS1: SonosPlayer 'Wohnbereich_LR' is now updated
    2019.07.05 08:24:19 1: SONOS1: Service-subscribing not possible due to missing TransportService
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6098 thread 1.
    2019.07.05 08:24:19 1: SONOS1: Rendering-Service-subscribing NOT successful:
    2019.07.05 08:24:19 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_7828CAF293E401400_sub0000000021
    2019.07.05 08:24:19 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_7828CAF293E401400_sub0000000022
    2019.07.05 08:24:19 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_7828CAF293E401400_sub0000000023
    2019.07.05 08:24:19 3: SONOS1: Discover: End of discover-event for "Wohnbereich".
    2019.07.05 08:24:19 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:19 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:19 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_347E5C97310401400_MR' to a new value ~ minVolume = 0
    2019.07.05 08:24:19 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:19 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:19 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_7828CAF293E401400_MR' to a new value ~ minVolume = 0
    2019.07.05 08:24:19 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:19 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:19 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:19 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:19 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:19 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:19 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:19 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:19 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:19 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:19 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:19 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:19 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:19 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:19 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:19 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:19 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:19 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:19 3: SONOS1: Event: Received MusicServices-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: End of MusicServices-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: ContainerUpdateIDs: Q:0,108
    2019.07.05 08:24:36 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: Received MusicServices-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: End of MusicServices-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: ContainerUpdateIDs: Q:0,108
    2019.07.05 08:24:36 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:36 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:36 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:36 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:36 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:36 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:36 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:36 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:36 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:36 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:36 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:36 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:36 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:39 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:39 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:40 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:40 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:24:40 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:40 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:40 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:40 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:24:40 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:40 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:40 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:40 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:40 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:40 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:24:40 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:24:40 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:29:45 2: SONOS1: Discover Sonosplayer 'Wohnbereich' (S18) Software Revision 10.2 with ID 'RINCON_7828CAF293E401400_MR'
    2019.07.05 08:29:45 2: SONOS1: SonosPlayer 'Wohnbereich_LR' (S18) with ID 'RINCON_7828CAF293E401400_MR' is already defined (as 'Sonos_Wohnbereich_LR') and will only be updated
    2019.07.05 08:29:45 3: SONOS1: ProxyObject does not exists
    2019.07.05 08:29:45 2: SONOS1: SonosPlayer 'Wohnbereich_LR' is now updated
    2019.07.05 08:29:45 1: SONOS1: Service-subscribing not possible due to missing TransportService
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6098 thread 1.
    2019.07.05 08:29:45 1: SONOS1: Rendering-Service-subscribing NOT successful:
    2019.07.05 08:29:45 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_7828CAF293E401400_sub0000000024
    2019.07.05 08:29:45 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_7828CAF293E401400_sub0000000025
    2019.07.05 08:29:45 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_7828CAF293E401400_sub0000000026
    2019.07.05 08:29:45 3: SONOS1: Discover: End of discover-event for "Wohnbereich".
    2019.07.05 08:29:45 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:29:45 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:29:45 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:29:45 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:29:45 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:29:45 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:34:53 2: SONOS1: Discover Sonosplayer 'Wohnbereich' (S14) Software Revision 10.2 with ID 'RINCON_347E5C97310401400_MR'
    2019.07.05 08:34:54 2: SONOS1: SonosPlayer 'Wohnbereich' (S14) with ID 'RINCON_347E5C97310401400_MR' is already defined (as 'Sonos_Wohnbereich') and will only be updated
    2019.07.05 08:34:54 2: SONOS1: SonosPlayer 'Wohnbereich' is now updated
    2019.07.05 08:34:54 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001622
    2019.07.05 08:34:54 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001623
    2019.07.05 08:34:54 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001624
    2019.07.05 08:34:54 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001625
    2019.07.05 08:34:54 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001626
    2019.07.05 08:34:54 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001627
    2019.07.05 08:34:54 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001628
    2019.07.05 08:34:54 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001629
    2019.07.05 08:34:54 3: SONOS1: Discover: End of discover-event for "Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 2: SONOS1: Discover Sonosplayer 'Wohnbereich' (S14) Software Revision 10.2 with ID 'RINCON_347E5C97310401400_MR'
    2019.07.05 08:34:54 2: SONOS1: SonosPlayer 'Wohnbereich' (S14) with ID 'RINCON_347E5C97310401400_MR' is already defined (as 'Sonos_Wohnbereich') and will only be updated
    2019.07.05 08:34:54 2: SONOS1: SonosPlayer 'Wohnbereich' is now updated
    2019.07.05 08:34:54 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001630
    2019.07.05 08:34:54 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001631
    2019.07.05 08:34:54 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001632
    2019.07.05 08:34:54 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001633
    2019.07.05 08:34:54 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001634
    2019.07.05 08:34:54 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001635
    2019.07.05 08:34:54 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001636
    2019.07.05 08:34:54 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_347E5C97310401400_sub0000001637
    2019.07.05 08:34:54 3: SONOS1: Discover: End of discover-event for "Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: Received MusicServices-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: End of MusicServices-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: Received ContentDirectory-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: ContainerUpdateIDs: Q:0,108
    2019.07.05 08:34:54 3: SONOS1: Event: End of ContentDirectory-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: Received Rendering-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: End of Rendering-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:54 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:55 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:55 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:55 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:55 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:34:55 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnbereich".
    2019.07.05 08:36:33 2: SONOS1: Discover Sonosplayer 'Wohnbereich' (Sub) Software Revision 10.2 with ID 'RINCON_949F3EA6D79201400_MR'
    2019.07.05 08:36:33 2: SONOS1: SonosPlayer 'Wohnbereich_SW' (Sub) with ID 'RINCON_949F3EA6D79201400_MR' is already defined (as 'Sonos_Wohnbereich_SW') and will only be updated
    2019.07.05 08:36:33 3: SONOS1: ProxyObject does not exists
    2019.07.05 08:36:33 2: SONOS1: SonosPlayer 'Wohnbereich_SW' is now updated
    2019.07.05 08:36:33 1: SONOS1: Service-subscribing not possible due to missing TransportService
    2019.07.05 08:36:33 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_949F3EA6D79201400_sub0000000048
    2019.07.05 08:36:33 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_949F3EA6D79201400_sub0000000049
    2019.07.05 08:36:33 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_949F3EA6D79201400_sub0000000050
    2019.07.05 08:36:33 3: SONOS1: Discover: End of discover-event for "Wohnbereich".
    2019.07.05 08:36:33 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:36:33 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:36:33 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:36:33 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:36:33 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:36:33 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:37:34 2: SONOS1: Discover Sonosplayer 'Wohnbereich' (S18) Software Revision 10.2 with ID 'RINCON_7828CAF292F801400_MR'
    2019.07.05 08:37:35 2: SONOS1: SonosPlayer 'Wohnbereich_RR' (S18) with ID 'RINCON_7828CAF292F801400_MR' is already defined (as 'Sonos_Wohnbereich_RR') and will only be updated
    2019.07.05 08:37:35 3: SONOS1: ProxyObject does not exists
    2019.07.05 08:37:35 2: SONOS1: SonosPlayer 'Wohnbereich_RR' is now updated
    2019.07.05 08:37:35 1: SONOS1: Service-subscribing not possible due to missing TransportService
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6098 thread 1.
    2019.07.05 08:37:35 1: SONOS1: Rendering-Service-subscribing NOT successful:
    2019.07.05 08:37:35 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_7828CAF292F801400_sub0000000022
    2019.07.05 08:37:35 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_7828CAF292F801400_sub0000000023
    2019.07.05 08:37:35 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_7828CAF292F801400_sub0000000024
    2019.07.05 08:37:35 3: SONOS1: Discover: End of discover-event for "Wohnbereich".
    2019.07.05 08:37:35 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:37:35 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:37:35 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:37:35 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:37:35 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:37:35 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:42:45 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:42:45 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:42:45 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:42:45 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:42:46 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:42:46 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:42:46 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:42:46 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:42:47 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:42:47 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:42:47 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:42:47 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:02 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:02 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:03 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:03 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:06 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:06 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:06 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:06 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:07 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:07 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:07 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:07 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:12 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:12 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:12 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:12 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:16 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:16 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:16 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:16 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:17 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:17 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:17 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:17 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:22 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:22 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:22 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:22 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 08:43:26 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:26 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:26 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:26 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 08:43:27 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:27 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:27 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 08:43:27 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:24:10 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: GroupRendering-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: ContentDirectory-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: MusicServices-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 09:24:10 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 09:42:42 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:42:42 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:42:42 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:42:42 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:42:45 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:42:45 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:42:45 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:42:45 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:42:48 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:42:48 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:42:48 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:42:48 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:02 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:02 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:02 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:02 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:05 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:05 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:05 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:05 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:08 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:08 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:08 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:08 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:12 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:12 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:12 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:12 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:15 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:15 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:15 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:15 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:18 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:18 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:18 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:18 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:22 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:22 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:22 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:22 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 09:43:25 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:25 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:25 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:25 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 09:43:28 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:28 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:28 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:43:28 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 09:54:11 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: GroupRendering-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: ContentDirectory-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: MusicServices-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 09:54:11 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: GroupRendering-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: ContentDirectory-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: MusicServices-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 10:24:12 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 10:42:43 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:42:43 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:42:43 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:42:43 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:42:45 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:42:45 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:42:45 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:42:45 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:42:47 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:42:47 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:42:47 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:42:47 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:03 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:03 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:03 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:03 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:05 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:05 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:05 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:05 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:07 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:07 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:08 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:08 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:13 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:13 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:13 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:13 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:15 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:15 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:15 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:15 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:17 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:17 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:17 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:17 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:23 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:23 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:23 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:23 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 10:43:25 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:25 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:25 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:25 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 10:43:27 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:27 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:27 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:43:27 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 10:54:13 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: GroupRendering-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: ContentDirectory-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: MusicServices-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 10:54:13 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: GroupRendering-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: ContentDirectory-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: MusicServices-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 11:24:14 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_7828CAF293E401400_MR" has expired and is now renewed.
    2019.07.05 11:42:43 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:42:43 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:42:43 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:42:43 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:42:45 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:42:45 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:42:45 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:42:45 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:42:49 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:42:49 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:42:49 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:42:49 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:02 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:02 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:02 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:02 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:03 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:03 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:03 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:03 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:05 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:05 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:05 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:05 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:09 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:09 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:09 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:09 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:13 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:13 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:13 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:13 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:15 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:15 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:15 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:15 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:19 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:19 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:19 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:19 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:23 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:23 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:23 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:23 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_RR".
    2019.07.05 11:43:25 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:25 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:25 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:25 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_SW".
    2019.07.05 11:43:29 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:29 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:29 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:43:29 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Wohnbereich_LR".
    2019.07.05 11:54:15 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 11:54:15 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 11:54:15 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_949F3EA6D79201400_MR" has expired and is now renewed.
    2019.07.05 11:54:15 3: SONOS1: Alarm-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 11:54:15 3: SONOS1: ZoneGroupTopology-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 11:54:15 3: SONOS1: DeviceProperties-Subscription for ZonePlayer "RINCON_7828CAF292F801400_MR" has expired and is now renewed.
    2019.07.05 11:54:15 3: SONOS1: Transport-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.
    2019.07.05 11:54:15 3: SONOS1: Rendering-Subscription for ZonePlayer "RINCON_347E5C97310401400_MR" has expired and is now renewed.


    So geht das die ganze Zeit immer weiter. Kann mal bitte jemand mit etwas Erfahrung drüber schauen und mir bestätigen, ob das so normal ist oder nicht.

    Danke euch und viele Grüße Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 05 Juli 2019, 16:34:28
    Hi,

    ich betreibe es mit attr Sonos verbose 1damit  ist es ruhig.
    Steht so auch im Wiki.
    Wobei ich gerade gesehen habe, dass das Wiki an der Stelle etwas gruselig "alt" ist.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 05 Juli 2019, 17:04:54
    Zitat von: Otto123 am 05 Juli 2019, 16:34:28
    Steht so auch im Wiki.
    Wobei ich gerade gesehen habe, dass das Wiki an der Stelle etwas gruselig "alt" ist.

    OK, wie immer. Wer lesen kann, ist klar im Vorteil. Was genau meinst du mit "gruselig alt"?

    Habe das verbose level gerade mal auf 1 heruntergschraubt. Beim Starten bleibt dann noch folgendes übrig:

    2019.07.05 16:55:51 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2019.07.05 16:55:51 1: SONOS0: ./FHEM/00_SONOS.pm is started by fhem...
    2019.07.05 16:55:51 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2019.07.05 16:56:00 1: SONOS1: UPnP-Thread gestartet.
    2019.07.05 16:56:00 1: SONOS2: LongJobs-Thread gestartet. Prüfe auf LongJobs...
    2019.07.05 16:56:00 1: SONOS3: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2019.07.05 16:56:00 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
    2019.07.05 16:56:01 1: SONOS1: Service-subscribing not possible due to missing TransportService
    2019.07.05 16:56:02 1: SONOS1: Service-subscribing not possible due to missing TransportService
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6098 thread 1.
    2019.07.05 16:56:02 1: SONOS1: Rendering-Service-subscribing NOT successful:
    2019.07.05 16:56:02 1: SONOS1: Service-subscribing not possible due to missing TransportService
    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6098 thread 1.
    2019.07.05 16:56:02 1: SONOS1: Rendering-Service-subscribing NOT successful:


    Das die Meldungen "missing TransportService" wahrscheinlich normal sind, habt ihr mir hier bereits mitgeteilt: https://forum.fhem.de/index.php/topic,94099.msg955647.html#msg955647

    Bei mir taucht das ja auch nur beim Starten auf. Dann bleibt noch die folgende Meldung:

    Subscription request failed with error: 500 Internal Server Error at ./FHEM/00_SONOS.pm line 6098 thread 1.

    Das gehört dann wahrscheinlich irgendwie zum TransportService, oder?

    Das hatte ich auch hier gefragt: https://forum.fhem.de/index.php/topic,78973.msg955490.html#msg955490

    Danke euch nochmal und viele Grüße Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 05 Juli 2019, 17:31:49
    Naja solche Sätze:
    ZitatIn neueren Versionen von FHEM werden die Konsolen-Logausgaben in das FHEMlog umgeleitet.
    sind scheinbar noch aus 2013 :)
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 05 Juli 2019, 17:37:40
    Oha, stimmt. Das muss schon ganz schön lange her sein... [emoji2]
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 07 Juli 2019, 12:56:14
    Hallo zusammen,

    ich habe bislang ein DOIF funktionierend gehabt, welches bei einem Überschreiten einer Lautstärke-Schwelle eines Players automatisch diesen Player wieder abgesenkt hat:


    def DOIF_Volume_Max DOIF ([Sonos_Kind:Volume] > 55) (set Sonos_Kind Volume 25)
    attr DOIF_Volume_Max do always


    Im entsprechenden Sonos_Device ist das attribut event-on-change-reading gesetzt mit den Parametern state,transportState,Volume .

    Heute ist mir durch Zufall aufgefallen, dass durch das Sonos-Device gar kein Event mehr getriggert wird, wenn das Volume am Player sich verändert - insofern kann natürlich auch das DOIF nicht mehr reagieren.

    Wurde etwas intern im Modul verändert, dass das Attribut event-on-change-reading nicht mehr beachtet wird?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 07 Juli 2019, 13:11:47
    Hallo Ralli,

    schau mal hier: https://forum.fhem.de/index.php/topic,94055.msg867436.html#msg867436

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 07 Juli 2019, 13:51:04
    Hallo Otto,

    vielen lieben Dank für diesen wertvollen Tipp - das war mir durchgegangen.

    Nach dem Aktivieren des Attributes musste ich nochmal das Sonos-Modul neu starten, nun klappt's (wieder).

    Danke!
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 08 Juli 2019, 15:34:59
    Hat hier eigentlich noch jemand netdata auf seinem FHEM Server laufen?

    Damit bekommt man sich wirklich schöne Grafiken/Plots zu seinem System anzeigen lassen.

    Ich hatte nun das Problem, dass ich seit ich das Sonos-Modul in Betrieb hatte, Unmengen an UDP Errors hatte. Netdata hat mir dies direkt nach Aktivierung des Sonos-Moduls per Email geschickt. Sobald ich das Sonos-Modul wieder entfernt habe, kam von netdata die Erfolgsmeldung, dass alles wieder in Ordnung ist.

    Die netdata Emails zu den UDP Errors sehen wie folgt aus:

    Zitatnetdata notification

    omv4 needs attention

    ipv4.udperrors

    1m ipv4 udp receive buffer errors = 3 errors

    number of UDP receive buffer errors during the last minute
    ALARM

    udp
    FAMILY

    WARNING
    SEVERITY

    Mon Jul 8 11:02:34 CEST 2019
    TIME

    $this > 0
    EVALUATED EXPRESSION

    [ $this = 2.9999999 ]
    EXPRESSION VARIABLES

    The host has 1 WARNING and 0 CRITICAL alarm(s) raised.

    Zitatnetdata notification

    omv4 is critical

    ipv4.udperrors
    CHART

    1m ipv4 udp receive buffer errors = 140.3 errors
    number of UDP receive buffer errors during the last minute
    ALARM

    udp
    FAMILY

    Escalated to CRITICAL
    SEVERITY

    Mon Jul 8 11:13:14 CEST 2019
    (was warning for 20 seconds)
    TIME

    $this > (($status == $CRITICAL) ? (0) : (100))
    EVALUATED EXPRESSION

    [ $this = 140.3346593 ] [ $status = 3 ] [ $CRITICAL = 4 ]
    EXPRESSION VARIABLES

    The host has 1 WARNING and 1 CRITICAL alarm(s) raised.

    Sonst waren auf dem System keinerlei Fehler oder Schwergang festzustellen. Mein System sollte mit einem XEON-Prozessor und 64GB RAM performant genug sein. Nachdem ich diesen Beitrag bei github gefunden habe und die dort gepostete Config auf mein System übertragen habe, waren die udp Errors nach einem Reboot dann sofort weg:

    https://github.com/netdata/netdata/issues/1076#issuecomment-509214247

    Hat hier noch jemand netdata im Einsatz? Kann das mal jemand validieren? Möchte gern wissen, ob das ein für mein System spezifisches Problem ist/war, oder es hier nur noch niemand bemerkt hat. ;) Wer Docker im Einsatz hat, kann das relativ einfach installieren/konfigurieren.

    Wie gesagt, trotz der UDP Errors gab es keine Einschränkungen am System.

    Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Udomatic am 19 Juli 2019, 22:07:14
    Ich möchte gerne meiner Sonos Zeitschaltuhr noch eine voreingestellte Lautstärke mitgeben

    Das habe ich leider ohne Erfolg versucht:
    *06:30:00 {if (!($we)) {fhem ("set Sonos_Kueche StartFavourite hr3 Volume 8")}}

    Auch das:
    *06:30:00 {if (!($we)) {fhem ("set Sonos_Kueche Volume 8 StartFavourite hr3")}}

    Hat jemand ein Tipp, wie es funktioniert?

    Gruß
    Udo
    Titel: Antw:Sonos steuern
    Beitrag von: JudgeDredd am 19 Juli 2019, 23:27:22
    Wie wäre es mit zwei separaten Befehlen ?

    *06:30:00 {if (!($we)) {fhem ("set Sonos_Kueche Volume 8; set Sonos_Kueche StartFavourite hr3;")}}
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 19 Juli 2019, 23:39:38
    Manchmal machen mehrere Befehle nacheinander zu Sonos Probleme, dann hilft noch ein sleep xx dazwischen.
    Ich bin nicht sicher wie das bei Volume ist, kann sein das geht ohne.
    Titel: Antw:Sonos steuern
    Beitrag von: Udomatic am 20 Juli 2019, 00:09:41
    Zitat von: JudgeDredd am 19 Juli 2019, 23:27:22
    Wie wäre es mit zwei separaten Befehlen ?

    *06:30:00 {if (!($we)) {fhem ("set Sonos_Kueche Volume 8; set Sonos_Kueche StartFavourite hr3;")}}

    Das funktioniert in der Konsole:
    set Sonos_Kueche Volume 8; set Sonos_Kueche StartFavourite hr3

    Dann wollte ich es schön verpacken
    define SonosKueche at *07:30:00 {if ($we) {fhem ("set Sonos_Kueche Volume 12;  set Sonos_Kueche StartFavourite hr3")}}


    Und es kommt die Meldung

    Can't find string terminator '"' anywhere before EOF at (eval 6017458) line 1.

    Irgendwie is zu spät für mich :-(
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 20 Juli 2019, 00:10:56
    beim define (also in der FHEM Kommando Zeile) immer zwei ; nehmen! ;)
    https://commandref.fhem.de/#command
    Titel: Antw:Sonos steuern
    Beitrag von: Udomatic am 20 Juli 2019, 00:17:16
    Zitat von: Otto123 am 20 Juli 2019, 00:10:56
    beim define (also in der FHEM Kommando Zeile) immer zwei ; nehmen! ;)
    https://commandref.fhem.de/#command

    Danke Otto, du hast mir den Schlaf gerettet und jetzt mache ich 2 Augen zu :-)
    Titel: Antw:Sonos steuern
    Beitrag von: terkens am 06 Oktober 2019, 21:39:22
    Ist eigentlich geplant das Modul um die Unterstützung von Audible-Hörbüchern zu erweitern? Die werden ja leider anders gehandhabt als alles andere. Es ist nicht möglich Hörbücher einer Playlist hinzuzufügen und in den Favoriten tauchen die in einer eigenen Rubrik Hörbücher auf. Im Modul werde diese mit getFavourite nicht angezeigt. Somit gibt es keine Möglichkeit über das Modul ein Audible-Hörbuch zu starten. Ich kann mir eigentlich nicht vorstellen, dass ich der einzige bin den das interessiert, allerdings habe ich in der Forumssuche auch nichts zu dem Thema gefunden.

    Gruß
    Tom
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 25 Oktober 2019, 08:18:34
    Das Log ist in letzter Zeit voll von diesen Einträgen:

    2019.10.25 07:38:51 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:38:51 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:38:56 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:38:56 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:39:11 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:39:11 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:39:16 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:39:16 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:39:35 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:39:35 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:39:40 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:39:40 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:39:51 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:39:51 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:39:56 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:39:56 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:40:12 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:40:12 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:40:16 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:40:16 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:40:32 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:40:32 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:40:37 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:40:37 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:40:52 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:40:53 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:40:58 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:40:59 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:41:12 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:41:13 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.10.25 07:41:17 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2019.10.25 07:41:18 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".


    Was hat es damit auf sich, und kann man die irgendwie abstellen?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 25 Oktober 2019, 09:04:59
    attr Sonos verbose 1
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 09 November 2019, 13:48:52
    Ich habe momentan massive Probleme mit dem Sonos-Modul, nun kam ein neues hinzu, das sich hoffentlich lösen lässt. Ich habe zur Sicherheit alle Devices mit "delete Sonos.*" gelöscht, neu gestartet und ein "define Sonos SONOS" ausgeführt. Ein paar Minuten lang sehen die Player gut aus, dann passiert das:

    2019.11.09 13:44:28 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 1573303348.11982 ~ 2019-11-09 13:42:28)... try to restart the process and connection...
    2019.11.09 13:44:29 3: SONOS0: Disconnecting client and shutdown server...
    2019.11.09 13:44:29 3: SONOS0: Trying to kill Sonos_Thread...
    2019.11.09 13:44:29 3: SONOS0: Trying to kill LongJobs_Thread...
    2019.11.09 13:44:29 3: SONOS0: Trying to kill IsAlive_Thread...
    2019.11.09 13:44:29 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2019.11.09 13:44:29 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    Titel: Antw:Sonos steuern
    Beitrag von: Udomatic am 09 November 2019, 14:26:34
    Zitat von: dantist am 09 November 2019, 13:48:52
    Ich habe momentan massive Probleme mit dem Sonos-Modul, nun kam ein neues hinzu, das sich hoffentlich lösen lässt. Ich habe zur Sicherheit alle Devices mit "delete Sonos.*" gelöscht, neu gestartet und ein "define Sonos SONOS" ausgeführt. Ein paar Minuten lang sehen die Player gut aus, dann passiert das:

    2019.11.09 13:44:28 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 1573303348.11982 ~ 2019-11-09 13:42:28)... try to restart the process and connection...
    2019.11.09 13:44:29 3: SONOS0: Disconnecting client and shutdown server...
    2019.11.09 13:44:29 3: SONOS0: Trying to kill Sonos_Thread...
    2019.11.09 13:44:29 3: SONOS0: Trying to kill LongJobs_Thread...
    2019.11.09 13:44:29 3: SONOS0: Trying to kill IsAlive_Thread...
    2019.11.09 13:44:29 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2019.11.09 13:44:29 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...



    Hast du deinen Sonos feste IP Adressen zugewiesen und diese im Sonos Device definiert?
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 09 November 2019, 16:59:11
    Zitat von: Udomatic am 09 November 2019, 14:26:34

    Hast du deinen Sonos feste IP Adressen zugewiesen und diese im Sonos Device definiert?

    Die Player haben alle feste IPs, hat auch jahrelang problemlos funktioniert. Mit im Sonos Device definiert meinst du unter "usedonlyIPs"?
    Titel: Antw:Sonos steuern
    Beitrag von: dantist am 09 November 2019, 19:06:44
    @Reinerlein Ich brauche die Hilfe des Großmeisters. Seit zwei Wochen macht mich das Sonos-Problem verrückt (https://forum.fhem.de/index.php/topic,104771.msg988670.html). Ständig beendet sich der Prozess, und wenn er läuft, bringt er FHEM oft komplett zum Stillstand. FHEM ist aktuell und läuft auf einem frischen Raspbian Buster.

    Folgendes habe ich bereits versucht:

    - useonlyIPs, um den Prozess auf die Sonos-Player zu beschränken
    - UPnP auf der Fritzbox deaktiviert
    - Anderen Player bei Kabel ins LAN gehängt
    - Vor jedem Test Sonos komplett aus FHEM gelöscht, neu angelegt und den RPi neu gestartet

    Hier ist der komplette Output, wenn ich nach einem RPI-Neustart Sonos frisch anlege. Ich hoffe, du hast irgendeine Idee oder kannst mir sagen, wie wir das Problem gemeinsam debuggen können.

    2019.11.09 18:57:18 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 8 Sekunde(n) darauf...
    2019.11.09 18:57:20 1: SONOS0: ./FHEM/00_SONOS.pm is started by fhem...
    2019.11.09 18:57:20 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2019.11.09 18:57:27 3: Opening Sonos device localhost:4711
    2019.11.09 18:57:27 3: SONOS0: Connection accepted from localhost:55258
    2019.11.09 18:57:27 3: Sonos device opened
    2019.11.09 18:57:28 1: SONOS1: UPnP-Thread gestartet.
    2019.11.09 18:57:28 2: SONOS1: Discover Sonosplayer 'Küche' (S1) Software Revision 10.5 with ID 'RINCON_B8E9375542B401400_MR'
    2019.11.09 18:57:28 1: SONOS2: LongJobs-Thread gestartet. Prüfe auf LongJobs...
    2019.11.09 18:57:28 1: SONOS3: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2019.11.09 18:57:28 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
    2019.11.09 18:57:29 1: SONOS1: Successfully autocreated SonosPlayer 'Kueche_RF' (S1) as 'Sonos_Kueche_RF' with Software Revision 10.5 and ID 'RINCON_B8E9375542B401400_MR'
    2019.11.09 18:57:29 2: SONOS1: SonosPlayer 'Kueche_RF' is now updated
    2019.11.09 18:57:29 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_B8E9375542B401400_sub0000000022
    2019.11.09 18:57:29 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_B8E9375542B401400_sub0000000023
    2019.11.09 18:57:29 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_B8E9375542B401400_sub0000000024
    2019.11.09 18:57:29 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_B8E9375542B401400_sub0000000025
    2019.11.09 18:57:29 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_B8E9375542B401400_sub0000000026
    2019.11.09 18:57:29 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_B8E9375542B401400_sub0000000027
    2019.11.09 18:57:29 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_B8E9375542B401400_sub0000000028
    2019.11.09 18:57:29 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_B8E9375542B401400_sub0000000029
    2019.11.09 18:57:29 3: SONOS1: Discover: End of discover-event for "Küche".
    2019.11.09 18:57:29 2: SONOS1: Discover Sonosplayer 'Küche' (S1) Software Revision 10.5 with ID 'RINCON_B8E937544FD201400_MR'
    2019.11.09 18:57:30 1: SONOS1: Successfully autocreated SonosPlayer 'Kueche' (S1) as 'Sonos_Kueche' with Software Revision 10.5 and ID 'RINCON_B8E937544FD201400_MR'
    2019.11.09 18:57:30 2: SONOS1: SonosPlayer 'Kueche' is now updated
    2019.11.09 18:57:30 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_B8E937544FD201400_sub0000000032
    2019.11.09 18:57:30 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_B8E937544FD201400_sub0000000033
    2019.11.09 18:57:30 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_B8E937544FD201400_sub0000000034
    2019.11.09 18:57:30 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_B8E937544FD201400_sub0000000035
    2019.11.09 18:57:30 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_B8E937544FD201400_sub0000000036
    2019.11.09 18:57:30 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_B8E937544FD201400_sub0000000037
    2019.11.09 18:57:30 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_B8E937544FD201400_sub0000000038
    2019.11.09 18:57:30 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_B8E937544FD201400_sub0000000039
    2019.11.09 18:57:30 3: SONOS1: Discover: End of discover-event for "Küche".
    2019.11.09 18:57:30 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Kueche_RF".
    2019.11.09 18:57:30 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Kueche_RF".
    2019.11.09 18:57:30 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_B8E9375542B401400_MR' to a new value ~ minVolume = 0
    2019.11.09 18:57:30 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_B8E937544FD201400_MR' to a new value ~ minVolume = 0
    2019.11.09 18:57:30 2: SONOS1: Discover Sonosplayer 'Flur' (S1) Software Revision 10.5 with ID 'RINCON_B8E937B7B86401400_MR'
    2019.11.09 18:57:31 1: SONOS1: Successfully autocreated SonosPlayer 'Flur' (S1) as 'Sonos_Flur' with Software Revision 10.5 and ID 'RINCON_B8E937B7B86401400_MR'
    2019.11.09 18:57:31 2: SONOS1: SonosPlayer 'Flur' is now updated
    2019.11.09 18:57:31 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_B8E937B7B86401400_sub0000000074
    2019.11.09 18:57:31 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B86401400_sub0000000075
    2019.11.09 18:57:31 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B86401400_sub0000000076
    2019.11.09 18:57:31 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B86401400_sub0000000077
    2019.11.09 18:57:31 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B86401400_sub0000000078
    2019.11.09 18:57:31 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B86401400_sub0000000079
    2019.11.09 18:57:31 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B86401400_sub0000000080
    2019.11.09 18:57:31 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B86401400_sub0000000081
    2019.11.09 18:57:31 3: SONOS1: Discover: End of discover-event for "Flur".
    2019.11.09 18:57:31 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Kueche".
    2019.11.09 18:57:31 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Kueche".
    2019.11.09 18:57:31 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_B8E937B7B86401400_MR' to a new value ~ minVolume = 0
    2019.11.09 18:57:31 2: SONOS1: Discover Sonosplayer 'Lukas' (S1) Software Revision 10.5 with ID 'RINCON_B8E937E0533001400_MR'
    2019.11.09 18:57:32 3: sonostest return value: 1
    2019.11.09 18:57:32 1: SONOS1: Successfully autocreated SonosPlayer 'Lukas' (S1) as 'Sonos_Lukas' with Software Revision 10.5 and ID 'RINCON_B8E937E0533001400_MR'
    2019.11.09 18:57:32 2: SONOS1: SonosPlayer 'Lukas' is now updated
    2019.11.09 18:57:32 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_B8E937E0533001400_sub0000000071
    2019.11.09 18:57:32 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_B8E937E0533001400_sub0000000072
    2019.11.09 18:57:32 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_B8E937E0533001400_sub0000000073
    2019.11.09 18:57:32 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_B8E937E0533001400_sub0000000074
    2019.11.09 18:57:32 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_B8E937E0533001400_sub0000000075
    2019.11.09 18:57:32 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_B8E937E0533001400_sub0000000076
    2019.11.09 18:57:32 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_B8E937E0533001400_sub0000000077
    2019.11.09 18:57:32 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_B8E937E0533001400_sub0000000078
    2019.11.09 18:57:32 3: SONOS1: Discover: End of discover-event for "Lukas".
    2019.11.09 18:57:32 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Kueche_RF".
    2019.11.09 18:57:32 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Kueche_RF".
    2019.11.09 18:57:33 2: SONOS1: Discover Sonosplayer 'Schlafzimmer' (S1) Software Revision 10.5 with ID 'RINCON_B8E937B7B8B201400_MR'
    2019.11.09 18:57:33 1: SONOS1: Successfully autocreated SonosPlayer 'Schlafzimmer' (S1) as 'Sonos_Schlafzimmer' with Software Revision 10.5 and ID 'RINCON_B8E937B7B8B201400_MR'
    2019.11.09 18:57:34 2: SONOS1: SonosPlayer 'Schlafzimmer' is now updated
    2019.11.09 18:57:34 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_B8E937B7B8B201400_sub0000000071
    2019.11.09 18:57:34 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B8B201400_sub0000000072
    2019.11.09 18:57:34 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B8B201400_sub0000000073
    2019.11.09 18:57:34 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B8B201400_sub0000000074
    2019.11.09 18:57:34 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B8B201400_sub0000000075
    2019.11.09 18:57:34 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B8B201400_sub0000000076
    2019.11.09 18:57:34 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B8B201400_sub0000000077
    2019.11.09 18:57:34 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_B8E937B7B8B201400_sub0000000078
    2019.11.09 18:57:34 3: SONOS1: Discover: End of discover-event for "Schlafzimmer".
    2019.11.09 18:57:34 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Flur".
    2019.11.09 18:57:34 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Flur".
    2019.11.09 18:57:34 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_B8E937E0533001400_MR' to a new value ~ minVolume = 0
    2019.11.09 18:57:34 2: SONOS1: Discover Sonosplayer 'Bad' (S12) Software Revision 10.5 with ID 'RINCON_949F3E0918F601400_MR'
    2019.11.09 18:57:34 1: SONOS1: Successfully autocreated SonosPlayer 'Bad' (S12) as 'Sonos_Bad' with Software Revision 10.5 and ID 'RINCON_949F3E0918F601400_MR'
    2019.11.09 18:57:35 2: SONOS1: SonosPlayer 'Bad' is now updated
    2019.11.09 18:57:35 2: SONOS1: Service-subscribing successful with SID=uuid:RINCON_949F3E0918F601400_sub0000000071
    2019.11.09 18:57:35 2: SONOS1: Rendering-Service-subscribing successful with SID=uuid:RINCON_949F3E0918F601400_sub0000000072
    2019.11.09 18:57:35 2: SONOS1: GroupRendering-Service-subscribing successful with SID=uuid:RINCON_949F3E0918F601400_sub0000000073
    2019.11.09 18:57:35 2: SONOS1: ContentDirectory-Service-subscribing successful with SID=uuid:RINCON_949F3E0918F601400_sub0000000074
    2019.11.09 18:57:35 2: SONOS1: Alarm-Service-subscribing successful with SID=uuid:RINCON_949F3E0918F601400_sub0000000075
    2019.11.09 18:57:35 2: SONOS1: ZoneGroupTopology-Service-subscribing successful with SID=uuid:RINCON_949F3E0918F601400_sub0000000076
    2019.11.09 18:57:35 2: SONOS1: DeviceProperties-Service-subscribing successful with SID=uuid:RINCON_949F3E0918F601400_sub0000000077
    2019.11.09 18:57:35 2: SONOS1: MusicServices-Service-subscribing successful with SID=uuid:RINCON_949F3E0918F601400_sub0000000078
    2019.11.09 18:57:35 3: SONOS1: Discover: End of discover-event for "Bad".
    2019.11.09 18:57:35 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Kueche".
    2019.11.09 18:57:35 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Kueche".
    2019.11.09 18:57:35 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_B8E937B7B8B201400_MR' to a new value ~ minVolume = 0
    2019.11.09 18:57:35 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Lukas".
    2019.11.09 18:57:35 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Lukas".
    2019.11.09 18:57:35 3: SONOS1: Setting MinMaxVolumes of device 'RINCON_949F3E0918F601400_MR' to a new value ~ minVolume = 0
    2019.11.09 18:57:35 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Kueche_RF".
    2019.11.09 18:57:35 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Kueche_RF".
    2019.11.09 18:57:35 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.11.09 18:57:35 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Schlafzimmer".
    2019.11.09 18:57:35 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Flur".
    2019.11.09 18:57:35 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Flur".
    2019.11.09 18:57:35 3: SONOS1: Event: Received Transport-Event for Zone "Sonos_Bad".
    2019.11.09 18:57:35 3: SONOS1: Event: End of Transport-Event for Zone "Sonos_Bad".
    2019.11.09 18:57:35 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Kueche".
    2019.11.09 18:57:35 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Kueche".
    2019.11.09 18:57:35 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Lukas".
    2019.11.09 18:57:35 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Lukas".
    2019.11.09 18:57:35 3: SONOS1: Event: Received DeviceProperties-Event for Zone "Sonos_Kueche_RF".
    2019.11.09 18:57:35 3: SONOS1: Event: End of DeviceProperties-Event for Zone "Sonos_Kueche_RF".
    2019.11.09 18:57:35 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Schlafzimmer".
    2019.11.09 18:57:35 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Schlafzimmer".
    2019.11.09 18:57:35 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Flur".
    2019.11.09 18:57:35 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Flur".
    2019.11.09 18:57:35 3: SONOS1: Event: Received GroupRendering-Event for Zone "Sonos_Bad".
    2019.11.09 18:57:35 3: SONOS1: Event: End of GroupRendering-Event for Zone "Sonos_Bad".
    2019.11.09 18:57:35 3: SONOS1: Event: Received ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2019.11.09 18:57:35 3: SONOS1: Event: End of ZoneGroupTopology-Event for Zone "Sonos_Kueche".
    2019.11.09 18:57:35 3: SONOS1: Event: Received Alarm-Event for Zone "Sonos_Lukas".
    2019.11.09 18:57:36 3: SONOS1: Event: End of Alarm-Event for Zone "Sonos_Lukas".
    2019.11.09 18:57:36 3: SONOS1: Event: Received MusicServices-Event for Zone "Sonos_Kueche_RF".
    2019.11.09 18:59:36 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 1573322256.58016 ~ 2019-11-09 18:57:36)... try to restart the process and connection...
    2019.11.09 18:59:37 3: SONOS0: Disconnecting client and shutdown server...
    2019.11.09 18:59:37 3: SONOS0: Trying to kill Sonos_Thread...
    2019.11.09 18:59:37 3: SONOS0: Trying to kill LongJobs_Thread...
    2019.11.09 18:59:37 3: SONOS0: Trying to kill IsAlive_Thread...
    2019.11.09 18:59:37 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2019.11.09 18:59:37 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 12 November 2019, 10:53:50
    Hallo zusammen,
    bei mir läuft seit längerem fhem auf einem docker container und Sonos in einem seperaten ("host network") docker container. Das ganze funktioniert bisher sehr gut, sodass ich mich jetzt an die Sprachausgabe über Sonos machen wollte.
    Ich habe dafür einen samba server direkt auf meinem docker host installiert und den ordner "sonos" freigegeben (ohne Passwort), hier die samba-config dazu:
    [sonos]
    path = /media/sonos/
    public = yes
    writable = yes
    comment = sonos
    printable = no
    guest ok = yes


    zusätzlich wurden über
    chown -R 6061:6061 sonos
    chmod 777 sonos

    die Rechte entsprechend gesetzt und auf die UID/GID von Sonos angepasst.

    Das share kann ich auch ohne Probleme über folgenden Befehl mounten:
    sudo mount -t cifs //192.168.1.2/sonos /media/test -o user=nobody

    In fhem habe ich dann die Attribute entsprechend gesetzt:
    attr Sonos targetSpeakDir //192.168.1.2/sonos
    attr Sonos targetSpeakFileTimestamp 1
    attr Sonos targetSpeakMP3FileDir //192.168.1.2/sonos
    attr Sonos targetSpeakURL //192.168.1.2/sonos


    Starte ich jetzt allerdings die Sprachausgabe mit
    set Sonos_Play3kueche Speak 20 de Waschmaschine ist fertig
    passiert nichts. Es wird weder im samba share etwas abgelegt, noch über Sonos etwas wiedergegeben. Ich sehe lediglich als "LastActionResult":
    PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"

    Ich stehe jetzt vor einem Rätsel, woran das ganze scheitert und vor allem wie ich weiter nach Fehlern suchen soll. Kann mir hier jemand helfen?
    Titel: Sonos Wlan geändert
    Beitrag von: KalleBlomquist am 14 November 2019, 22:04:27
    Hallo zusammen,

    ich habe mein Netz neu in einige VLANs unterteilt und Firewall-Regeln erstellt etc.

    Für die Sonos-Player habe ich ein anderes VLAN (10.50.x.x) als für den Fhem-Server (10.20.x.x) eingerichtet und soweit alles freigeschaltet.
    In Fhem ist das Sonos-Device im Status "opened", die Player sind im Status "initialized" ... aber ich kann die Sonos Player nicht steuern.
    Auch ein "set xxx Speak ..." gibt nichts aus.

    Es erscheint dann "NotLoadedMarker"

    Im Attribut "LastActionResult" erscheint "CheckProxyObject-ERROR: SonosPlayer disappeared?".

    Das Firewall-Log zeigt nicht an und auch mit deaktivierter Regel komme ich auf das selbe Ergebnis.
    Ein RescanNetwork auf dem Sonos-Device hat auch nichts gebracht.

    Jetzt mein Frage:
    Wie kann ich Fhem/Sonos-Device das neue VLAN beibringen ? Ich denke mal, dass es daran liegt ...

    Danke im Voraus.

    VG
    Kalle
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 14 November 2019, 22:28:27
    @KalleBlomquist:
    Was du brauchst nennt sich "igmp-proxy". Sonos arbeitet mit Broadcast Nachrichten. Diese werden nicht über Subnetze hinweg geroutet per default. Ein igmp-proxy übernimmt genau diese Aufgabe und leitet die Pakete passend weiter. Eine entsprechende Anleitung (leider "nur" speziell für Unifi) wäre z.B. hier: https://blog.awelswynol.co.uk/2017/11/unifi-sonos-and-vlans
    Titel: Antw:Sonos steuern
    Beitrag von: JudgeDredd am 15 November 2019, 00:08:19
    Zitat von: KalleBlomquistWie kann ich Fhem/Sonos-Device das neue VLAN beibringen ? Ich denke mal, dass es daran liegt ...
    Zitat von: Thomas41587Was du brauchst nennt sich "igmp-proxy"
    Falls Du eine pfSense als Router hast, dann ist der igmp-proxy enthalten.
    Funktioniert bei bei problemlos. Konfig könnte ich Dir zur Verfügung stellen.
    Titel: Antw:Sonos steuern
    Beitrag von: OdfFhem am 15 November 2019, 06:32:26
    @Thomas41587

    Zitat von: Thomas41587 am 12 November 2019, 10:53:50
    Ich stehe jetzt vor einem Rätsel, woran das ganze scheitert und vor allem wie ich weiter nach Fehlern suchen soll. Kann mir hier jemand helfen?

    Ist Dein Rätsel bereits gelöst oder wird noch nach einer Lösung gesucht?
    Titel: Antw:Sonos steuern
    Beitrag von: KalleBlomquist am 15 November 2019, 07:27:33
    Zitat von: JudgeDredd am 15 November 2019, 00:08:19
    Falls Du eine pfSense als Router hast, dann ist der igmp-proxy enthalten.
    Funktioniert bei bei problemlos. Konfig könnte ich Dir zur Verfügung stellen.

    Ich habe ein USG im Einsatz, von daher passt die Anleitung sehr gut für mich.
    Allerdings gibt es bei mir die config.gateway.json ja noch nicht, von daher muss ich sie erstmal anlegen.

    Wie sieht die Datei denn kpl. aus ? Oder kommt da wirklich nur der kleine Teil rein, der in der Anleitung steht ?
    Scheint mir irgendwie nur eine Sektion zu sein und es fehlt bestimmt noch etwas vorher/hinterher ?

    Gruß Kalle
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 15 November 2019, 07:38:40
    Hey, das Thema habe ich auch noch mit meinem USG vor mir. Dazu habe ich neulich folgenden interessanten Post gefunden:


    https://community.ui.com/questions/VLAN-inter-accessibility-for-MultiCast-devices-SONOS-Chromecast-Airtame-etc/f4d7a07c-d4ea-4238-8265-38ccd6e904c7

    Ich hatte das Gefühl, dass da alles drin steht, was man wüssten muss.

    Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 15 November 2019, 08:13:36
    Zitat von: OdfFhem am 15 November 2019, 06:32:26
    @Thomas41587

    Ist Dein Rätsel bereits gelöst oder wird noch nach einer Lösung gesucht?
    Lösung wird noch gesucht. Ich bin mir mittlerweile recht sicher, dass es "nur" daran hängt, dass die mp3 Datei nicht in das Verzeichnis gelegt wird. Lege ich nämlich manuell eine mp3 in das Verzeichnis und starte die Wiedergabe über sonos, dann geht es...
    Habe auch meine config angepasst, und die Ordner lokal in fhem gemountet, brachte aber keine Besserung:
    attr Sonos targetSpeakDir /opt/fhem/SonosSpeak
    attr Sonos targetSpeakFileTimestamp 1
    attr Sonos targetSpeakMP3FileDir /opt/fhem/SonosSpeak
    attr Sonos targetSpeakURL //192.168.1.2/sonos


    Schreibrechte für fhem auf dem Ordner passen ebenfalls. Also mit sudo -i - u fhem und einem Touch test wird eine Datei im Verzeichnis erstellt :-(
    Titel: Antw:Sonos steuern
    Beitrag von: OdfFhem am 15 November 2019, 09:27:01
    @Thomas41587

    Meine FHEM-SONOS-Attribute sehen fast identisch aus. Lediglich in der URL verwende ich das normalerweise übliche \ und nicht / - beide Schreibweisen führen aber auch bei mir zum Erfolg.


    targetSpeakDir Ablageort für eine von FHEM generierte Sprachdatei - erfordert Schreibzugriff; es wird empfohlen, dass dieses Verzeichnis nicht von Sonos indiziert ist.

    targetSpeakURL erfordert nur Lesezugriff und ist aus der Sicht des SONOS-Zoneplayer anzugeben.


    Hast Du einen (anonymisierten) FHEM-SONOS-Log-Mitschnitt (verbose 5) während der fehlerhaften Sprachausgabe und kannst diesen hier bereitstellen?
    Weiterhin wäre vielleicht noch die docker-Konfiguration für eine weitere Analyse nützlich.
    Titel: Antw:Sonos steuern
    Beitrag von: KalleBlomquist am 15 November 2019, 09:33:04
    Zitat von: hoppel118 am 15 November 2019, 07:38:40
    Hey, das Thema habe ich auch noch mit meinem USG vor mir. Dazu habe ich neulich folgenden interessanten Post gefunden:


    https://community.ui.com/questions/VLAN-inter-accessibility-for-MultiCast-devices-SONOS-Chromecast-Airtame-etc/f4d7a07c-d4ea-4238-8265-38ccd6e904c7

    Ich hatte das Gefühl, dass da alles drin steht, was man wüssten muss.

    Gruß Hoppel

    Hi,
    danke für den Link, das war sehr hilfreich !

    Ich habe alles genau so gemacht, jedoch bekomme ich immernoch die Fehlermeldung, wenn ich z.B. ein "set Sonos_Kueche speak 50 de Test" eingebe.
      --> lastActionResult : CheckProxyObject-ERROR: SonosPlayer disappeared?

    Wenn ich auf dem USG den IGMP Proxy teste, dann sieht das eigentlich alles gut aus:

      # show ip multicast mfc  --> Datenverkehr über eth1 und eth1.150 (mein VLAN)
      # show ip multicast interfaces --> Datenverkehr über eth1 und eth1.150

    Muss ich in FHEM noch etwas machen ? Ein "RescanNetwork" allein scheint wohl nicht zu helfen.

    Gruß Kalle

    EDIT:
    Nach einer Weile gehen die Player auf disappeared und das Sonos Device auf disabled  :-(

    EDIT 2:
    Es funktioniert nun :-.) Das Problem lag an einer Firewall-Regel :-(
    Ich hab mit dann einen Syslog-Server aufgesetzt (um die Logs vernünftig lesen zu können) und dort die Logs vom UnifiController hingeschickt.
    Dann konnte ich die DROPs sehen und beseitigen :-)

    Also die Anleitung hat super funktioniert !

    Vielen Dank !!!

    Schönes WE an ALLE
    Gruß Kalle
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 15 November 2019, 11:41:51
    Sehr gut, wenn ich irgendwann mal dazu komme, das bei mir einzurichten, komme ich ggf. nochmal auf dich zu. :)

    Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 18 November 2019, 10:15:18
    Zitat von: OdfFhem am 15 November 2019, 09:27:01
    Weiterhin wäre vielleicht noch die docker-Konfiguration für eine weitere Analyse nützlich.
    Und genau da war der springende Punkt :-) Danke für den Wink mit dem Zaunpfahl. Ich habe nochmal alles Punkt für Punkt überprüft und siehe da: Ich hatte alles in dem "normalen" fhem container gemacht. Selbstverständlich müssen die Ordner, Freigaben und Berechitgungen in dem "fhem_sonos_standalone" container gemacht werden. kaum macht man es richtig, funktioniert es. Vielen Dank für die Hilfe!
    Titel: Antw:Sonos steuern
    Beitrag von: Andy89 am 21 November 2019, 17:26:23
    Zitat von: Thomas41587 am 18 November 2019, 10:15:18
    Und genau da war der springende Punkt :-) Danke für den Wink mit dem Zaunpfahl. Ich habe nochmal alles Punkt für Punkt überprüft und siehe da: Ich hatte alles in dem "normalen" fhem container gemacht. Selbstverständlich müssen die Ordner, Freigaben und Berechitgungen in dem "fhem_sonos_standalone" container gemacht werden. kaum macht man es richtig, funktioniert es. Vielen Dank für die Hilfe!
    Hallo,
    kannst du bitte deine docker-compose.yml (Ausschnitte) zur Verfügung stellen? Ich stehe gerade auch an dem Punkt und komme irgendwie nicht weiter..

    Danke  :) :) :)
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 22 November 2019, 14:52:22
    Zitat von: Andy89 am 21 November 2019, 17:26:23
    Hallo,
    kannst du bitte deine docker-compose.yml (Ausschnitte) zur Verfügung stellen? Ich stehe gerade auch an dem Punkt und komme irgendwie nicht weiter..

    Danke  :) :) :)
    Wie komme ich an die docker-compose.yml? Ich erstelle alle container manuell über die cmd oder per Portainer
    Titel: Antw:Sonos steuern
    Beitrag von: Andy89 am 22 November 2019, 15:04:22
    dann wirst du keine docker-compose Datei haben.

    aber auch per cmd / Portainer gibst du den verschiedenen Dockern Parameter mit, oder? Was war dann der ausschlaggebende Punkt, so dass die MP3s erstellt wurden?
    Ich habe gefühlt alle möglichen Konfigrationen durchprobiert, die im Forum oder im Netz beschrieben werden. Den Sonos Docker habe ich dabei nie betrachtet, da die Datei ja schon im fhem Docker mit dem sonos Device nicht erstellt wird.

    Beste Grüße
    Andy
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 22 November 2019, 15:17:06
    Meine Einrichtung der Container ist zwar schon ein paar Tage her, sodass die Erinnerungen nicht ganz frisch sind, aber: als fhem container läuft der "offizielle" docker build (fhem/fhem:latest), als fhem_sonos_standalone habe ich folgendes genutzt (bin mir nicht mehr sicher, woher ich das kopiert hatte):

    FROM debian:stretch
    ENV DEBIAN_FRONTEND noninteractive
    ENV TERM xterm

    # Install base environment
    RUN apt-get update && apt-get upgrade -y && apt-get install -y --no-install-recommends apt-utils
    RUN apt-get -y install \
    apt-transport-https \
    build-essential \
    curl \
    cpanminus \
    dfu-programmer \
    etherwake \
    git \
    netcat \
    perl \
    snmp \
    snmpd \
    sqlite3 \
    sudo \
    telnet \
    usbutils \
    vim \
    wget && \
    apt-get -y install \
    libwww-perl \
    libsoap-lite-perl \
    libxml-parser-lite-perl

    EXPOSE 4711

    WORKDIR "/opt/fhem/FHEM"

    CMD perl 00_SONOS.pm 4711 3 1


    Und in dem fhem_sonos_standalone habe ich dann als volume den Pfad meines docker hosts angegeben, der auf den "original" fhem container verweist (ja ich weiß, so macht mans eigentlich nicht, aber es funkioniert).
    Zuletzt wurde (wieder im fhem_sonos_standalone) der host pfad /media/sonos (welcher über samba für "jeden" freigegeben wurde) auf den docker Pfad /opt/fhem/SonosSpeak gemountet. Fertig :)
    Und mein Fehler war, dass ich den letzten Punkt auf dem "haupt" fhem container gemacht habe anstatt auf dem fhem_sonos_standalone.
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 22 November 2019, 18:24:30
    Gibt es eigentlich eine Möglichkeit, ohne Umwege eine Spotify Playlist zu starten? Die "url" einer Spotify-Playlist bekommt man ja über die Desktop Anwendung raus. Aber versucht man dann z.B. ein "set Sonos_Bad PlayURI spotify:playlist:37i9dQZF1DWUW2bvSkjcJ6" bekommt man zwar "LastActionResult - PlayURI: Success!", aber die Wiedergabe mit dem alten Track läuft munter weiter.
    Mein aktueller "Umweg" besteht darin, die Playlist in "Mein Sonos" zu speichern und dann abzuspielen. Leider ist das ja nur eine Momentaufnahme dessen, was die Spotify Playlist enthält.
    Titel: Antw:Sonos steuern
    Beitrag von: Andy89 am 22 November 2019, 18:44:30
    Zitat von: Thomas41587 am 22 November 2019, 15:17:06
    Und in dem fhem_sonos_standalone habe ich dann als volume den Pfad meines docker hosts angegeben, der auf den "original" fhem container verweist (ja ich weiß, so macht mans eigentlich nicht, aber es funkioniert).
    Zuletzt wurde (wieder im fhem_sonos_standalone) der host pfad /media/sonos (welcher über samba für "jeden" freigegeben wurde) auf den docker Pfad /opt/fhem/SonosSpeak gemountet. Fertig :)
    Und mein Fehler war, dass ich den letzten Punkt auf dem "haupt" fhem container gemacht habe anstatt auf dem fhem_sonos_standalone.
    Für den fhem-sonos-Docker habe ich das gleiche Dockerfile.
    Ich habe es jetzt auch endlich hinbekommen. ich glaube, ich hatte mehrere Probleme, welche nun mit deinen Hilfen behoben sind. Danke  :) :) :) :) :) :)

    Falls noch jemand das Problem haben sollte, hier die wichtigsten Einstellungen.

    fhem sonos-device:
    attr Sonos targetSpeakDir /opt/fhem/SonosSpeak
    attr Sonos targetSpeakURL \\192.168.xxx.xxx\SonosSpeak   #ip und ordner vom samba-ordner


    docker-compose.yml

    version: '2.0'
    services:
    ############################################################################
    # Service: FHEM
    ############################################################################
      fhem:
        container_name: fhem
        image: fhem/fhem:latest
        restart: always
        network_mode: host
        #networks:
        #  - fhem-network
        ports:
          - "8083:8083"
          - "4711"
        volumes:
          - ./fhem/:/opt/fhem/
        devices:
          - /dev/ttyUSB0:/dev/ttyUSB0
        depends_on:
          - "fhem_sonos"

    ############################################################################
    # Service: Portainer
    ############################################################################
      portainer:
          container_name: fhem_portainer
          image: portainer/portainer:latest
          restart: always
          networks:
            - fhem-network
          ports:
              - "9000:9000"
          volumes:
              - /var/run/docker.sock:/var/run/docker.sock
              - ./portainer/data:/data

    ############################################################################
    # FTUI
    ############################################################################
      fhem_tabletui:
        container_name: fhem_tabletui
        image: raigen/fhem-tablet-ui:rpi-alpine
        volumes:
          - ./fhem_tabletui/ftui/flex/:/usr/share/nginx/html/tablet/
        ports:
          - "80:80"

    ############################################################################
    # Service: FHEM SONOS
    ############################################################################
      fhem_sonos:
        container_name: fhem_sonos
        hostname: fhem_sonos
        build: fhem_sonos
        restart: always
        volumes:
          - ./fhem/:/opt/fhem/
          - ./SonosSpeak/:/opt/fhem/SonosSpeak/
        network_mode: host

    ############################################################################
    # Service: Samba Freigabe
    ############################################################################
      samba:
        container_name: fhem_samba
        restart: always
        image: dperson/samba:rpi
        ports:
          - "139:139"
          - "445:445"
        environment:
          TZ: "Europe/Berlin"
          SHARE: "SonosSpeak;/mnt/SonosSpeak;yes;no;yes;"
        volumes:
          - /etc/localtime:/etc/localtime:ro
          - ./SonosSpeak/:/mnt/SonosSpeak/:z
        network_mode: host

    networks:
      fhem-network:
        driver: "bridge"

    das ganze läuft auf einen neuen raspberryPi 4 mit "Raspbian GNU/Linux 10 (buster)"  ;)
    da das ja nun geht, werde ich demnächst nach und nach die host-Rechte wegnehmen und ins bridge Netzwerk übergehen. Aber zum Testen war das so einfacher.

    Danke nochmal  :) :)

    Beste Grüße
    Andy
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 22 November 2019, 20:53:37
    Moinsen,

    habe mal eine Frage dazu: Warum lasst ihr das Sonos Modul in einem zusätzlichen FHEM Container laufen?

    Ich nutze seit mittlerweile fast 2 Jahren Docker und FHEM ist aufgrund der vielen Abhängigkeiten noch nicht in einen Docker Container umgezogen. Dies soll eigentlich im Rahmen der Migration von Stretch zu Buster passieren. Evtl. werde ich mir in dem Zuge aber auch mal wieder Proxmox als Basis installieren und FHEM dann in einen LXC Container packen.

    Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 25 November 2019, 13:45:17
    Zitat von: hoppel118 am 22 November 2019, 20:53:37
    Moinsen,

    habe mal eine Frage dazu: Warum lasst ihr das Sonos Modul in einem zusätzlichen FHEM Container laufen?

    Ich nutze seit mittlerweile fast 2 Jahren Docker und FHEM ist aufgrund der vielen Abhängigkeiten noch nicht in einen Docker Container umgezogen. Dies soll eigentlich im Rahmen der Migration von Stretch zu Buster passieren. Evtl. werde ich mir in dem Zuge aber auch mal wieder Proxmox als Basis installieren und FHEM dann in einen LXC Container packen.

    Gruß Hoppel
    Sonos funktioniert über Multicast. Diese Multicast Pakete werden nicht über Subnetze hinweg geroutet. Wenn man fhem in einem Docker Container betreibt, hat man normalerweise ein seperates Netz, ergo funktioniert Multicast (und somit Sonos) nicht. Abhilfe schafft hier der "Host-Netzwerk" Modus. Dabei teilt sich der docker Container die Ip-Adresse mit dem Host. Aus Sicherheitsgründen ist das aber nicht empfohlen. Somit landet man dann bei dem Szenario fhem in docker Netzwerk und zusätzlich ein Sonos container im Host-Modus.
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 25 November 2019, 21:56:00
    Ok, danke für die Info. Meine Docker Container laufen entweder im Host-Modus oder im Host-Modus mit MAC-VLAN, um dem Service eines Containers eine eigene IP im gleichen Subnetz des Hosts geben zu können. Ob das nun aus Sicherheitsgründen bedenklich ist... Mir eigentlich egal. Ich halte meine Systeme immer aktuell. Von außen kommt man nur per VPN rein.

    Mein Sonos System soll mittelfristig dann sowieso in mein IoT-VLAN verlagert werden. Da ist alles drin, was irgendwie aus der Cloud gemanaged wird oder gar keine Firmware Updates mehr erhält.

    Mit MDNS und IGMP Snooping werde ich die Multicasts dann in mein normales VLAN umleiten. Das Thema hatten wir hier kürzlich. Das funktioniert.

    Aber ich werde diese Gedanken bei der Migration von Stretch zu Buster (inkl. Übergang zu FHEM Docker) berücksichtigen.

    Danke nochmal! Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 27 November 2019, 07:25:48
    Zitat von: Thomas41587 am 22 November 2019, 18:24:30
    Gibt es eigentlich eine Möglichkeit, ohne Umwege eine Spotify Playlist zu starten? Die "url" einer Spotify-Playlist bekommt man ja über die Desktop Anwendung raus. Aber versucht man dann z.B. ein "set Sonos_Bad PlayURI spotify:playlist:37i9dQZF1DWUW2bvSkjcJ6" bekommt man zwar "LastActionResult - PlayURI: Success!", aber die Wiedergabe mit dem alten Track läuft munter weiter.
    Mein aktueller "Umweg" besteht darin, die Playlist in "Mein Sonos" zu speichern und dann abzuspielen. Leider ist das ja nur eine Momentaufnahme dessen, was die Spotify Playlist enthält.
    Hat eventuell jemand hierfür noch einen Tipp? Es muss doch eine Möglichkeit geben, Spotify Playlisten direkt abzuspielen, ohne diesen Umweg?
    Titel: Antw:Sonos steuern
    Beitrag von: essera am 16 Dezember 2019, 13:35:55
    Hi,

    nachdem im Multimediaforum schweigen im Wald ist versuche ich es einmal direkt bei den Sonos Cracks. :-)
    Ich kann mit meinem Sonos per Set Sonos_Esszimmer playuri \\xxx.xxx.xxx.xxx\SonosSpeak\sound.mp3 ein Soundfile (z.b. Kingelton falls einer auf die Klingen drückt) abspielen.

    Dafür muss ich aber Samba und Mounting usw, einrichten.

    Gibt es eine Möglichkeit die sound.mp3 nicht über eine Freigabe, sondern über einen lokalen Pfad abzuspielen. (d.h. liegt zum Beispiel in /opt/fhem/sounds)
    Oder geht das nicht weil die Sonos Box dann keinen Zugriff auf die Datei hat, weil zum Abspielen nur eine URL übergeben wird und nicht die Datei gestreamt wird ....

    VG,
    Andreas.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 16 Dezember 2019, 16:05:50
    Zitat von: essera am 16 Dezember 2019, 13:35:55
    Oder geht das nicht weil die Sonos Box dann keinen Zugriff auf die Datei hat, weil zum Abspielen nur eine URL übergeben wird und nicht die Datei gestreamt wird ....
    So ist es :)

    BTW: Du brauchst nichts zu mounten sondern musst freigeben - aber vielleicht sind ja in meinem Kopf die Windows Begriffe und "Linux" sieht es anders :)
    Titel: Antw:Sonos steuern
    Beitrag von: essera am 17 Dezember 2019, 12:27:28
    Zitat von: Otto123 am 16 Dezember 2019, 16:05:50
    So ist es :)

    BTW: Du brauchst nichts zu mounten sondern musst freigeben - aber vielleicht sind ja in meinem Kopf die Windows Begriffe und "Linux" sieht es anders :)

    Danke Otto.
    Ich wollte mein System halt "schlank" halten und auf den Samba Server verzichten. Aber dann geht das halt nicht....(Ist ja auch irgendwie logisch wenn man drüber nachdenkt :-) )
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 17 Dezember 2019, 12:34:31
    Naja Du kannst irgendwo einen Samba Server haben, das muss nicht dein System sein. Router, NAS ....

    Aber an sich ist es keine große Sache. Hier mein Setup Script. ;)
    https://github.com/heinz-otto/raspberry/blob/master/setupSamba.sh

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: ceear am 21 Dezember 2019, 23:54:30
    Zitat von: Thomas41587 am 25 November 2019, 13:45:17
    Sonos funktioniert über Multicast. Diese Multicast Pakete werden nicht über Subnetze hinweg geroutet. Wenn man fhem in einem Docker Container betreibt, hat man normalerweise ein seperates Netz, ergo funktioniert Multicast (und somit Sonos) nicht. Abhilfe schafft hier der "Host-Netzwerk" Modus. Dabei teilt sich der docker Container die Ip-Adresse mit dem Host. Aus Sicherheitsgründen ist das aber nicht empfohlen. Somit landet man dann bei dem Szenario fhem in docker Netzwerk und zusätzlich ein Sonos container im Host-Modus.

    In diesem Zusammenhang. Bei mir läuft fhem mit Sonos im Container ohne Host-Network. Ich leite die Multicastanfragen an den Container weiter. Ich habe aber ein anderes Problem dadurch:
    Der SubscriptionPort des UPnP Services ist ,,zufällig" - ändert sich mit jedem Neustart. Da ich diesen Port aber in den Container ,,öffnen" muss, ist das schwierig. Vermutlich steht deshalb im Wiki auch, dass man eine lokale Firewall komplett öffnen muss. Wäre es möglich, diesen per Attribut fest vorzugeben? Sonos benutzt dafür den Port 3400 oder 3401.
    Titel: Antw:Sonos steuern
    Beitrag von: RalfP am 23 Dezember 2019, 19:20:06
    Hallo Reinerlein,

    ich hab mal eine Frage: Ist es geplant auch den Upnp-Service xml/HTControl1.xml zu unterstützen?

    Darin versteckt sich z.B. die IR Remote De-/Aktivierung u.a.m.
    Wäre ein tolles Feature, um im Wohnzimmer mit Amp und Beam die IR Fernbedienung beim gerade genutztem Gerät zu aktivieren.

    Frohe Weihnacht wünsche ich

    gruß Ralf
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 07 Januar 2020, 17:48:06
    Hallo,

    habe auf debian Buster umgestellt und nun gibt es wohl mit der unter FHEM/lib/mp3/tag.pm ein Problem:


    2020.01.07 17:18:31 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^\??({ <-- HERE ([^{}]+)}|.)/ at FHEM/lib/MP3/Tag.pm line 2944, <M3UFILE> line 3.
    2020.01.07 17:18:31 1: PERL WARNING: Unescaped left brace in regex is deprecated here (and will be fatal in Perl 5.32), passed through in regex; marked by <-- HERE in m/^({ <-- HERE [^{}]+}|\w)/ at FHEM/lib/MP3/Tag.pm line 2956, <M3UFILE> line 3.


    Leider verstehe ich nicht, was an der regex falsch sein soll...

    Hat da jemand einen Tipp? Was hat sich da in perl 5.32 geändert

    Elektrolurch
    ?
    Titel: Antw:Sonos steuern
    Beitrag von: DS_Starter am 07 Januar 2020, 17:58:52
    Zitathabe auf debian Buster umgestellt und nun gibt es wohl mit der unter FHEM/lib/mp3/tag.pm ein Problem:
    Habe hier einen Patch bereitgestellt (wer möchte): https://forum.fhem.de/index.php/topic,103535.msg995570.html#msg995570

    Ansonsten siehe auch hier: https://forum.fhem.de/index.php/topic,106763.0.html

    Grüße,
    Heiko
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 21 Januar 2020, 09:01:55
    Ich habe bei mir vor kurzem meine Sonos-Landschaft umgestaltet und auch neue Player hinzugefügt. Seither sind in FHEM die Geräte falsch. Das heißt konkret falscher Name und falsche Gruppenzuordnung. In der Sonos App sieht es aber so aus wie es soll.
    Sonos App: Wohnzimmer_RF,  Wohnzimmer_LF, Wohnzimmer_SW, Bad_RF, Bad_LF, Esszimmer_RF, Esszimmer_LF, Küche
    Fhem:Wohnzimmer_RF,  Wohnzimmer_LF, Wohnzimmer_SW, Bad_RF, Bad_LF, Schlafzimmer, Play_3Küche, Küche

    Ich muss dazu sagen, dass 2 der Player schon in einem anderen Haus in Betrieb waren. Aber die Player wurden vor Inbetriebnahme zurückgesetzt.

    Wie kann ich fhem jetzt die neuen, richtigen Namen und vor allem die richtigen Gruppierungen beibringen? Geräte löschen und rescan network liefert genau das gleiche (falsche)
    Titel: Sonos steuern
    Beitrag von: hoppel118 am 21 Januar 2020, 21:26:31
    Zitat von: Thomas41587 am 21 Januar 2020, 09:01:55
    Wie kann ich fhem jetzt die neuen, richtigen Namen und vor allem die richtigen Gruppierungen beibringen? Geräte löschen und rescan network liefert genau das gleiche (falsche)

    Ich habe das in der Vergangenheit schon mehrfach wie folgt erfolgreich gelöst:

    1. Namen und Gruppierungen in der Sonos App anpassen
    2. betroffene Geräte in FHEM löschen
    3. FHEM Service neustarten

    —> Nun wurden die geänderten Geräte und Gruppierungen korrekt in FHEM angelegt.

    Ich schätze, dass es keinen Unterschied macht, ob du die Geräte löscht und FHEM neustartest oder ,,rescan network" ausführst. Aber evtl. funktioniert das ja bei dir auch.

    Ich habe so bspw. die beiden Rears (Sonos One) aus meinem 5.1 Sonos im Wohnzimmer entfernt, diese als einzelne Lautsprecher in Bad und Büro ergänzt und die beiden Rears im Wohnzimmer durch Symfonisk Lampen ersetzt.

    Gruß Hoppel


    Gesendet von iPhone mit Tapatalk Pro
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 23 Januar 2020, 14:44:34
    Zitat von: hoppel118 am 21 Januar 2020, 21:26:31
    1. Namen und Gruppierungen in der Sonos App anpassen
    2. betroffene Geräte in FHEM löschen
    3. FHEM Service neustarten

    Danke für den Hinweis. Mit diesen 3 Schritten klappt es. Ohne fhem neustart (also nur löschen und Network rescan) liefert bei mir wieder die alten, falschen namen und Gruppierungen.
    danke für die Hilfe!
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 23 Januar 2020, 19:32:40
    Super, freut mich! Viel Spaß noch

    Falls hier jemand einen Weg kennt, bei dem man FHEM nicht Neustarten muss, darf er ihn hier gern nochmal beschreiben... ;)

    Gruß Hoppel


    Gesendet von iPhone mit Tapatalk Pro
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 31 Januar 2020, 22:33:19
    Hallo Zusammen,

    gibt es eine Möglichkeit, beim Connect:AMP per fhem die Quelle umzuschalten?
    Hab nichts gefunden  :o
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 31 Januar 2020, 22:43:38
    Geht über LineInPlayer im Hauptdevice
    ZitatEs gibt ein neues Reading "LineInPlayer" am Sonos-Device, und wenn das Attribut "getListsDirectlyToReadings" gesetzt ist, auch "LineInPlayerList" und "LineInPlayerListAlias". Diese Liste enthält die gültigen LineIn-Eingänge aller Player, die für die Wiedergabe ausgewählt werden können.
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 31 Januar 2020, 22:59:22
    Danke Otto, aber wie kann ich denn umschalten?
    Ich sehe da kein set für den Player?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 31 Januar 2020, 23:07:10
    Siehe https://forum.fhem.de/index.php?topic=73234.0
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 01 Februar 2020, 20:19:19
    Ich muss gestehen, ich kapier es nicht.

    Habe das Attribut gesetzt und habe auch das Reading.

    Reinerlein schreibt:
    Zitatim Wiki (https://wiki.fhem.de/wiki/SONOS#Set-Befehle_an_den_SONOSPLAYER) unter Abspielbefehle -> PlayURI steht es:
    Du musst einfach den Fhem-Devicenamen des Players angeben, dessen Eingang abgespielt werden soll. Das kann der gleiche Player sein, muss es aber nicht...

    Dort steht:
    ZitatPlayURI <SongURI> [Volume]: Spielt die angegebene MP3-Datei mit der optional verwendbaren Lautstärke ab. Die Datei muss vom SonosPlayer aus direkt erreichbar (und natürlich auch lesbar) sein, braucht aber nicht indiziert worden zu sein.
    Folgende Formate werden momentan akzeptiert:
    Sonos-Devicenamen: z.B. Sonos_Wohnzimmer. Der Devicename muss natürlich bereits definiert worden sein. Es wird der Audio(oder AV)-Eingang des gewählten Zoneplayer-Device als Wiedergabestrom gewählt.
    Bei normalen Audio-Eingängen (LineIn) kann man einen beliebigen Player für die Wiedergabe verwenden. Es muss nicht der lokale Player für die Wiedergabe verwendet werden.

    Ich will aber keine MP3 Datei abspielen.

    Vielleicht mal zur Info, was ich machen möchte:
    Ich habe einen Connect:Amp, der hängt am Fernseher um den Ton vom Sat, FireTV und Xbox wiederzugeben.
    Funktioniert auch sehr gut.
    Nun möchte ich, wenn der TV nicht mehr present ist, dass der Connect:Amp den Eingang wieder auf "normal" also nicht LineIn geschalten wird.
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 13 Februar 2020, 08:11:32
    Niemand eine Idee??  :'(
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 13 Februar 2020, 09:02:54
    Moin,

    naja, eventuell versteht es keiner wirklich.
    Zitatdass der Connect:Amp den Eingang wieder auf "normal" also nicht LineIn geschalten wird.
    Normal bedeutet für Dich: Einfach Musik wiedergeben/streamen? Dazu muss man doch aber gar nichts tun?
    Das ist doch ein normaler set/start Befehl sowas wie
    set Sonos_Bad StartRadio Radio%20PSR%20102.9%20(Pop)

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Thyraz am 13 Februar 2020, 10:06:34
    Sonos hat halt keine klassischen Inputs zwischen denen man wechseln müsste bevor man dann eine andere Art Musik hören kann.

    Der Audioinput für Sonos eine mögliche Wiedergabequelle wie jede andere auch und du kannst sofort danach z.B. ein Internetradio starten ohne den Input abschalten zu müssen oder Ähnliches.

    Ich denke man muss da sich da vom Gedankenmodell des klassischen Receivers trennen.
    Titel: ProxyObject does not exists
    Beitrag von: KalleBlomquist am 16 Februar 2020, 11:15:37
    Hallo zusammen,

    ich bekomme seit einigen Tagen keine Steuerung von FHEM --> SONOS mehr hin.
    Im Log (verbose 5) steht immer "ProxyObject does not exists" --> Log im Anhang.

    Hat jemand eine Idee ?
    Eigentlich habe ich nichts geändert ...

    Danke und Gruß
    Kalle
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 23 Februar 2020, 22:28:20
    Ich habe über ca. 1,5 Millionen mal diese Meldung im Log: Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.96:49153/description9.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.

    Was läuft da mal wieder schief, da sind so viel Meldungen im Log, wenn ich das Log File aufrufen will stürzt sogar Fhem ab.
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 24 Februar 2020, 11:05:48
    Seit gestern funktioniert bei mir die Sprachausgabe über Sonos nicht mehr. Ich habe (zumindest bewusst) nichts an fhem geändert. Im Log sieht man nur folgende Einträge:

    2020.02.24 10:03:29.375 3: SONOS1: Load Google generated MP3 (1. Element) from "http://translate.google.com/translate_tts?tl=lalala&client=tw-ob&q=%20test" to "/opt/fhem/SonosSpeak/RINCON_949F3EE2038801400_MR_Speak_20200224-100329.mp31"
    2020.02.24 10:03:29.492 1: SONOS1: MP3 Download-Error: 404 Not Found

    Anhand der Meldung kann ich leider nicht genauer beurteilen, wo das Problem liegt. Kann fhem die mp3 nicht herunterladen? Oder was genau verursacht den 404 Fehler?
    Ich habe nochmals die Rechte und Pfade geprüft, hier stimmt soweit alles. Aber es werden defnitiv keien MP3's mehr in dem Verzeichnis abgelegt :-(
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 24 Februar 2020, 13:54:12
    Du hast vergessen die Sprache zu setzen, bzw Deine Sprache ist lalala :)
    Meine Downloadzeile (http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=%20Heute%20ist%20aber%20ein%20wundersch%F6ner%20Tag):
    http://translate.google.com/translate_tts?tl=de&client=tw-ob&q=%20Heute%20ist%20aber%20ein%20wundersch%F6ner%20Tag
    Deine Zeile (http://translate.google.com/translate_tts?tl=lalala&client=tw-ob&q=%20test)
    http://translate.google.com/translate_tts?tl=lalala&client=tw-ob&q=%20test
    Titel: Antw:Sonos steuern
    Beitrag von: Thomas41587 am 24 Februar 2020, 13:59:00
    Ach verflucht...da sieht man den Wald vor lauter Bäumen nicht. DANKE!
    Bleibt noch die Frage, wieso die Sprache verschwunden ist, aber das muss ich selbst heraus finden. Danke jedenfalls für den Wink mit dem Zaunpfahl, jetzt tut es wieder was es soll :-)

    Was mir gerade wieder einfällt: Ich bekomme immer wieder sporadisch folgenden fehler im Log und mein Befehl (Musik starten, Sprachdurchsage) wird nicht durchgeführt. Gibt es für diesen sporadischen fehler eine Erklärung oder zumindest einen Anssatzpunkt?
    2020.02.23 22:46:58.970 1: readingsUpdate(Sonos_Esszimmer,SlavePlayer,['Sonos_Esszimmer_RF']) missed to call readingsBeginUpdate first.
    2020.02.23 22:46:58.970 1: stacktrace:
    2020.02.23 22:46:58.970 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9404)
    2020.02.23 22:46:58.970 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1259)
    2020.02.23 22:46:58.970 1:     main::SONOS_Read                    called by fhem.pl (3754)
    2020.02.23 22:46:58.970 1:     main::CallFn                        called by fhem.pl (754)
    2020.02.23 22:46:58.970 1: readingsUpdate(Sonos_Esszimmer,SlavePlayerNotBonded,[]) missed to call readingsBeginUpdate first.
    2020.02.23 22:46:58.970 1: stacktrace:
    2020.02.23 22:46:58.970 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9404)
    2020.02.23 22:46:58.970 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1259)
    2020.02.23 22:46:58.970 1:     main::SONOS_Read                    called by fhem.pl (3754)
    2020.02.23 22:46:58.970 1:     main::CallFn                        called by fhem.pl (754)
    2020.02.23 22:46:58.971 1: readingsUpdate(Sonos_Esszimmer,ZoneGroupNameDetails,) missed to call readingsBeginUpdate first.
    2020.02.23 22:46:58.971 1: stacktrace:
    2020.02.23 22:46:58.971 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9404)
    2020.02.23 22:46:58.971 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1259)
    2020.02.23 22:46:58.971 1:     main::SONOS_Read                    called by fhem.pl (3754)
    2020.02.23 22:46:58.971 1:     main::CallFn                        called by fhem.pl (754)
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 24 Februar 2020, 15:39:08
    Weiß keiner wieso diese Meldung plötzlich so oft im Log ist?

    Seltsamerweise ist die 192.168.197.96 und die 192.168.197.95 mein Sky Q Receiver, immer wenn diese ein sind wird die Log Datei voll gemüllt.

    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.96:49153/description9.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.

    Ich habe jetzt 2 ip Adressen auf ignoredIPs gesetzt: 192.168.197.95,192.168.197.96

    Leider ignoriert Sonos diese beiden ip Adressen nicht und müllt immer noch fleisig das Log zu.
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 24 Februar 2020, 20:11:11
    Hallo elmer,

    einfach mit attr Sonos ignoredIPs xxx.xxx.xxx.xxx,xxx.xxx.xxx.xxx die betroffenen Nicht-Sonos-IPs ausschließen und schon hast Du Ruhe  8)

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 24 Februar 2020, 20:38:22
    Genau das ist mein Problem, ich habe die beiden IP Adressen eingetragen aber das Log wird weiter zugemüllt.
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 24 Februar 2020, 20:56:26
    Hast Du auch neugestartet..?
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 25 Februar 2020, 05:46:13
    Ja habe ich , Verbose auf 0 gesetzt und dennoch wir das Log voll.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 25 Februar 2020, 12:20:13
    Naja wenn die Zeile exakt so aussieht wie Du sie in #3333 gepostet hast, ist das kein Log Eintrag sondern eine Fehlermeldung aus dem stdout.
    Hast Du nach dem setzen des attributes auch save gemacht bevor du neu gestartet hast?
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 25 Februar 2020, 18:27:13
    Save habe ich vor dem Neustart gedrückt, aber die Meldung verschwindet nicht.

    Das sind 5 Minuten von der Log Datei, so geht das den ganzen Tag. Wenn der Monat vorbei ist die die Logdatei 400mb groß.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description2.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description4.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    Loading device description failed with error: 401 Unauthorized (Location: http://192.168.197.95:49153/description1.xml) at ./FHEM/00_SONOS.pm line 2432 thread 1.
    [code]
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 25 Februar 2020, 19:31:23
    Hab ich noch den gefunden:
    https://forum.fhem.de/index.php?topic=102831.0
    Und viele Beiträge zum gleichen Thema
    site:forum.fhem.de 00_SONOS.pm line 2432 thread

    Wenn Du Sonos auf disable 1 setzt ist damit aber Ruhe?

    Gruss Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 25 Februar 2020, 20:39:23
    Ich werde es mal aud disable1 setzen, wenn ich das mache was bewirkt das und hat das irgendwelche Auswirkungen auf andere Funktionen?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 25 Februar 2020, 20:44:17
    das beendet quasi Sonos

    BTW Du kannst die Zeilen aus dem Logfile löschen, auf eigene Gefahr! Schafft sofort Tatsachen!
    Beide Code Zeilen für die FHEM Kommandozeile.
    {`sed -i /00_SONOS.pm.line.2432/d $currlogfile`}

    Danach reload 92_FileLog.pmdamit es mit dem Logging wieder weiter geht.
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 25 Februar 2020, 21:03:23
    Auf Disable1 ist die Meldung weg, aber die Player gehen dann eben nicht mehr, am Logfile möchte ich mich nicht vergreifen, wenn du schon schreibst auf eigene Gefahr.

    Es muss doch irgendeine Lösung geben damit diese scheiß Receiver ignoriert werden.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 25 Februar 2020, 21:13:23
    hast Du versucht den Spieß umzudrehen und usedonlyIPs zu verwenden?
    ZitatusedonlyIPs <IP-Adresse>[,IP-Adresse]
    Mit diesem Attribut können IP-Adressen angegeben werden, die ausschließlich vom UPnP-System berücksichtigt werden sollen. Z.B.: "192.168.0.11,192.168.0.37"
    Du trägst die attribute über die Weboberfläche ein? Poste doch mal ein list Sonos
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 25 Februar 2020, 21:25:34
    Internals:
       DEF        192.168.197.90:4711 120
       DELAYTIME  0
       DeviceName 192.168.197.90:4711
       FUUID      5c719c8a-f33f-96f6-4db8-cec8bf93942b7fce
       INTERVAL   120
       NAME       Sonos
       NEXT_OPEN  1582662289.57093
       NOTIFYDEV  global
       NR         62
       NTFY_ORDER 50-Sonos
       PARTIAL   
       STATE      disconnected
       TYPE       SONOS
       WAITTIME   8
       READINGS:
         2020-02-25 19:54:19   AllPlayer       ['Sonos_Bad','Sonos_Kueche','Sonos_Wohnzimmer','Sonos_Wohnzimmer_TV']
         2020-02-25 19:54:19   AllPlayerCount  4
         2020-02-25 19:54:19   AllPlayerNotBonded ['Sonos_Bad','Sonos_Kueche','Sonos_Wohnzimmer','Sonos_Wohnzimmer_TV']
         2020-02-25 19:54:19   AllPlayerNotBondedCount 4
         2020-02-25 21:23:17   LastActionResult SaveBookmarks: Success!
         2020-02-25 21:23:17   LastProcessAnswer 1582662197.32956
         2020-01-07 19:49:05   LastProcessRestart 2020-01-07 19:49:05
         2020-01-07 19:49:05   LastProcessRestartCount 311
         2020-02-25 21:14:51   LineInPlayer    ['Sonos_Bad']
         2020-02-25 19:54:19   MasterPlayer    ['Sonos_Bad','Sonos_Kueche','Sonos_Wohnzimmer','Sonos_Wohnzimmer_TV']
         2020-02-25 19:54:19   MasterPlayerCount 4
         2020-02-25 20:59:45   MasterPlayerNotPlaying ['Sonos_Bad','Sonos_Kueche','Sonos_Wohnzimmer']
         2020-02-25 20:59:45   MasterPlayerNotPlayingCount 3
         2020-02-25 20:59:45   MasterPlayerPlaying ['Sonos_Wohnzimmer_TV']
         2020-02-25 20:59:45   MasterPlayerPlayingCount 1
         2020-02-25 19:54:22   MusicServicesList {'181' => {'PromoText' => '','Capabilities' => '2627','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-400x400.png','ResolutionSubstitution' => 'w/1500/h/1500/','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-72x72.png','ServiceType' => '46343','SMAPI' => 'https://www.mixcloud.com/sonos-app/','Name' => 'Mixcloud','Resolution' => 1500},'13' => {'PromoText' => '','Capabilities' => '4675','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/3335/3335-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/3335/3335-72x72.png','ServiceType' => '3335','SMAPI' => 'https://stitcher.com/Service/Sonos/Sonos.php','Name' => 'Stitcher','Resolution' => undef},'154' => {'PromoText' => '','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-400x400.png','ResolutionSubstitution' => '.s999','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/39431/39431-72x72.png','ServiceType' => '39431','SMAPI' => 'https://sonos.radionomy.com/SonosService.svc','Name' => 'Radionomy','Resolution' => 999},'183' => {'PromoText' => '','Capabilities' => '37395','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-72x72.png','ServiceType' => '46855','SMAPI' => 'https://narando.com/sonos/service/action','Name' => 'narando','Resolution' => undef},'160' => {'PromoText' => '','Capabilities' => '4611','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-400x400.png','ResolutionSubstitution' => 't500x500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-72x72.png','ServiceType' => '40967','SMAPI' => 'https://soundcloud-go.ws.sonos.com/smapi','Name' => 'SoundCloud','Resolution' => 500},'193' => {'PromoText' => '','Capabilities' => '8769','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49415/49415-400x400.png','ResolutionSubstitution' => '_1500.png','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49415/49415-72x72.png','ServiceType' => '49415','SMAPI' => 'https://api.tunify.com/Sonos/services/Sonos?wsdl','Name' => 'Tunify for Business','Resolution' => 1500},'167' => {'PromoText' => '','Capabilities' => '577','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-400x400.png','ResolutionSubstitution' => '_480x480_','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-72x72.png','ServiceType' => '42759','SMAPI' => 'https://sonosapi.gaana.com/SonosAPI.php','Name' => 'Gaana','Resolution' => 480},'264' => {'PromoText' => '','Capabilities' => '889409','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/67591/67591-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/67591/67591-72x72.png','ServiceType' => '67591','SMAPI' => 'https://api.radio.de/sonos/v1/ws','Name' => 'radio.net','Resolution' => undef},'31' => {'PromoText' => '','Capabilities' => '10835','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-72x72.png','ServiceType' => '7943','SMAPI' => 'https://www.qobuz.com/api.xml/0.3/sonos','Name' => 'Qobuz','Resolution' => undef},'271' => {'PromoText' => '','Capabilities' => '602688','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/69383/69383-400x400.png','ResolutionSubstitution' => '&amp;w=1500&amp;h=1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/69383/69383-72x72.png','ServiceType' => '69383','SMAPI' => 'https://idg-prod-sonos.herokuapp.com/smapi/action','Name' => 'IDAGIO','Resolution' => 1500},'260' => {'PromoText' => '','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/66567/66567-400x400.png','ResolutionSubstitution' => '_1500.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/66567/66567-72x72.png','ServiceType' => '66567','SMAPI' => 'https://sonos.minidisco.nl/server.php','Name' => 'Minidisco','Resolution' => 1500},'218' => {'PromoText' => '','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-72x72.png','ServiceType' => '55815','SMAPI' => 'https://soundsuit.fm/smapi','Name' => 'Soundsuit.fm','Resolution' => undef},'221' => {'PromoText' => '','Capabilities' => '6675','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-72x72.png','ServiceType' => '56583','SMAPI' => 'https://sonos.nugs.net/soap/livephish','Name' => 'LivePhish+','Resolution' => undef},'222' => {'PromoText' => '','Capabilities' => '531027','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-72x72.png','ServiceType' => '56839','SMAPI' => 'https://sonos.nugs.net/soap/nugs','Name' => 'nugs.net','Resolution' => undef},'162' => {'PromoText' => '','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','ServiceType' => '41479','SMAPI' => 'https://sonos.townsquaremedia.com/index.php','Name' => 'radioPup','Resolution' => undef},'150' => {'PromoText' => '','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-72x72.png','ServiceType' => '38407','SMAPI' => 'https://www.rusc.com/sonos.asmx','Name' => 'RUSC','Resolution' => undef},'2' => {'PromoText' => '','Capabilities' => '25180755','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/519/519-400x400.png','ResolutionSubstitution' => '1000x1000-000000-80-0-0.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/519/519-72x72.png','ServiceType' => '519','SMAPI' => 'https://api.deezer.com/sonos','Name' => 'Deezer','Resolution' => 1000},'223' => {'PromoText' => '','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-72x72.png','ServiceType' => '57095','SMAPI' => 'https://sonos-smapi.rautemusik.fm/smapi','Name' => 'RauteMusik.FM','Resolution' => undef},'232' => {'PromoText' => '','Capabilities' => '577','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-400x400.png','ResolutionSubstitution' => '_1500.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-72x72.png','ServiceType' => '59399','SMAPI' => 'https://sonoslb.radioapi.io/radioplayer','Name' => 'Radioplayer','Resolution' => 1500},'226' => {'PromoText' => '','Capabilities' => '636481','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57863/57863-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57863/57863-72x72.png','ServiceType' => '57863','SMAPI' => 'https://sonosapi.storytel.com/sonos/1.0','Name' => 'Storytel','Resolution' => undef},'265' => {'PromoText' => '','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/67847/67847-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/67847/67847-72x72.png','ServiceType' => '67847','SMAPI' => 'https://api.powergroup.com.tr/Sonos/','Name' => 'PowerApp','Resolution' => undef},'256' => {'PromoText' => '','Capabilities' => '594496','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/65543/65543-400x400.png','ResolutionSubstitution' => 'w_1500,h_1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/65543/65543-72x72.png','ServiceType' => '65543','SMAPI' => 'https://cbcmusic-sonos-beta.azurewebsites.net/SonosService.svc','Name' => 'CBC Radio &amp; Music','Resolution' => 1500},'212' => {'PromoText' => '','Capabilities' => '1937985','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-400x400.png','ResolutionSubstitution' => 'width=1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-72x72.png','ServiceType' => '54279','SMAPI' => 'https://sonos.plex.tv/v2.2/soap','Name' => 'Plex','Resolution' => 1500},'217' => {'PromoText' => '','Capabilities' => '4610','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-400x400.png','ResolutionSubstitution' => '_1500.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-72x72.png','ServiceType' => '55559','SMAPI' => 'https://www.fitradio.com/apisonos/ws','Name' => 'FIT Radio Workout Music','Resolution' => 1500},'279' => {'PromoText' => '','Capabilities' => '577','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/71431/71431-400x400.png','ResolutionSubstitution' => '_1500.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/71431/71431-72x72.png','ServiceType' => '71431','SMAPI' => 'https://sonoslb.radioapi.io/global','Name' => 'Global Player','Resolution' => 1500},'239' => {'PromoText' => '','Capabilities' => '1095249','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/61191/61191-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/61191/61191-72x72.png','ServiceType' => '61191','SMAPI' => 'https://sonos.audible.com/smapi','Name' => 'Audible','Resolution' => undef},'36' => {'PromoText' => '','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9223/9223-400x400.png','ResolutionSubstitution' => '_290.png','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9223/9223-72x72.png','ServiceType' => '9223','SMAPI' => 'https://sonos.hos.com/SOAP/Server1.2.php','Name' => 'Hearts of Space','Resolution' => 290},'198' => {'PromoText' => '','Capabilities' => '2627','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-72x72.png','ServiceType' => '50695','SMAPI' => 'https://api.anghami.com/anghmob/SonosAPI.php','Name' => 'Anghami','Resolution' => undef},'268' => {'PromoText' => '','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/68615/68615-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/68615/68615-72x72.png','ServiceType' => '68615','SMAPI' => 'https://sonos.mytuner.mobi/api/v2/sonos/soap','Name' => 'myTuner Radio','Resolution' => undef},'283' => {'PromoText' => '','Capabilities' => '102976','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/72455/72455-400x400.png','ResolutionSubstitution' => '1500x1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/72455/72455-72x72.png','ServiceType' => '72455','SMAPI' => 'https://sonos.calm.com/server.php','Name' => 'Calm','Resolution' => 1500},'216' => {'PromoText' => '','Capabilities' => '4627','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-400x400.png','ResolutionSubstitution' => '1500x1500.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-72x72.png','ServiceType' => '55303','SMAPI' => 'https://sonosapi-aldimusic.rhapsody.com/smapi','Name' => 'Aldi life Musik','Resolution' => 1500},'151' => {'PromoText' => '','Capabilities' => '98899','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-72x72.png','ServiceType' => '38663','SMAPI' => 'https://mclients.googleapis.com/music/sonos/wsf/smapi','Name' => 'Google Play Music','Resolution' => undef},'273' => {'PromoText' => '','Capabilities' => '561729','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/69895/69895-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/69895/69895-72x72.png','ServiceType' => '69895','SMAPI' => 'https://klassiksonos.prod.global.7digital.net/sonos.asmx','Name' => 'Klassik Radio Select','Resolution' => undef},'301' => {'PromoText' => '','Capabilities' => '577','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/77063/77063-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/77063/77063-72x72.png','ServiceType' => '77063','SMAPI' => 'https://sonos-api.primephonic.com/server.php','Name' => 'Primephonic','Resolution' => undef},'20' => {'PromoText' => '','Capabilities' => '2579','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-400x400.png','ResolutionSubstitution' => '640x640.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/5127/5127-72x72.png','ServiceType' => '5127','SMAPI' => 'https://sonos.tidalhifi.com/sonos-wimp','Name' => 'WiMP','Resolution' => 640},'38' => {'PromoText' => '','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-400x400.png','ResolutionSubstitution' => '_800.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-72x72.png','ServiceType' => '9735','SMAPI' => 'https://sonos-service.7digital.com/sonos.asmx','Name' => '7digital','Resolution' => 800},'157' => {'PromoText' => '','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-72x72.png','ServiceType' => '40199','SMAPI' => 'https://sns.bandcamp.com/api/sonos/2/sonos_api','Name' => 'Bandcamp','Resolution' => undef},'203' => {'PromoText' => '','Capabilities' => '595','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-400x400.png','ResolutionSubstitution' => '1500x1500.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-72x72.png','ServiceType' => '51975','SMAPI' => 'https://sonosapi-napster.rhapsody.com/smapi','Name' => 'Napster','Resolution' => 1500},'184' => {'PromoText' => '','Capabilities' => '295427','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-72x72.png','ServiceType' => '47111','SMAPI' => 'https://sonos.stingray.com/ws/Sonos','Name' => 'Stingray Music','Resolution' => undef},'171' => {'PromoText' => '','Capabilities' => '4609','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-400x400.png','ResolutionSubstitution' => '_1500.png','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-72x72.png','ServiceType' => '43783','SMAPI' => 'https://sonos.mix.moodmedia.com/api','Name' => 'Mood Mix','Resolution' => 1500},'275' => {'PromoText' => '','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/70407/70407-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/70407/70407-72x72.png','ServiceType' => '70407','SMAPI' => 'https://sonos.radioart.com/','Name' => 'ARTRADIO - RadioArt.com','Resolution' => undef},'204' => {'PromoText' => '','Capabilities' => '3117633','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-400x400.png','ResolutionSubstitution' => '1200x1200','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-72x72.png','ServiceType' => '52231','SMAPI' => 'https://sonos-music.apple.com/ws/SonosSoap','Name' => 'Apple Music','Resolution' => 1200},'174' => {'PromoText' => '','Capabilities' => '47699','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-400x400.png','ResolutionSubstitution' => '640x640.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-72x72.png','ServiceType' => '44551','SMAPI' => 'https://smapi.tidal.com/sonos','Name' => 'TIDAL','Resolution' => 640},'164' => {'PromoText' => '','Capabilities' => '12865','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-400x400.png','ResolutionSubstitution' => '500x500.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-72x72.png','ServiceType' => '41991','SMAPI' => 'https://www.saavn.com/apps/sonos/SonosAPI.php','Name' => 'Saavn','Resolution' => 500},'211' => {'PromoText' => '','Capabilities' => '515','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-400x400.png','ResolutionSubstitution' => '.l.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-72x72.png','ServiceType' => '54023','SMAPI' => 'https://themusicmanager.eu/sonos/SonosAPI.php','Name' => 'The Music Manager','Resolution' => 119},'231' => {'PromoText' => '','Capabilities' => '537153','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-400x400.png','ResolutionSubstitution' => '640','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-72x72.png','ServiceType' => '59143','SMAPI' => 'https://moapi.wolfgangs.com/ws/wolfgangs.asmx','Name' => 'Wolfgang&apos;s Music','Resolution' => 640},'262' => {'PromoText' => '','Capabilities' => '33281','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/67079/67079-400x400.png','ResolutionSubstitution' => '_290x290.png','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/67079/67079-72x72.png','ServiceType' => '67079','SMAPI' => 'https://sonos.mycloud.com/musicservice','Name' => 'My Cloud Home','Resolution' => 290},'230' => {'PromoText' => '','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-400x400.png','ResolutionSubstitution' => '/1000x1000/','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-72x72.png','ServiceType' => '58887','SMAPI' => 'https://www.nts.live/smapi','Name' => 'NTS Radio','Resolution' => 1000},'163' => {'PromoText' => '','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-400x400.png','ResolutionSubstitution' => '/large/','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-72x72.png','ServiceType' => '41735','SMAPI' => 'https://sonos.spreaker.com/sonos/service/v1','Name' => 'Spreaker','Resolution' => 200},'233' => {'PromoText' => '','Capabilities' => '1028672','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59655/59655-400x400.png','ResolutionSubstitution' => '/960/','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59655/59655-72x72.png','ServiceType' => '59655','SMAPI' => 'https://integrations.pocketcasts.com/service/smapi','Name' => 'Pocket Casts','Resolution' => 960},'189' => {'PromoText' => '','Capabilities' => '513','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-400x400.png','ResolutionSubstitution' => '_1500.png','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-72x72.png','ServiceType' => '48391','SMAPI' => 'https://provider.sound-machine.com/sonosapi','Name' => 'SOUNDMACHINE','Resolution' => 1500},'237' => {'PromoText' => '','Capabilities' => '328193','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/60679/60679-400x400.png','ResolutionSubstitution' => 'artwork_1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/60679/60679-72x72.png','ServiceType' => '60679','SMAPI' => 'https://api.storeplay.com.au/sonos/SonosService.asmx','Name' => 'storePlay','Resolution' => 1500},'235' => {'PromoText' => '','Capabilities' => '70145','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/60167/60167-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/60167/60167-72x72.png','ServiceType' => '60167','SMAPI' => 'https://sonos.playsr.com/ws','Name' => 'Sveriges Radio','Resolution' => undef},'192' => {'PromoText' => '','Capabilities' => '5632','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-400x400.png','ResolutionSubstitution' => '-1500.png','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-72x72.png','ServiceType' => '49159','SMAPI' => 'https://www.focusatwill.com/sonos/action','Name' => 'focus@will','Resolution' => 1500},'201' => {'PromoText' => '','Capabilities' => '2208321','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-72x72.png','ServiceType' => '51463','SMAPI' => 'https://sonos.amazonmusic.com/','Name' => 'Amazon Music','Resolution' => undef},'277' => {'PromoText' => '','Capabilities' => '37377','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/70919/70919-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/70919/70919-72x72.png','ServiceType' => '70919','SMAPI' => 'https://psapi.nrk.no/sonos/sonos.svc','Name' => 'NRK Radio','Resolution' => undef},'191' => {'PromoText' => '','Capabilities' => '1030739','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-72x72.png','ServiceType' => '48903','SMAPI' => 'https://api.classicalarchives.com/smapi/endpoint','Name' => 'Classical Archives','Resolution' => undef},'270' => {'PromoText' => '','Capabilities' => '4672','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/69127/69127-400x400.png','ResolutionSubstitution' => '1000.png','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/69127/69127-72x72.png','ServiceType' => '69127','SMAPI' => 'https://sonos.relisten.net/mp3','Name' => 'Relisten','Resolution' => 1000},'169' => {'PromoText' => '','Capabilities' => '4672','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-400x400.png','ResolutionSubstitution' => '_1500.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-72x72.png','ServiceType' => '43271','SMAPI' => 'https://sonos.tribeofnoise.com/server-v2.1.php','Name' => 'Tribe of Noise','Resolution' => 1500},'234' => {'PromoText' => '','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59911/59911-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59911/59911-72x72.png','ServiceType' => '59911','SMAPI' => 'https://sonos.deliver.media/musicservice','Name' => 'deliver.media','Resolution' => undef},'294' => {'PromoText' => '','Capabilities' => '528897','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/75271/75271-400x400.png','ResolutionSubstitution' => '.jpg','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/75271/75271-72x72.png','ServiceType' => '75271','SMAPI' => 'https://rjsonos.app/musicservice','Name' => 'Radio Javan','Resolution' => 600},'269' => {'PromoText' => '','Capabilities' => '512','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/68871/68871-400x400.png','ResolutionSubstitution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/68871/68871-72x72.png','ServiceType' => '68871','SMAPI' => 'https://sonos.antennebayern.customers.nuuk.de/wsdl','Name' => 'ANTENNE BAYERN','Resolution' => undef}}
         2020-02-25 19:54:22   MusicServicesListVersion RINCON_949F3E64A0EE01400:1123
         2019-06-20 12:33:27   ShareIndexInProgress 0
         2018-03-03 15:38:09   UserID_Spotify  SA_RINCON2311_X_%23Svc2311-0-Token
         2020-02-25 21:19:41   ZoneGroupState  <ZoneGroupState><ZoneGroups><ZoneGroup Coordinator="RINCON_5CAAFD0D1DCE01400" ID="RINCON_5CAAFD0D1DCE01400:34"><ZoneGroupMember UUID="RINCON_5CAAFD0D1DCE01400" Location="http://192.168.197.55:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="54.2-72160" SWGen="1" MinCompatibleVersion="53.0-00000" LegacyCompatibleVersion="36.0-00000" BootSeq="77" TVConfigurationError="0" HdmiCecAvailable="0" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2467" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceConfigState="0" MicEnabled="0" AirPlayEnabled="1" IdleState="1" MoreInfo=""/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFD01DBDE01400" ID="RINCON_5CAAFD01DBDE01400:55"><ZoneGroupMember UUID="RINCON_5CAAFD01DBDE01400" Location="http://192.168.197.27:1400/xml/device_description.xml" ZoneName="Küche" Icon="x-rincon-roomicon:kitchen" Configuration="1" SoftwareVersion="54.2-72160" SWGen="1" MinCompatibleVersion="53.0-00000" LegacyCompatibleVersion="36.0-00000" BootSeq="76" TVConfigurationError="0" HdmiCecAvailable="0" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2467" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceConfigState="0" MicEnabled="0" AirPlayEnabled="1" IdleState="1" MoreInfo=""/></ZoneGroup><ZoneGroup Coordinator="RINCON_5CAAFD05436801400" ID="RINCON_5CAAFD05436801400:80"><ZoneGroupMember UUID="RINCON_5CAAFD05436801400" Location="http://192.168.197.28:1400/xml/device_description.xml" ZoneName="Bad" Icon="x-rincon-roomicon:bathroom" Configuration="1" SoftwareVersion="54.2-72160" SWGen="1" MinCompatibleVersion="53.0-00000" LegacyCompatibleVersion="36.0-00000" BootSeq="71" TVConfigurationError="0" HdmiCecAvailable="0" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2467" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="1" SecureRegState="3" VoiceConfigState="0" MicEnabled="0" AirPlayEnabled="1" IdleState="1" MoreInfo=""/></ZoneGroup><ZoneGroup Coordinator="RINCON_949F3E64A0EE01400" ID="RINCON_949F3E64A0EE01400:2641092768"><ZoneGroupMember UUID="RINCON_949F3E64A0EE01400" Location="http://192.168.197.58:1400/xml/device_description.xml" ZoneName="Wohnzimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="54.2-72160" SWGen="1" MinCompatibleVersion="53.0-00000" LegacyCompatibleVersion="36.0-00000" BootSeq="339" TVConfigurationError="0" HdmiCecAvailable="0" WirelessMode="1" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2467" BehindWifiExtender="0" WifiEnabled="1" Orientation="1" RoomCalibrationState="1" SecureRegState="3" VoiceConfigState="0" MicEnabled="0" AirPlayEnabled="0" IdleState="0" MoreInfo=""/></ZoneGroup></ZoneGroups><VanishedDevices></VanishedDevices></ZoneGroupState>
         2019-05-12 12:41:32   myStatus        opened
         2020-02-25 21:23:49   state           disconnected
    Attributes:
       alias      Sonos
       bookmarkPlaylistDefinition Bookmark:(Sonos_Bad|Sonos_Kueche|Sonos_Wohnzimmer)::600
       bookmarkSaveDir /opt/fhem/sonosbookmarks
       bookmarkTitleDefinition Bookmark:(Sonos_Bad|Sonos_Kueche|Sonos_Wohnzimmer)::600
       ignoredIPs 192.168.197.29,192.168.197.96,192.168.197.95
       room       System Geräte
       targetSpeakDir /opt/fhem/SonosSpeak
       targetSpeakFileTimestamp 1
       targetSpeakMP3FileDir /opt/fhem/SonosSpeak
       targetSpeakURL \\192.168.197.90\SonosSpeak
       verbose    0


    Wenn ich in ignoredIP nur eine IP eintrage scheint er diese IP Adresse zu ignorieren, sobald ich mehrere eintrage geht es nicht mehr.

    usedonlyIPs habe ich noch nicht getestet, welche ip muß dort eingetragen werden, alle Sonos Player die ich verwende und müssen alle Dash Button die ich mit Sonos verwende auch dort rein.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 25 Februar 2020, 21:53:24
    Es geht bei dem Modul einzig um Sonos Player, also 4 IPs - Dashbutton ??? Was meinst Du damit?
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 25 Februar 2020, 22:00:03
    Mit Dash Button starte ich verschiedene Playlisten mit Sonos.
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 25 Februar 2020, 22:14:08
    Mit usedonlyIPs bleiben alle Player auf Player disappeared.

    Ok, ignoredIP gelöscht und jetzt werden die Player seltsamerweise wieder eingebunden, ob die Meldungen weg gehen werde ich morgen sehen, ich geh jetzt schlafen.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 25 Februar 2020, 22:29:48
    lange genug gewartet? Funktioniert bei mir sauber :)
    Titel: Sonos steuern
    Beitrag von: hoppel118 am 25 Februar 2020, 23:09:10
    In diesem Zusammenhang mal eine Frage: Wie analysiere ich, welches Gerät bzw. welche IP Adresse ich ignorieren sollte? Welche logs muss ich anschauen bzw. in welchem verbose Level?

    Ich habe hier einige IPs, die daran Schuld sein könnten, dass meine Player regelmäßig in den Status disappeared wechseln und das zentrale Sonos Device in den Status disabled.

    Ich arbeite gerade an einem Workaround per DOIF. In Kombination mit einem at funktioniert das bereits, siehe nachfolgenden Post:


    https://forum.fhem.de/index.php?topic=46058.msg1027028#msg1027028

    Viele Grüße Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 25 Februar 2020, 23:22:45
    Wenn Du ungeahnte Dinge in deinem Netz hast würde ich mit usedonlyIPs  arbeiten. Die stehen ja fest ;)
    Oder du ignorierst ganze Bereiche, dort geht ja auch regEx.
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 26 Februar 2020, 00:11:18
    Ungeahnte Dinge..., ja, genau das ist das Problem. :D

    Mit usedonlyIPs arbeite ich bereits. Das sieht wie folgt aus:

    attr Sonos usedonlyIPs xxx.xxx.xxx.50,xxx.xxx.xxx.51,xxx.xxx.xxx.52,xxx.xxx.xxx.53,xxx.xxx.xxx.54,xxx.xxx.xxx.55,xxx.xxx.xxx.56,xxx.xxx.xxx.57,xxx.xxx.xxx.58,xxx.xxx.xxx.59,xxx.xxx.xxx.60

    Parallel arbeite ich mit ignoredIPs:

    attr Sonos ignoredIPs xxx.xxx.xxx.48,xxx.xxx.xxx.49

    Das ist zwar doppelt gemoppelt, aber beides einzeln funktioniert auch nicht. Deswegen möchte ich gern verstehen, wie ich erkennen kann, welche IP genau stört.

    Hast du dazu eine Idee?

    Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 26 Februar 2020, 00:24:20
    Zitat von: hoppel118 am 26 Februar 2020, 00:11:18
    Hast du dazu eine Idee?
    Nö leider nicht, ich habe bisher nur geahnte Dinge :)
    Aber zu deiner attr:
    Edit: Offenbar geht die Bereichsangabe ([50-60]) nicht :(
    So korrigiert funktioniert es auf alle Fälle und ist immer noch kürzer
    attr Sonos usedonlyIPs /xxx.xxx.xxx.(50|51|52|53|54|55|56|57|58|59|60)/
    sollte es tun :)
    So geht es auch:
    attr Sonos usedonlyIPs /xxx.xxx.xxx.(5\d|60)/
    Quelle https://wiki.fhem.de/wiki/SONOS

    Im Übrigen funktioniert bei mir attr Sonos disable 1 als Neustart nur bedingt (zu ungeduldig?) ein shutdwon restart funktioniert besser.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 26 Februar 2020, 15:53:51
    Ok, die Meldung ist nicht mehr im Log erschienen, heute Abend noch schauen ob die Dash Button gehen dann passt das.
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 26 Februar 2020, 22:24:01
    Moin Otto,

    das nachfolgende habe ich jetzt mal bei mir übernommen:

    Zitat von: Otto123 am 26 Februar 2020, 00:24:20
    So geht es auch:
    attr Sonos usedonlyIPs /xxx.xxx.xxx.(5\d|60)/
    Quelle https://wiki.fhem.de/wiki/SONOS

    Irgendwo hatte ich das auch schonmal gesehen, habe dann aber doch nach und nach einfach die IP-Adressen dazugeschrieben. ;)

    Zitat von: Otto123 am 26 Februar 2020, 00:24:20
    Im Übrigen funktioniert bei mir attr Sonos disable 1 als Neustart nur bedingt (zu ungeduldig?) ein shutdwon restart funktioniert besser.

    Richtig, man muss warten bis der Subprozess vollständig beendet ist. Mein DOIF wartet zw. "attr Sonos disable 1" und "deleteattr Sonos disable" 60 Sekunden. Wahrscheinlich etwas übertrieben, aber es funktioniert.

    Danke dir und Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 27 Februar 2020, 15:56:41
    Hi,

    ich habe in letzer Zeit Sonos immer mal umgebaut und erweitert. Irgendwann habe ich mal zwei Dinge gelernt:
    delete Sonos
    define Sonos SONOS

    Ja und dann war da ja noch was: Ein paar grundlegende Attribute bei Sonos. ;) Angeregt durch ein Beispiel von Rudi zum automatischem Umbenennen von MQTT2 Geräten bei deren Erzeugung, habe ich mal folgendes gebaut:
    defmod n_SonosDefine notify global:DEFINED.Sonos attr $EVTPART1 targetSpeakDir /mnt/SonosSpeak;;\
    attr $EVTPART1 targetSpeakFileHashCache 1;;\
    attr $EVTPART1 targetSpeakFileTimestamp 1;;\
    attr $EVTPART1 targetSpeakURL \\raspib3\SonosSpeak;;\
    attr $EVTPART1 verbose 1

    damit ist Sonos einreißen und neu machen ziemlich sorglos  8) Man vergisst nichts nachzuarbeiten

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 29 Februar 2020, 09:46:46
    Ich hatte bisher immer Spotify, die Cover von meinen Sonos Favoriten wurden immer problemlos angezeigt. Vor kurze, bin ich zu Amazon Music gewechselt und bekomme jetzt keiner Cover meiner Sonos Favoriten in Fhem mehr angezeigt.

    Wenn ich auf ein schwarzes Feld drücke und ein Album wird abgespielt wird in der Playlist das richtige Cover gezeigt.
    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 29 Februar 2020, 12:34:50
    Ich habe seit einiger Zeit das Problem, dass regelmässig die Player in FHEM verschwinden. Inzwischen ist es so, dass bereits nach 5 Minuten nach dem Neustart alle PLayer verschwinden. Es scheint daranzu liegen, dass der SubProcess verschwindet (und oder von aussen beendet wird):

    Eintrag von heute im Subprocesslog:


    2020.02.29 12:26:32 2: SONOS1: Error during UPnP-Handling: invalid method: ->GetZoneGroupState() at ./FHEM/00_SONOS.pm line 6349 thread 1.

    2020.02.29 12:26:32 1: SONOS1: UPnP-Thread wurde beendet.
    2020.02.29 12:28:28 3: SONOS0: Disconnecting client and shutdown server...
    2020.02.29 12:28:28 3: SONOS0: Trying to kill LongJobs_Thread...
    2020.02.29 12:28:28 3: SONOS0: Trying to kill IsAlive_Thread...
    2020.02.29 12:28:28 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2020.02.29 12:28:28 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...


    Im FHEM-Log:

    2020.02.29 12:25:58 1: Timeout for FHEM::XiaomiBTLESens::ExecGatttool_Run reached, terminated process 690
    Error loading SCPD document: Connection timed out at ./FHEM/00_SONOS.pm line 5843 thread 1.
    2020.02.29 12:28:27 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 1582975557 ~ 2020-02-29 12:25:57)... try to restart the process and connection...
    Perl exited with active threads:
    0 running and unjoined
    1 finished and unjoined
    3 running and detached
    2020.02.29 12:29:28 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4764.


    FHEM ist auf aktuellem Stand (gestern nochmal upgedated ohne das sich etwas gebessert hätte).

    Momentan habe ich alle Steuerungen von Sonos über FHEM deaktiviert, weil Sonos sowieso meistens disappeared ist...






    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 29 Februar 2020, 12:46:51
    Hast Du mal mit attr Sonos usedonlyIPs  probiert?

    Klingt doch als ob er einen Fehlinterpretiert?
    Error loading SCPD document

    Wie viele Player hast Du? 3 -> 3 running and detached
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 29 Februar 2020, 14:22:09
    Hallo,

    bei mir laufen aktuell 4 Sonos One, eine Playbar und ein Sub ohne Problem. Lediglich eine Meldung im Log tauch regelmäßig auf.
    2020.02.29 14:20:46 1: SONOS1: Service-subscribing not possible due to missing TransportService

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 29 Februar 2020, 18:01:39
    Zitat von: Otto123 am 29 Februar 2020, 12:46:51
    Hast Du mal mit attr Sonos usedonlyIPs  probiert?

    Klingt doch als ob er einen Fehlinterpretiert?
    Error loading SCPD document

    Wie viele Player hast Du? 3 -> 3 running and detached

    Danke für den Hinweis - nach Umzug hatte ich das nicht mehr gesetzt. Im log habe ich auch keine falsche oder unbekannte IP gesehen. Inzwischen sind es aber auch 9 Player und ein Boost da wird das etwas unübersichtlich.

    Jetzt mal alle in einen eigenen IP-Bereich verschoben und alles neugestartet mit usedOnlyIp gesetzt. Jetzt warte ich mal ab ob es stabiler wird.

    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 04 März 2020, 23:03:26
    Zitat von: viegener am 29 Februar 2020, 12:34:50
    Ich habe seit einiger Zeit das Problem, dass regelmässig die Player in FHEM verschwinden. Inzwischen ist es so, dass bereits nach 5 Minuten nach dem Neustart alle PLayer verschwinden. Es scheint daranzu liegen, dass der SubProcess verschwindet (und oder von aussen beendet wird):

    Eintrag von heute im Subprocesslog:


    2020.02.29 12:26:32 2: SONOS1: Error during UPnP-Handling: invalid method: ->GetZoneGroupState() at ./FHEM/00_SONOS.pm line 6349 thread 1.

    2020.02.29 12:26:32 1: SONOS1: UPnP-Thread wurde beendet.
    2020.02.29 12:28:28 3: SONOS0: Disconnecting client and shutdown server...
    2020.02.29 12:28:28 3: SONOS0: Trying to kill LongJobs_Thread...
    2020.02.29 12:28:28 3: SONOS0: Trying to kill IsAlive_Thread...
    2020.02.29 12:28:28 3: SONOS0: Trying to kill PlayerRestore_Thread...
    2020.02.29 12:28:28 0: SONOS0: Das Lauschen auf der Schnittstelle wurde beendet. Prozess endet nun auch...


    Im FHEM-Log:

    2020.02.29 12:25:58 1: Timeout for FHEM::XiaomiBTLESens::ExecGatttool_Run reached, terminated process 690
    Error loading SCPD document: Connection timed out at ./FHEM/00_SONOS.pm line 5843 thread 1.
    2020.02.29 12:28:27 2: SONOS0: LastProcessAnswer way too old (Lastanswer: 1582975557 ~ 2020-02-29 12:25:57)... try to restart the process and connection...
    Perl exited with active threads:
    0 running and unjoined
    1 finished and unjoined
    3 running and detached
    2020.02.29 12:29:28 1: PERL WARNING: Use of uninitialized value $value in string eq at fhem.pl line 4764.


    FHEM ist auf aktuellem Stand (gestern nochmal upgedated ohne das sich etwas gebessert hätte).

    Momentan habe ich alle Steuerungen von Sonos über FHEM deaktiviert, weil Sonos sowieso meistens disappeared ist...



    Muss leider auf mein Problem zurückkommen:

    Auch nach Umstellen auf usedonlyIPs ist leider mein Problem nachwievor da. Inzwischen bin ich aber etwas weitergekommen. Sonos nimmt an, dass der Subprozess nicht mehr läuft (wg. eines langen freezes vermutlich durch LGTV) und versucht deshalb den Subprozess neu zustarten.

    Dieser Neustart kommt aber nicht zustande und es findet sicht auch keine Spur davon.


    Titel: Antw:Sonos steuern
    Beitrag von: TomLee am 04 März 2020, 23:23:22
    Hab jetzt knapp 3 Wochen meine 2 LGTV_WebOS-Definitionen disabled, seitdem kein einziges disappeared mehr.

    bei Marko hab ich das auch schon angesprochen, die Antwort war:

    ZitatRein vom Code her gibt es keinen Zusammenhang. Sonos verwendet DevIO zur Kommunikation und das WebOS Modul baut eine eigene Verbindung auf und verwaltet sie.
    Man müsste sich mal ein Logfile anschauen.

    Zu den freezes: Hast du das Attribut channelguide in den LGTV_WebOS-Definitionen aktiviert, wenn ja mal löschen und schauen ob die freezes ausbleiben.

    Gruß

    Thomas
    Titel: Antw:Sonos steuern
    Beitrag von: viegener am 05 März 2020, 09:47:37
    Zitat von: TomLee am 04 März 2020, 23:23:22
    Hab jetzt knapp 3 Wochen meine 2 LGTV_WebOS-Definitionen disabled, seitdem kein einziges disappeared mehr.

    bei Marko hab ich das auch schon angesprochen, die Antwort war:

    Zu den freezes: Hast du das Attribut channelguide in den LGTV_WebOS-Definitionen aktiviert, wenn ja mal löschen und schauen ob die freezes ausbleiben.

    Gruß

    Thomas

    Danke für die Info - dann werde ich mich auch mal in den Thread zu LG mit einschalten.

    Generell ist nach dem disable von LG alles ruhig geblieben bei SONOS, also betrachte ich den ZUsammenhang mit LGTV erstmal als gültige Annahme.
    Attribut channelguide ist nicht gesetzt.

    Bleibt bei Sonos nur die Frage, warum klappt der Restart nicht?
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 05 März 2020, 14:29:33
    Vielleicht hätte ich besser mein Problem hier posten sollen, weil da vermutlich die Sonos-Spezialisten alle mitlesen. Daher hier noch mal ein Link auf mein problem, welches ich seit gestern habe und mit dem ich nicht mehr weiterkomme. Vielleicht hat hier jemand ja eine Idee, wie ich da rangehen könnte.

    https://forum.fhem.de/index.php/topic,108993.msg1029464.html#msg1029464

    Zusammengefasst: Sobald der erste Zugriff auf Sonos in FHEM erfolgt, scheint das System einzufrieren (so stellt es sich zumindest für mich da)
    Titel: Antw:Sonos steuern
    Beitrag von: Gunther am 08 März 2020, 19:55:37
    Folgendes möchte ich machen, werde aber noch nicht fündig.

    Ich habe einen 6-fach Homematic-Taster, den ich im Bad nutzen möchte um den Sonos-Verstärker zu steuern.

    Im ersten Step:
    Taste zum "Einschalten" des Sonos.
    Nun soll ein Radiosender (WDR2) gestartet werden.
    Vermutlich muss ich das mit
    set Sonos_OGBadezimmer StartRadio SENDER
    machen.
    1) Ich verstehe noch nicht, wie ich an die SENDER und Bezeichnungen komme.

    Kann ich nun eine Liste mit Sendern anlegen, die ich mit 2 Tasten vor und zurück gehen kann?
    2) Bin ich hier auf dem richtigen Weg?
    https://wiki.fhem.de/wiki/DOIF/Mehrfachnutzung_eines_Tasters (https://wiki.fhem.de/wiki/DOIF/Mehrfachnutzung_eines_Tasters)
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 08 März 2020, 20:32:54
    Hallo Gunther,

    wenn Du in Sonos Favoriten definiert hast, stehen diese im Readin FavouritesList zur Verfügung. Ich wähle dann einen Sender von hier aus.

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 08 März 2020, 21:23:30
    Also das Reading gibt es bei mir nicht. Aber so geht es bei mir:
    Einen SonosPlayer öffnen:
    get Sonos_Buero Favourites
    Dann ins Reading LastActionResult schauen

    Ohne Favourite habe ich es nie hinbekommen!
    Die Leerzeichen im Favourite musst DU mit %20 ersetzen: "Radio Leipzig RP"-> set Sonos_Bad StartFavourite Radio%20Leipzig%20RP

    Liste weiß ich leider nicht.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: noom0815 am 26 März 2020, 00:19:33
    Hallo zusammen,

    mir ist aufgefallen, dass sich der STATE eines devices im SONOSPLAYER auf PLAYING ändert, sobald dieses einer Gruppe hinzugefügt wird - auch wenn der STATE der Parent-Speaker gleich STOPPED ist. Da ich die STATEs für verschiedene Funktionen abfrage, bekomme ich hiermit Probleme, da nur reagiert werden soll, wenn die Speaker tatsächlich spielen...

    Macht dieses Verhalten Sinn?
    Gibt es eine Möglichkeit, dies abzustellen?


    Danke und Grüße,
    Ian
    Titel: Antw:Sonos steuern
    Beitrag von: eddy242 am 26 März 2020, 08:50:23
    Hallo zusammen,

    es geht um Sonos Speak und die Sprachausgabe-Files, die im Datesystem vom SONOS Modul erzeugt werden. Ich hatte bereits unter Hardware-Linux-Docker eine Anfrage https://forum.fhem.de/index.php/topic,89745.msg1034994.html#msg1034994 (https://forum.fhem.de/index.php/topic,89745.msg1034994.html#msg1034994) eingestellt.

    Die Essenz ist, dass neue Files früher mit der Berechtigung rw-rw-r-- angelegt wurden, jetzt mit rw-rw----. Das führt dazu dass das Sonos-System sie auf der Samba-Freigabe Freigabe nicht mehr lesen darf. Das ganze Gefüge lief bei mir einwandfrei seit Monaten. An meinem System habe ich keine Konfigurationsänderungen durchgeführt. Den Zeitpunkt und die Ursache der Änderungen kann ich nicht genau eingrenzen, ich nehme nur war dass seit einigen Tagen die Sprachausgabe nicht mehr läuft und gestern habe ich angefangen zu debuggen.

    Danke!
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 26 März 2020, 09:15:46
    Zitat von: noom0815 am 26 März 2020, 00:19:33
    mir ist aufgefallen, dass sich der STATE eines devices im SONOSPLAYER auf PLAYING ändert, sobald dieses einer Gruppe hinzugefügt wird - auch wenn der STATE der Parent-Speaker gleich STOPPED ist. Da ich die STATEs für verschiedene Funktionen abfrage, bekomme ich hiermit Probleme, da nur reagiert werden soll, wenn die Speaker tatsächlich spielen...
    Hallo Ian,

    Du redest von state und nicht von STATE?!?
    list TYPE=SONOSPLAYER STATE

    Sonos_Arbeitszimmer      appeared ~ 0.0% (359:47:18 / 0:00:00)
    Sonos_Bad                appeared ~ 0.0% (0:00:00 / 0:00:00)
    Sonos_BadWanne           appeared ~ 0.0% (0:00:00 / 0:00:00)
    Sonos_Buero              appeared ~ 0.0% (0:00:00 / 0:04:39)
    Sonos_Kueche             appeared ~ 0.0% (0:00:00 / 0:00:00)
    Sonos_Wohnzimmer         appeared ~ 0.0% (0:00:00 / 0:03:16)
    Sonos_Wohnzimmer_LR      appeared ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
    Sonos_Wohnzimmer_RR      appeared ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
    Sonos_Wohnzimmer_SW      appeared ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)


    list TYPE=SONOSPLAYER state

    Sonos_Arbeitszimmer  2020-03-11 10:51:26    STOPPED
    Sonos_Bad            2020-03-26 07:00:47    STOPPED
    Sonos_BadWanne       2020-03-26 05:50:06    PLAYING
    Sonos_Buero          2020-03-22 09:44:13    STOPPED
    Sonos_Kueche         2020-03-26 05:50:07    PLAYING
    Sonos_Wohnzimmer     2020-03-25 23:08:44    STOPPED
    Sonos_Wohnzimmer_LR  2020-03-11 10:50:42    initialized
    Sonos_Wohnzimmer_RR  2020-03-11 10:50:42    initialized
    Sonos_Wohnzimmer_SW  2020-03-11 10:50:42    initialized


    Nimmst Du transportState?
    list TYPE=SONOSPLAYER transportState

    Wobei sich transportState bei mir auch gerade ungewöhnlich verhält, alle Player sind "aus".
    Edit: Das war auch so ein "temporäres" Problem: beim genaueren Hinschauen war das Reading state und transportState  im Player Arbeitszimmer schon ein paar Tage alt. Der Player lies sich aber auch von FHEM normal steuern. ein disable 1 / 0 hat es wieder gerichtet. Offenbar ist das Thema sensibler als gedacht und ich muss meinen täglichen SonosCheck von mehr Faktoren abhängig machen. Nicht nur der STATE vom Hauptdevice Sonos spielt eine Rolle.
    Sonos_Arbeitszimmer  2020-03-18 16:29:51   transportState  PLAYING
                         2020-03-11 10:51:26   state           STOPPED
    Sonos_Bad            2020-03-26 09:16:09   transportState  STOPPED
                         2020-03-26 09:16:09   state           STOPPED
    Sonos_BadWanne       2020-03-26 09:16:09   transportState  STOPPED
                         2020-03-26 05:50:06   state           PLAYING
    Sonos_Buero          2020-03-22 09:44:13   transportState  STOPPED
                         2020-03-22 09:44:13   state           STOPPED
    Sonos_Kueche         2020-03-26 09:16:09   transportState  STOPPED
                         2020-03-26 05:50:07   state           PLAYING
    Sonos_Wohnzimmer     2020-03-25 23:08:44   transportState  STOPPED
                         2020-03-25 23:08:44   state           STOPPED
    Sonos_Wohnzimmer_LR  2020-03-11 10:50:42   state           initialized
    Sonos_Wohnzimmer_RR  2020-03-11 10:50:42   state           initialized
    Sonos_Wohnzimmer_SW  2020-03-11 10:50:42   state           initialized


    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 26 März 2020, 09:23:07
    Hallo Eddy42,

    kann doch auch an der samba Konfiguration liegen? Wie ist die?
    Die Stellen die mir dazu einfallen:
    Lokaler oder remote Samba Server?
    Wenn remote wie gemounted?
    samba config?

    Eher zufällig habe ich diesen Beitrag  (https://askubuntu.com/questions/210808/set-umask-set-permissions-and-set-acl-but-samba-isnt-using-those)gefunden, vielleicht hilft der im "Heuhaufen" :)

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: eddy242 am 26 März 2020, 09:44:42
    Hallo Otto, mit umask habe ich bereits rumgespielt (siehe meinen verlinkten Post). Das Problem liegt definitiv vor Samba, dessen Config ist feingetunt und seit Monaten unverändert. Ich zeige mal den Inhalt des Folders VOR Sonos Speak Befehl:


    [/share/containerdata/SonosSpeak] # ls -al
    total 1356
    drwxrwxrw-  3 containerheimer everyone         4096 2020-03-26 09:35 ./
    drwxrwxrwx 38 containerheimer administrators   4096 2020-03-14 00:22 ../
    -rwxrwxrw-  1 containerheimer everyone       770761 2018-07-14 00:35 lautes-schnarchen.mp3*
    -rwxrwxrw-  1 containerheimer everyone        38495 2018-03-11 10:47 oldtimer.mp3*
    drwxrwxrw-  2 containerheimer everyone         4096 2020-03-25 15:26 .@__thumb/
    -rwxrwxrw-  1 containerheimer everyone       223713 2017-11-20 18:43 tng_red_alert2.mp3*
    -rwxrwxrw-  1 containerheimer everyone       149793 2017-11-20 18:42 tos_bosun_whistle_1.mp3*
    -rwxrwxrw-  1 containerheimer everyone       149793 2017-11-20 18:38 tos_hailing_frequencies_open.mp3*
    [/share/containerdata/SonosSpeak] #                                                                             


    Jetzt Sonos Speak blblabla, danach folgender Content:

    [/share/containerdata/SonosSpeak] # ls -al
    total 1372
    drwxrwxrw-  3 containerheimer everyone         4096 2020-03-26 09:42 ./
    drwxrwxrwx 38 containerheimer administrators   4096 2020-03-14 00:22 ../
    -rwxrwxrw-  1 containerheimer everyone       770761 2018-07-14 00:35 lautes-schnarchen.mp3*
    -rwxrwxrw-  1 containerheimer everyone        38495 2018-03-11 10:47 oldtimer.mp3*
    -rw-rw----  1 containerheimer everyone        12288 2020-03-26 09:42 RINCON_7828CA6EF12A01400_MR_Speak.mp3
    drwxrwxrw-  2 containerheimer everyone         4096 2020-03-25 15:26 .@__thumb/
    -rwxrwxrw-  1 containerheimer everyone       223713 2017-11-20 18:43 tng_red_alert2.mp3*
    -rwxrwxrw-  1 containerheimer everyone       149793 2017-11-20 18:42 tos_bosun_whistle_1.mp3*
    -rwxrwxrw-  1 containerheimer everyone       149793 2017-11-20 18:38 tos_hailing_frequencies_open.mp3*
    [/share/containerdata/SonosSpeak] #                                                                         


    Du siehst die RINCON Datei hat keine Berechtigungen für everyone. -rw-rw----

    Da kann SAMBA nur konsumieren.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 26 März 2020, 09:59:59
    Ich habe von umask nichts gesagt ;)
    Mein Samba ist nicht feingetuned sondern stino und es funktioniert, die Dateien werden so angelegt:
    -rw-r--r-- 1 fhem dialout  13K Mar 26 09:55

    Mit der stumpfen Wiederholung der Symptome und der nicht Bereitstellung von Infos verhinderst Du aber jede Möglichkeit zum mitdenken.  :-X

    Und bei Sonos hat sich offenbar lange nichts geändert:
    00_SONOS.pm           16658 2018-04-25 06:00:12Z Reinerlein
    21_SONOSPLAYER.pm     18728 2019-02-25 08:25:16Z betateilchen
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 26 März 2020, 10:25:00
    Zitat von: eddy242 am 26 März 2020, 09:44:42



    -rw-rw----  1 containerheimer everyone        12288 2020-03-26 09:42 RINCON_7828CA6EF12A01400_MR_Speak.mp3


    Du siehst die RINCON Datei hat keine Berechtigungen für everyone. -rw-rw----


    Die Berechtigung für die Gruppe ist doch "rw" und die Gruppe ist "everyone". Also kann doch "everyone" auch lesen?? Oder meinst Du keine Berechtigung für "Others"?

    Unter welchem User/Gruppe läuft denn FHEM?

    Wenn der FHEM-User nicht "containerheimer" ist, dann könntest Du den FHEM-User in die Gruppe "everyone" hinzufügen und damit sollte FHEM die Datei lesen können, oder?
    Titel: Antw:Sonos steuern
    Beitrag von: noom0815 am 26 März 2020, 10:36:17
    Zitat von: Otto123 am 26 März 2020, 09:15:46
    Du redest von state und nicht von STATE?!?

    Hallo Otto,

    ja, ich meine state - hatte es nur groß geschrieben, um auf die Anzeigen in Sonos zu verweisen. War vielleicht nicht so clever... ::)
    Aber Dein Hinweis auf transportState sollte mein Problem lösen, da dieser den tatsächlichen Zustand der Speaker widerspiegelt...DANKE!
    Trotzdem ist der Zustand von state seltsam, oder?


    Grüße,
    Ian
    Titel: Antw:Sonos steuern
    Beitrag von: eddy242 am 26 März 2020, 10:49:06
    Hallo m0urs,

    Du hast recht, ich meinte "others" im Linux/Unix Sinne. FHEM User ist containerheimer (Mapping aus Docker).  Ich müsste einen Weg finden, wie das File mit +r für "others" angelegt wird.
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 26 März 2020, 10:56:45
    Zitat von: eddy242 am 26 März 2020, 10:49:06
    Hallo m0urs,

    Du hast recht, ich meinte "others" im Linux/Unix Sinne. FHEM User ist containerheimer (Mapping aus Docker).  Ich müsste einen Weg finden, wie das File mit +r für "others" angelegt wird.

    Aber wenn FHEM doch unter "containerheimer" läuft, wieso kann FHEM dann nicht zugreifen? Er ist doch dann der Owner dieser Datei? Oder versteh ich das Problem falsch?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 26 März 2020, 11:27:32
    ZitatOder versteh ich das Problem falsch?
    Die Sonos Box kann nicht zugreifen :)

    Mapping aus Docker ... Da würde ich das Problem dort suchen! Da ist doch wieder eine Berechtigungsebene dazwischen!
    FHEM - docker - samba - Sonos
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 26 März 2020, 11:45:35
    Zitat von: Otto123 am 26 März 2020, 11:27:32
    Die Sonos Box kann nicht zugreifen :)

    Oops ja, sorry. stand auf dem Schlauch ;-)

    Also, wenn die Datei mit den Berechtigungen so von FHEM aus (also vom User "containerheimer") erstellt wird, dann kann es doch nur an der UMASK liegen, die in der session aktiv ist, in der FHEM gestartet wird.

    Was gibt denn das Kommando in FHEM im Log aus:

    {system("bash -c 'umask'")}

    Und wenn das "022" ergibt, wie schauen die Rechte der Datei  "/tmp/xx_umask" aus, wenn Du in FHEm den befehl:

    {system("touch /tmp/xx_umask")}

    absetzt?
    Titel: Antw:Sonos steuern
    Beitrag von: eddy242 am 26 März 2020, 13:27:21
    die umask ist 0022 (ich hatte bereits im Docker-Thread erste Forschungsergebnisse gepostet), sollte ok sein.


    touch aha
    ls -al

    drwxrwx---+ 3 fhem root    4096 Mär 26 13:25 .
    drwxr-xr-x  1 root root    4096 Mär 26 11:54 ..
    -rw-rw----+ 1 fhem users      0 Mär 26 13:25 aha
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 26 März 2020, 13:45:12
    Zitat von: eddy242 am 26 März 2020, 13:27:21
    die umask ist 0022 (ich hatte bereits im Docker-Thread erste Forschungsergebnisse gepostet), sollte ok sein.


    touch aha
    ls -al

    drwxrwx---+ 3 fhem root    4096 Mär 26 13:25 .
    drwxr-xr-x  1 root root    4096 Mär 26 11:54 ..
    -rw-rw----+ 1 fhem users      0 Mär 26 13:25 aha


    Strange,oder? Weil wenn Du am Prompt "touch aha" eingibst und es kommt dann "-rw-rw---" dann kann eigentlich die UMASK aber nicht 0022 sein!?

    Was macht denn das "+" am Ende der Permissions? Deutet das nicht auf Extended Permissions (ACL) hin??

    Sende mal den Output von "getfacl aha"

    Das Directory liegt auf einem Samba-Share, richtig? Mit welchen Optionen ist das Share denn gemountet?

    Und poste mal deine smb.conf.

    Und ausserdem ist Dein Output nicht der, den ich angefragt hatte ;-) Ich möchte sehen, was die beiden Kommandos oben aus FHEM heraus ins Log schreiben!
    Titel: Antw:Sonos steuern
    Beitrag von: eddy242 am 26 März 2020, 14:27:45
    Hallo m0urs,


    {system("bash -c 'umask'")}
    Logfile: 0037



    {system("touch /tmp/xx_umask")}

    root@fhem:/tmp# ls -al
    total 44
    drwxrwxrwt 1 root root   4096 Mär 26 14:14 .
    drwxr-xr-x 1 root root   4096 Mär 26 11:55 ..
    -rw-r----- 1 fhem users 12723 Mär 26 13:56 deutschland.png
    -rw-r----- 1 fhem users 17682 Mär 26 13:56 hessen.png
    -rw-r----- 1 fhem users     0 Mär 26 14:14 xx_umask
    root@fhem:/tmp#


    Mein fhem läuft im Docker. Mache ich einen Consolenconnect unter dem user fhem, erhalte ich folgendes:

    fhem@fhem:~$ umask
    0022
    fhem@fhem:~$

    (daher oben meine Aussage, dass umask 0022 ist)

    Samba läuft als separater Container ebenfalls im Docker. Hier die smb.conf

    [global]
        security = user
        map to guest = bad user
        guest account = smbuser


    [SonosSpeak]
       path = /mnt/SonosSpeak
       browsable = yes
       read only = no
       guest ok = yes
       veto files = /._*/.apdisk/.AppleDouble/.DS_Store/.TemporaryItems/.Trashes/desktop.ini/ehthumbs.db/Network Trash Folder/Temporary Items/Thumbs.db/
       delete veto files = yes


    In den fhem-Container wird das Volume auf dem Host folgendermaßen gemounted:

        volumes:
          - /share/containerdata/SonosSpeak:/mnt/SonosSpeakSamba
    ...


    In den Samba-Container wird das Volume auf dem Host folgendermaßen gemounted:

        volumes:
          - /share/containerdata/SonosSpeak:/mnt/SonosSpeak
    ...


    Sowohl der Samba als auch der fhem Container laufen unter der Host-User-ID containerheimer, der owner auf dem /share/containerdata/SonosSpeak ist.
    Titel: Antw:Sonos steuern
    Beitrag von: m0urs am 26 März 2020, 14:58:11
    {system("bash -c 'umask'")}
    Logfile: 0037

    Nun, da haben wir ja das Problem. Für die Session in der FHEM läuft ist die UMASK 0037 und nicht 0022 und daher werden alle aus FHEM heraus erzeugten Dateien auch mit der "falschen" Berechtigung angelegt.

    Dann wirst Du wohl mal ins Start-Skript von FHEM schauen müssen. Irgendwo muss da ein UMASK Befehl versteckt sein, würde ich sagen, der die UMASK auf 0037 setzt. Mit dem Docker-Image kenn ich mich nicht aus, daher kann ich da leider nicht weiterhelfen.

    Aber in diese Richtung muss Du suchen. Die anderen Dinge, die ich angefragt hatte, sind da wohl eher nicht beteiligt.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 26 März 2020, 16:55:32
    @m0urs Ich nehme immer qx() damit bekommt man die Antwort im Browser :) und muss sich nicht erst ins Log hangeln.
    Mal Dein Test im Block - rückstandlos ;)
    {qx (bash -c umask;;F="/mnt/SonosSpeak/xx_umask";;touch \$F;;ls -lha \$F;;rm \$F)}
    Titel: Antw:Sonos steuern
    Beitrag von: mrfloppy am 09 April 2020, 14:04:56
    Frage an die Sonos Profis bezüglich Radiosender bedienen.

    Wie kann man es bewerkstelligen die Radiosender mit einer Taste durchzuschwitchen?
    Sprich auf einem HM-Taster bei jedem Tastendruck zum nächsten Favoriten Radiosender.

    Wer einen Tip oder es ev. schon umgesetzt.

    LG Thomas
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 09 April 2020, 19:00:05
    Hallo Thomas,

    das Prinzip war Array mit den Sendern anlegen, dann irgendwie das array durchtasten. Ich habe das nicht, ich weiß aber das wurde schon häufiger diskutiert.

    Such mal etwas (site:forum.fhem.de array sonos), z.B.: gerade das gefunden https://forum.fhem.de/index.php?topic=92612.0

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 09 April 2020, 21:40:18
    Alternativ hier mal die RAW definition eines Schrittschalters, den ich auch hier im Forum gefunden hatte. Dieser schaltet die Werte 0 25 50 75 100 des Arrays nacheinander durch.
    Zitatdefmod schrittSchalter DOIF init {\
      @{$_a}=qw/0 25 50 75 100/;;    # Liste mit Werten wird als Array definiert\
      $_counter=0;;;;                 # Zähler wird auf den ersten Wert gesetzt\
    }\
    {\
      #if ([schalter:"on"]) #                          # wenn Taster  'on' sendet\
      if ([$SELF:"schalte"]) {                        # wenn dieser schrittSchalter gedrueckt wird\
        set_State($_a[$_counter]);;                    # setze den Status des Moduls auf den ersten Wert\
        fhem_set("Blind1_Schlaf pct $_a[$_counter++]");;# schalte per set-Befehl ein Device, hier Schalter, mit dem aktuellen Wert und erhöhe den Zähler auf den nächsten Wert\
        $_counter=0 if ($_counter==@{$_a});;           # Wenn Zähler beim letzten Wert angekommen ist, fange wieder beim ersten an\
      }\
    }

    attr schrittSchalter webCmd schalte
    Titel: Antw:Sonos steuern
    Beitrag von: binford6000 am 10 April 2020, 10:32:30
    Zitat von: mrfloppy am 09 April 2020, 14:04:56
    Frage an die Sonos Profis bezüglich Radiosender bedienen.

    Wie kann man es bewerkstelligen die Radiosender mit einer Taste durchzuschwitchen?
    Sprich auf einem HM-Taster bei jedem Tastendruck zum nächsten Favoriten Radiosender.

    Wer einen Tip oder es ev. schon umgesetzt.

    LG Thomas

    Hier die Lösung von Forenmitglied "juemuc" als myUtils-Funktion:
    sub favnext($) {
    my ($device) = @_;
    my @fav = split(/\|/,ReadingsVal("$device","FavouritesListAlias",""));
    my $pos = SONOS_posInList(ReadingsVal("$device","currentFavouriteName",""),@fav);
    my $anz=$#fav;
    if ($pos < $anz) {
    $pos=$pos+1
    }
    else {
    $pos=0
    }
    my $next_current_favorit=$fav[($pos)];
    my $ncf = uri_escape($next_current_favorit);
    fhem("set $device StartFavourite $ncf")
    }


    sub favprev($) {
    my ($device) = @_;
    my @fav = split(/\|/,ReadingsVal("$device","FavouritesListAlias",""));
    my $pos = SONOS_posInList(ReadingsVal("$device","currentFavouriteName",""),@fav);
    my $anz=$#fav;
    if ($pos > 0) {
    $pos=$pos-1
    }
    else {
    $pos=$anz
    }
    my $next_current_favorit=$fav[($pos)];
    my $ncf = uri_escape($next_current_favorit);
    fhem("set $device StartFavourite $ncf")
    }


    Einfach in einem doif/notify aufrufen mit
    {favnext("SonosPlayerName")}

    VG Sebastian
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 17 April 2020, 10:45:51
    Hallo Leute,

    sehe gerade folgende Meldung im Logfile:

    2020.04.17 09:42:17 1: PERL WARNING: Argument "" isn't numeric in numeric ne (!=) at ./FHEM/00_SONOS.pm line 1589.

    Kann man da irgendwas gegen tun?

    Danke und Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 17 April 2020, 11:03:15
    Hallo Hoppel,

    an der Stelle steht bei mir gar kein != aber wahrscheinlich nimmt der Perl Interpreter den Beginn der if Zeile. Was steht bei Dir in der Zeile?
    {qx(sed -ne '1589,+5p' ./FHEM/00_SONOS.pm)}

    Wenn ich richtig liege solltest Du noch liefern was der Auslöser war. Offenbar ist einer der Beiden $oldTrack != $current{Track} ein leerer String.

    Vielleicht kann dann der Entwickler den Fehler finden.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 17 April 2020, 23:03:46
    Zitat von: Otto123 am 17 April 2020, 11:03:15
    an der Stelle steht bei mir gar kein != aber wahrscheinlich nimmt der Perl Interpreter den Beginn der if Zeile. Was steht bei Dir in der Zeile?
    {qx(sed -ne '1589,+5p' ./FHEM/00_SONOS.pm)}

    Hallo Otto,

    danke erstmal für deine Unterstützung. Hier das Ergebnis deines Befehls:

    if (($current{TransportState} ne 'PLAYING')
    && (($oldTrackHandle ne $current{TrackHandle})
    || ($oldTrack != $current{Track})
    || ($oldTrackPosition ne $current{TrackPosition}))) {
    SONOSPLAYER_SimulateCurrentTrackPosition($hash);
    }


    Zitat von: Otto123 am 17 April 2020, 11:03:15
    Wenn ich richtig liege solltest Du noch liefern was der Auslöser war. Offenbar ist einer der Beiden $oldTrack != $current{Track} ein leerer String.

    Wie finde ich das heraus?

    Danke dir und Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 17 April 2020, 23:17:43
    ok, wie vermutet. dieser Teil || ($oldTrack != $current{Track}) wird das Problem sein.

    Kannst Du den Logeintrag irgendwie reproduzieren? Tritt der in bestimmt Situationen auf?

    Vielleicht kann man auch einfach != gegen ne ersetzen. Aber das ist jetzt nur eine Mutmaßung.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 17 April 2020, 23:41:43
    Nö, ich wüsste nicht wie ich das reproduzieren könnte. Einen Tag vorher hatte ich seit längerem mal wieder mein FHEM aktualisiert. Habe aber keine Ahnung, ob das damit zusammenhängt.

    Ich werde mein Logfile mal im Auge behalten. Wenn es nochmal auftaucht, teste ich das ,,ne" mal.

    Danke dir und Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 17 April 2020, 23:48:18
    Aber Sonos ist doch relativ "stabil"
    Zitat00_SONOS.pm           16658 2018-04-25 06:00:12Z Reinerlein
    21_SONOSPLAYER.pm     18728 2019-02-25 08:25:16Z betateilchen
    Kann eigentlich nicht am Update "letzte Woche" liegen :)
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 19 April 2020, 23:44:29
    Dachte ich mir auch.

    Abgesehen von den sporadischen ,,Player disappeared" habe ich sonst keine Probleme.

    Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: terkens am 23 April 2020, 18:30:54
    Kann es sein, dass die Radios nicht mehr funktionieren? Gestern habe ich das Update 11.1 installiert, in dem Sonos wohl auch deren Radiodienst hinzufügt, und seitdem kann ich weder Radios starten, noch werden die Sender über getRadios angezeigt. Egal ob ich weiter TuneIn oder den neuen Sonosdienst verwende.

    Gruß
    Tom
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 23 April 2020, 19:05:54
    Haool Tom,

    geht bei mir nach wie vor.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: terkens am 23 April 2020, 21:44:20
    Ich habe mittlerweile noch etwas rumprobiert und über startFavourite statt startRadio geht es. Merkwürdig, aber hauptsache es funktioniert. Das Modul ist jedenfalls richtig gut und war für mich auch ein Grund von Bose zu Sonos zu wechseln.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 23 April 2020, 21:49:18
    startFavourite  - mach ich allerdings schon immer so. Aber getRadios funktioniert bei mir auch.
    Titel: Antw:Sonos steuern
    Beitrag von: der-Lolo am 24 April 2020, 20:45:59
    Hallo Sonos Freunde -
    ich bin wie sicherlich viele hier von dem Sonos Updatewahn betroffen, der in meiner Landschaft genutzte Connect, und der Connect Amp werden keine updates mehr bekommen. Ich bin leider schon in die falle getappt und habe auf einem altem iPad mit iOS10 keine möglichkeit mehr mein System zu steuern.
    Ich möchte jetzt verhindern das meine Geräte auch noch unbrauchbar werden. Für Streaming benötigt Sonos aber ja zugang zum Internet, hat sich vielleicht irgendjemand schonmal Gedanken darüber gemacht wie es weiter geht? Die geräte in ein IoT Netz zu stecken ist wegen streaming sicherlich schwierig...

    Wie geht ihr vor?
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 24 April 2020, 21:08:12
    Meinen Connect habe ich "getauscht" gegen 30% Rabatt für eine Erweiterung. Der stand eh schon eine Weile in der Kiste.
    Mein Play 5 läuft nach wie vor.
    Mein Android 6 Nexus 7 Tablet hat mir gesagt ich kann damit keine Updates mehr einspielen, da habe ich mir ein neues mit Android 9 geholt. Nicht nur die Sonos  App hatte ein Problem mit dem alten Tablet ::)
    Sonos hat mir geschrieben, es gibt in Zukunft zwei Systemwelten, ich kann meine alten Dinge behalten, diese "alte" Welt wird aktualisiert aber bekommt keine neuen Features mehr, damit kann ich leben.
    Den Play 5 stell ich vielleicht irgendwann mal solo aber bis dahin hoffe ich das alles so läuft wie ich es habe.
    Titel: Sonos steuern
    Beitrag von: hoppel118 am 24 April 2020, 23:15:18
    Ich habe ausschließlich S2 kompatible Systeme:

    https://support.sonos.com/s/article/4786?language=de

    Allerdings stellt sich mir die Frage, ob das Sonos Modul noch funktioniert, wenn das S2-OS auf den Sonos Geräten läuft.

    Wie seht ihr das?

    Die automatischen Sonos System-Updates habe ich auf jeden Fall erstmal deaktiviert. ;)

    Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 25 April 2020, 16:53:17
    Es wird funktionieren  ;D

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 25 April 2020, 20:53:13
    Alles klar, das beruhigt mich jetzt... ähäm... ;)
    Titel: Antw:Sonos steuern
    Beitrag von: gloob am 29 April 2020, 19:15:14
    Kann es sein, dass die Sonos-Befehle zur Zeit extrem lange brauchen, bis sie verarbeitet werden? Ich habe manchmal 10 Sekunden zwischen dem Absetzen eines Befehls und einer Reaktion der Box.
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 29 April 2020, 19:41:22
    Kann ich aktuell nicht bestätigen.

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 29 April 2020, 19:46:05
    Bei mir auch alles normal ...
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 29 April 2020, 23:46:47
    Bei mir auch...
    Titel: Antw:Sonos steuern
    Beitrag von: Kläwwerhäusle0.1 am 03 Mai 2020, 17:27:52
    Hallo zusammen,

    ich bräuchte bitte mal einen Tipp, wie ich an meinem aktuellen Problem weiterforschen kann.

    Wie bei vielen anderen vor mir, disappearten die Sonos regelmäßig (ein bis drei/vier Mal am Tag). Seit ein paar Tagen hilft auch ein shutdown restart nicht mehr, weil nicht mehr nur Thread 4 ("Thread 4 terminated abnormally: Error creating SSDP multicast listen socket: Address already in use"), sondern auch noch Thread 1 ("Error during UPnP-Handling: Error creating SSDP multicast listen socket: Address already in use") gleich nach dem Neustart abbricht. M.a.W. Sonos läuft derzeit nur noch über die App aber nicht mehr über FHEM. Natürlich wird es einen rationalen Grund für die Verschlechterung geben, leider kann ich ihn aber nicht rekonstruieren, aber auch der Fehler zum Thread 4 allein muss ja irgendwann behoben werden  :-\

    Bei der Suche nach Hinweisen hier im Forum schon lange vor der Verschlechterung habe ich u.a. verstanden, dass bei der o.g. Fehlermeldung meist ein anderes Gerät auch auf dem UPnP-Port 1900 funkt bzw. lauscht, und dass man dieses eigentlich per

    sudo netstat -a | grep 1900  bzw.
    sudo netstat -apn | grep 1900

    einkreisen kann. Bei letzterem meckert mein MacMini, auf dem mein FHEM läuft, dass -n ein unbekanntes Protokoll sei, bei ersterem sucht er eine gute Minute und tut dann so, als wäre nichts gewesen.


    sarah@Tsehuss fhem-6.0 % sudo netstat -a | grep 1900 
    sarah@Tsehuss fhem-6.0 % sudo netstat -apn | grep 1900
    netstat: n: unknown or uninstrumented protocol
    sarah@Tsehuss fhem-6.0 %

                               

    Im Netzwerkdienstprogramm von Catalina hätte ich gedacht, dass die Option ,,Netstat -> Multicast-Informationen anzeigen" mir ein wenig weiterhilft, aber bisher leider nicht (vielleicht suche ich nicht das richtige). Auch die drei anderen ,,Netstat"-Optionen helfen mir nicht weiter.

    Wenn ich das richtig sehe, kommen vor allem die Harmony-Fernbedienung und Philips Hue als Kandidaten in Frage (aber die sind bei so vielen im Einsatz, dass ich es mir fast nicht vorstellen kann), während ZWave, das KLF200-Modul und die Fritz!Box ziemlich unverdächtig sein sollten.

    Weil ich nicht sicher war, ob der Bonjour-Dienst evtl. Teil des Problems sein könnte, hatte ich auch den schon mal deaktiviert, und auch mit dem Delay-Parameter des Sonos-Moduls habe ich mal ein bisschen herumprobiert, beides ohne Erfolg.

    Kann mir jemand einen Tipp geben, wie ich im MacOS-Umfeld den Übeltäter (vielleicht sogar systematischer als ich das bisher getan habe) näher einkreisen kann?

    Besten Dank im Voraus.

    Martin.


    Logfile bei jedem Neustart:


    2020.05.03 17:21:04 1: SONOS0: Kein UPnP-Server gefunden... Starte selber einen und warte 1 Sekunde(n) darauf...
    2020.05.03 17:21:04 1: SONOS0: ./FHEM/00_SONOS.pm is started by fhem...
    2020.05.03 17:21:04 1: SONOS0: ./FHEM/00_SONOS.pm is listening to Port 4711
    2020.05.03 17:21:05 3: Opening Sonos device localhost:4711
    2020.05.03 17:21:05 3: SONOS0: Connection accepted from localhost:60408
    2020.05.03 17:21:05 3: Sonos device opened
    2020.05.03 17:21:06 1: SONOS1: UPnP-Thread gestartet.
    2020.05.03 17:21:06 2: SONOS1: Error during UPnP-Handling: Error creating SSDP multicast listen socket: Address already in use
    at ./FHEM/00_SONOS.pm line 2421 thread 1.
    at ./FHEM/00_SONOS.pm line 2421 thread 1.

    2020.05.03 17:21:06 1: SONOS1: UPnP-Thread wurde beendet.
    2020.05.03 17:21:06 1: SONOS2: LongJobs-Thread gestartet. Prüfe auf LongJobs...
    2020.05.03 17:21:06 1: SONOS3: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2020.05.03 17:21:06 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
    Thread 4 terminated abnormally: Error creating SSDP multicast listen socket: Address already in use
    at ./FHEM/00_SONOS.pm line 4995 thread 4.
    at ./FHEM/00_SONOS.pm line 4995 thread 4.




    Die Harmony meldet übrigens beim Start ein Warning - vielleicht hängt das miteinander zusammen (?):


    2020.05.03 17:20:54 1: PERL WARNING: Use of uninitialized value in pattern match (m//) at ./FHEM/37_harmony.pm line 1765.
    2020.05.03 17:20:54 1: stacktrace:
    2020.05.03 17:20:54 1:     main::__ANON__                      called by ./FHEM/37_harmony.pm (1765)
    2020.05.03 17:20:54 1:     main::harmony_connect               called by ./FHEM/37_harmony.pm (284)
    2020.05.03 17:20:54 1:     main::harmony_Notify                called by fhem.pl (3777)
    2020.05.03 17:20:54 1:     main::CallFn                        called by fhem.pl (3697)
    2020.05.03 17:20:54 1:     main::DoTrigger                     called by fhem.pl (658)
    Titel: Antw:Sonos steuern
    Beitrag von: Bronze am 03 Mai 2020, 18:11:51
    Thema: Sprachausgabe

    Es wurde eingestellt:

    define Sonos SONOS
    attr Sonos targetSpeakDir /mnt/SonosSpeak/
    attr Sonos targetSpeakFileHashCache 1
    attr Sonos targetSpeakURL \\192.168.1XX.XXX\mnt\SonosSpeak\


    Der vorhandene Sonos_Player Sonos_Wohnzimmer wurde automatisch gefunden, mit
    set Sonos_Wohnzimmer Speak 100 de Hallo

    bekomme ich keine Sprachausgabe, in den Events sehe ich:

    2020-05-03 18:09:06 SONOSPLAYER Sonos_Wohnzimmer LastActionResult: PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"
    2020-05-03 18:09:06 SONOS Sonos LastProcessAnswer: 1588522146
    2020-05-03 18:09:06 SONOSPLAYER Sonos_Wohnzimmer currentTrackPosition: 0:00:00
    2020-05-03 18:09:06 SONOSPLAYER Sonos_Wohnzimmer currentTrackPositionSec: 0


    Könnt Ihr mir bitte helfen?
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 03 Mai 2020, 22:12:20
    @Kläwwerhäusle0.1

    Wahrscheinlich ist es sinnvoll, wenn du in diesem Thread weitermachst:

    https://forum.fhem.de/index.php/topic,46058.30.html

    Hast du schonmal probiert alle Nicht-Sonos-IPs auszugrenzen?

    attr Sonos usedonlyIPs /192.168.1.(5\d|60)/

    Damit würde lediglich der UPnP Datenverkehr der IPs von 192.168.1.50 bis 192.168.1.60 akzeptiert werden. Bei manchen bringt's was. Bei mir nicht.

    Wir haben in dem Thread zu letzt einen Workaround besprochen. Anhand einer Kombination aus at und DOIF wird das Modul inkl. UPnP neugestartet, sobald das Hauptdevice Sonos in den Status ,,disabled" wechselt.

    Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Kläwwerhäusle0.1 am 03 Mai 2020, 23:39:05
    Hallo Hoppel,

    vielen Dank für die Rückmeldung.

    Ich hatte hin- und herüberlegt, in welchem Thread ich schreibe, mich dann für diesen (allgemeineren) entschieden, weil es im anderen sehr spezifisch "nur" um mein erstes Problem, das "gelegentliche" Disappearen, ging, aber nicht um den dauerhaften Status "Disappeared", der m.E. das noch gravierendere Problem ist, aber wenn Du es für sinnvoller hältst, verschiebe ich meine Frage gerne dorthin. Besser im anderen Thread weitermachen?

    Vielen Dank für Deine Anregung mit den usedonlyIPs, die ich zwar schon wahrgenommen, aber noch nicht ausprobiert hatte. Das habe ich eben - auf meine IPs angepasst - nachgeholt:


    attr Sonos usedonlyIPs /192.168.188.2[2-7]/

    derzeit leider noch ohne Erfolg (möglicherweise löst es aber das Problem des gelegentlichen Verschwindens, wenn der dauerhafte Disappeared-Status überwunden ist - ist also "vorgemerkt").

    Viele Grüße

    Martin.

    PS: Am Harmony-Hub liegen die Probleme übrigens nicht, weil ich ihn zwischenzeitlich bis auf Weiteres komplett gelöscht habe (man muss ja manchmal erst lesen, was man schreibt, bevor man weiß, was man denkt  ;) ).
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 04 Mai 2020, 07:38:17
    Hier geht's weiter:

    https://forum.fhem.de/index.php/topic,46058.msg1050157.html?PHPSESSID=uqp0droo6e9etn2t3kt2v2gdq6#msg1050157

    Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Kläwwerhäusle0.1 am 04 Mai 2020, 13:02:53
    @hoppel118  Toller Service! Vielen Dank!

    Martin.
    Titel: Antw:Sonos steuern
    Beitrag von: Gunther am 09 Mai 2020, 19:08:40
    Hallo zusammen,

    ich versuche AMazon Polly zum Laufen zu bekommen.
    habe dieses Tutorial als Vorlage gewählt: https://haus-automatisierung.com/projekt/2019/02/26/projekt-amazon-polly-tts.html (https://haus-automatisierung.com/projekt/2019/02/26/projekt-amazon-polly-tts.html)

    Leider scheint die Festlegung von Speak1 nicht richtig zu funktionieren. Könnt Ihr bitte mal schauen, was ich falsch mache.

    Edit: Löschen und Anlegen des Attributes hat zumindest geholfen, dass es in der Oberfläche zu sehen ist. Leider kommt keine Ausgabe:
    2020-05-09 19:18:14 SONOSPLAYER Sonos_EGWintergarten LastActionResult: Speak1: No Definition found!


    ab hier nicht mehr relevant:
    Wenn ich nun den Speak1 Befehl als Attribut im Hauptgerät Sonos festlegen möchte,

    So sieht meine Festlegung aus (lässt sich anscheinend nur "halb" speichern):
    attr Sonos Speak1 mp3:sudo /usr/local/bin/aws polly synthesize-speech --output-format mp3 --voice-id Marlene --text '%text%' %filename%

    Wie Ihr dem "list Sonos" entnehmen könnt, scheint Speak1 definiert zu sein. Auf der Oberfläche sehe ich es unter den Attributen nicht.
    Internals:
       CHANGED   
       DEF        localhost:4711 45
       DELAYTIME  0
       DeviceName localhost:4711
       FD         77
       FUUID      5de77647-f33f-7b68-4f9a-1299da8de9ac3798
       INTERVAL   45
       NAME       Sonos
       NOTIFYDEV  global
       NR         4117
       NTFY_ORDER 50-Sonos
       PARTIAL   
       STATE      opened
       TYPE       SONOS
       WAITTIME   8
       READINGS:
         2020-05-09 16:47:22   AllPlayer       ['Sonos_EGWintergarten','Sonos_EGWohnenEssen','Sonos_EGWohnenEssen_SW','Sonos_EG_Kueche','Sonos_OGBadezimmer','Sonos_OGSchlafzimmer','Sonos_OGSchlafzimmer_RF']
         2020-05-09 16:47:22   AllPlayerCount  7
         2020-05-09 16:47:04   AllPlayerNotBonded ['Sonos_EGWintergarten','Sonos_EGWohnenEssen','Sonos_EG_Kueche','Sonos_OGBadezimmer','Sonos_OGSchlafzimmer']
         2020-05-09 16:47:04   AllPlayerNotBondedCount 5
         2020-05-09 19:03:30   LastProcessAnswer 1589043810.48236
         2020-05-06 23:18:20   LastProcessRestart 2020-05-06 23:18:20
         2020-05-06 23:18:20   LastProcessRestartCount 168
         2020-05-09 17:28:41   LineInPlayer    ['Sonos_EGWohnenEssen','Sonos_OGBadezimmer']
         2020-05-09 16:47:04   MasterPlayer    ['Sonos_EGWintergarten','Sonos_EGWohnenEssen','Sonos_EG_Kueche','Sonos_OGBadezimmer','Sonos_OGSchlafzimmer']
         2020-05-09 16:47:04   MasterPlayerCount 5
         2020-05-09 16:55:22   MasterPlayerNotPlaying ['Sonos_EGWintergarten','Sonos_EGWohnenEssen','Sonos_EG_Kueche','Sonos_OGBadezimmer','Sonos_OGSchlafzimmer']
         2020-05-09 16:55:22   MasterPlayerNotPlayingCount 5
         2020-05-09 16:55:22   MasterPlayerPlaying []
         2020-05-09 16:55:22   MasterPlayerPlayingCount 0
         2020-05-09 00:02:43   MusicServicesList {'218' => {'Capabilities' => '512','ResolutionSubstitution' => undef,'Name' => 'Soundsuit.fm','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55815/55815-72x72.png','ServiceType' => '55815','SMAPI' => 'https://soundsuit.fm/smapi'},'275' => {'Capabilities' => '513','ResolutionSubstitution' => undef,'Name' => 'ARTRADIO - RadioArt.com','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/70407/70407-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/70407/70407-72x72.png','ServiceType' => '70407','SMAPI' => 'https://sonos.radioart.com/'},'216' => {'Capabilities' => '4627','ResolutionSubstitution' => '1500x1500.jpg','Name' => 'Aldi life Musik','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55303/55303-72x72.png','ServiceType' => '55303','SMAPI' => 'https://sonosapi-aldimusic.rhapsody.com/smapi'},'204' => {'Capabilities' => '3117633','ResolutionSubstitution' => '1200x1200','Name' => 'Apple Music','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-400x400.png','Resolution' => '1200','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/52231/52231-72x72.png','ServiceType' => '52231','SMAPI' => 'https://sonos-music.apple.com/ws/SonosSoap'},'230' => {'Capabilities' => '512','ResolutionSubstitution' => '/1000x1000/','Name' => 'NTS Radio','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-400x400.png','Resolution' => '1000','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/58887/58887-72x72.png','ServiceType' => '58887','SMAPI' => 'https://www.nts.live/smapi'},'157' => {'Capabilities' => '513','ResolutionSubstitution' => undef,'Name' => 'Bandcamp','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40199/40199-72x72.png','ServiceType' => '40199','SMAPI' => 'https://sns.bandcamp.com/api/sonos/2/sonos_api'},'239' => {'Capabilities' => '1095249','ResolutionSubstitution' => undef,'Name' => 'Audible','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/61191/61191-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/61191/61191-72x72.png','ServiceType' => '61191','SMAPI' => 'https://sonos.audible.com/smapi'},'183' => {'Capabilities' => '37395','ResolutionSubstitution' => undef,'Name' => 'narando','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46855/46855-72x72.png','ServiceType' => '46855','SMAPI' => 'https://narando.com/sonos/service/action'},'191' => {'Capabilities' => '1030739','ResolutionSubstitution' => undef,'Name' => 'Classical Archives','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48903/48903-72x72.png','ServiceType' => '48903','SMAPI' => 'https://api.classicalarchives.com/smapi/endpoint'},'221' => {'Capabilities' => '6675','ResolutionSubstitution' => undef,'Name' => 'LivePhish+','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56583/56583-72x72.png','ServiceType' => '56583','SMAPI' => 'https://sonos.nugs.net/soap/livephish'},'232' => {'Capabilities' => '577','ResolutionSubstitution' => '_1500.jpg','Name' => 'Radioplayer','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59399/59399-72x72.png','ServiceType' => '59399','SMAPI' => 'https://sonoslb.radioapi.io/radioplayer'},'198' => {'Capabilities' => '2627','ResolutionSubstitution' => undef,'Name' => 'Anghami','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/50695/50695-72x72.png','ServiceType' => '50695','SMAPI' => 'https://api.anghami.com/anghmob/SonosAPI.php'},'36' => {'Capabilities' => '512','ResolutionSubstitution' => '_290.png','Name' => 'Hearts of Space','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9223/9223-400x400.png','Resolution' => '290','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9223/9223-72x72.png','ServiceType' => '9223','SMAPI' => 'https://sonos.hos.com/SOAP/Server1.2.php'},'160' => {'Capabilities' => '4611','ResolutionSubstitution' => 't500x500','Name' => 'SoundCloud','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-400x400.png','Resolution' => '500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/40967/40967-72x72.png','ServiceType' => '40967','SMAPI' => 'https://soundcloud-go.ws.sonos.com/smapi'},'31' => {'Capabilities' => '10835','ResolutionSubstitution' => undef,'Name' => 'Qobuz','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/7943/7943-72x72.png','ServiceType' => '7943','SMAPI' => 'https://www.qobuz.com/api.xml/0.3/sonos'},'13' => {'Capabilities' => '4675','ResolutionSubstitution' => undef,'Name' => 'Stitcher','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/3335/3335-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/3335/3335-72x72.png','ServiceType' => '3335','SMAPI' => 'https://stitcher.com/Service/Sonos/Sonos.php'},'192' => {'Capabilities' => '5632','ResolutionSubstitution' => '-1500.png','Name' => 'focus@will','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49159/49159-72x72.png','ServiceType' => '49159','SMAPI' => 'https://www.focusatwill.com/sonos/action'},'262' => {'Capabilities' => '33281','ResolutionSubstitution' => '_290x290.png','Name' => 'My Cloud Home','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/67079/67079-400x400.png','Resolution' => '290','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/67079/67079-72x72.png','ServiceType' => '67079','SMAPI' => 'https://sonos.mycloud.com/musicservice'},'279' => {'Capabilities' => '577','ResolutionSubstitution' => '_1500.jpg','Name' => 'Global Player','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/71431/71431-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/71431/71431-72x72.png','ServiceType' => '71431','SMAPI' => 'https://sonoslb.radioapi.io/global'},'169' => {'Capabilities' => '4672','ResolutionSubstitution' => '_1500.jpg','Name' => 'Tribe of Noise','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43271/43271-72x72.png','ServiceType' => '43271','SMAPI' => 'https://sonos.tribeofnoise.com/server-v2.1.php'},'256' => {'Capabilities' => '594496','ResolutionSubstitution' => 'w_1500,h_1500','Name' => 'CBC Radio &amp; Music','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/65543/65543-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/65543/65543-72x72.png','ServiceType' => '65543','SMAPI' => 'https://cbcmusic-sonos-beta.azurewebsites.net/SonosService.svc'},'164' => {'Capabilities' => '12865','ResolutionSubstitution' => '500x500.jpg','Name' => 'Saavn','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-400x400.png','Resolution' => '500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41991/41991-72x72.png','ServiceType' => '41991','SMAPI' => 'https://www.saavn.com/apps/sonos/SonosAPI.php'},'226' => {'Capabilities' => '636481','ResolutionSubstitution' => undef,'Name' => 'Storytel','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57863/57863-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57863/57863-72x72.png','ServiceType' => '57863','SMAPI' => 'https://sonosapi.storytel.com/sonos/1.0'},'193' => {'Capabilities' => '8769','ResolutionSubstitution' => '_1500.png','Name' => 'Tunify for Business','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/49415/49415-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/49415/49415-72x72.png','ServiceType' => '49415','SMAPI' => 'https://api.tunify.com/Sonos/services/Sonos?wsdl'},'211' => {'Capabilities' => '515','ResolutionSubstitution' => '.l.jpg','Name' => 'The Music Manager','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-400x400.png','Resolution' => '119','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54023/54023-72x72.png','ServiceType' => '54023','SMAPI' => 'https://themusicmanager.eu/sonos/SonosAPI.php'},'269' => {'Capabilities' => '512','ResolutionSubstitution' => undef,'Name' => 'ANTENNE BAYERN','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/68871/68871-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/68871/68871-72x72.png','ServiceType' => '68871','SMAPI' => 'https://sonos.antennebayern.customers.nuuk.de/wsdl'},'163' => {'Capabilities' => '513','ResolutionSubstitution' => '/large/','Name' => 'Spreaker','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-400x400.png','Resolution' => '200','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41735/41735-72x72.png','ServiceType' => '41735','SMAPI' => 'https://sonos.spreaker.com/sonos/service/v1'},'2' => {'Capabilities' => '25180755','ResolutionSubstitution' => '1000x1000-000000-80-0-0.jpg','Name' => 'Deezer','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/519/519-400x400.png','Resolution' => '1000','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/519/519-72x72.png','ServiceType' => '519','SMAPI' => 'https://api.deezer.com/sonos'},'162' => {'Capabilities' => '513','ResolutionSubstitution' => undef,'Name' => 'radioPup','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/41479/41479-72x72.png','ServiceType' => '41479','SMAPI' => 'https://sonos.townsquaremedia.com/index.php'},'38' => {'Capabilities' => '513','ResolutionSubstitution' => '_800.jpg','Name' => '7digital','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-400x400.png','Resolution' => '800','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/9735/9735-72x72.png','ServiceType' => '9735','SMAPI' => 'https://sonos-service.7digital.com/sonos.asmx'},'231' => {'Capabilities' => '537153','ResolutionSubstitution' => '640','Name' => 'Wolfgang&apos;s Music','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-400x400.png','Resolution' => '640','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59143/59143-72x72.png','ServiceType' => '59143','SMAPI' => 'https://moapi.wolfgangs.com/ws/wolfgangs.asmx'},'271' => {'Capabilities' => '602688','ResolutionSubstitution' => '&amp;w=1500&amp;h=1500','Name' => 'IDAGIO','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/69383/69383-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/69383/69383-72x72.png','ServiceType' => '69383','SMAPI' => 'https://idg-prod-sonos.herokuapp.com/smapi/action'},'301' => {'Capabilities' => '577','ResolutionSubstitution' => undef,'Name' => 'Primephonic','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/77063/77063-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/77063/77063-72x72.png','ServiceType' => '77063','SMAPI' => 'https://sonos-api.primephonic.com/server.php'},'233' => {'Capabilities' => '1028672','ResolutionSubstitution' => '/960/','Name' => 'Pocket Casts','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59655/59655-400x400.png','Resolution' => '960','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59655/59655-72x72.png','ServiceType' => '59655','SMAPI' => 'https://integrations.pocketcasts.com/service/smapi'},'167' => {'Capabilities' => '577','ResolutionSubstitution' => '_480x480_','Name' => 'Gaana','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-400x400.png','Resolution' => '480','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/42759/42759-72x72.png','ServiceType' => '42759','SMAPI' => 'https://sonosapi.gaana.com/SonosAPI.php'},'189' => {'Capabilities' => '513','ResolutionSubstitution' => '_1500.png','Name' => 'SOUNDMACHINE','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/48391/48391-72x72.png','ServiceType' => '48391','SMAPI' => 'https://provider.sound-machine.com/sonosapi'},'260' => {'Capabilities' => '512','ResolutionSubstitution' => '_1500.jpg','Name' => 'Minidisco','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/66567/66567-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/66567/66567-72x72.png','ServiceType' => '66567','SMAPI' => 'https://sonos.minidisco.nl/server.php'},'277' => {'Capabilities' => '37377','ResolutionSubstitution' => undef,'Name' => 'NRK Radio','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/70919/70919-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/70919/70919-72x72.png','ServiceType' => '70919','SMAPI' => 'https://psapi.nrk.no/sonos/sonos.svc'},'222' => {'Capabilities' => '531027','ResolutionSubstitution' => undef,'Name' => 'nugs.net','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/56839/56839-72x72.png','ServiceType' => '56839','SMAPI' => 'https://sonos.nugs.net/soap/nugs'},'151' => {'Capabilities' => '98899','ResolutionSubstitution' => undef,'Name' => 'Google Play Music','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38663/38663-72x72.png','ServiceType' => '38663','SMAPI' => 'https://mclients.googleapis.com/music/sonos/wsf/smapi'},'264' => {'Capabilities' => '889409','ResolutionSubstitution' => undef,'Name' => 'radio.net','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/67591/67591-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/67591/67591-72x72.png','ServiceType' => '67591','SMAPI' => 'https://api.radio.de/sonos/v1/ws'},'235' => {'Capabilities' => '70145','ResolutionSubstitution' => undef,'Name' => 'Sveriges Radio','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/60167/60167-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/60167/60167-72x72.png','ServiceType' => '60167','SMAPI' => 'https://sonos.playsr.com/ws'},'150' => {'Capabilities' => '512','ResolutionSubstitution' => undef,'Name' => 'RUSC','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/38407/38407-72x72.png','ServiceType' => '38407','SMAPI' => 'https://www.rusc.com/sonos.asmx'},'223' => {'Capabilities' => '513','ResolutionSubstitution' => undef,'Name' => 'RauteMusik.FM','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/57095/57095-72x72.png','ServiceType' => '57095','SMAPI' => 'https://sonos-smapi.rautemusik.fm/smapi'},'270' => {'Capabilities' => '4672','ResolutionSubstitution' => undef,'Name' => 'Relisten','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/69127/69127-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/69127/69127-72x72.png','ServiceType' => '69127','SMAPI' => 'https://sonos.relisten.net/mp3'},'265' => {'Capabilities' => '512','ResolutionSubstitution' => undef,'Name' => 'PowerApp','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/67847/67847-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/67847/67847-72x72.png','ServiceType' => '67847','SMAPI' => 'https://api.powergroup.com.tr/Sonos/'},'283' => {'Capabilities' => '102976','ResolutionSubstitution' => '1500x1500','Name' => 'Calm','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/72455/72455-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/72455/72455-72x72.png','ServiceType' => '72455','SMAPI' => 'https://sonos.calm.com/server.php'},'201' => {'Capabilities' => '2208321','ResolutionSubstitution' => undef,'Name' => 'Amazon Music','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51463/51463-72x72.png','ServiceType' => '51463','SMAPI' => 'https://sonos.amazonmusic.com/'},'184' => {'Capabilities' => '295427','ResolutionSubstitution' => undef,'Name' => 'Stingray Music','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/47111/47111-72x72.png','ServiceType' => '47111','SMAPI' => 'https://sonos.stingray.com/ws/Sonos'},'294' => {'Capabilities' => '528897','ResolutionSubstitution' => '.jpg','Name' => 'Radio Javan','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/75271/75271-400x400.png','Resolution' => '600','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/75271/75271-72x72.png','ServiceType' => '75271','SMAPI' => 'https://rjsonos.app/musicservice'},'171' => {'Capabilities' => '4609','ResolutionSubstitution' => '_1500.png','Name' => 'Mood Mix','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/43783/43783-72x72.png','ServiceType' => '43783','SMAPI' => 'https://sonos.mix.moodmedia.com/api'},'268' => {'Capabilities' => '513','ResolutionSubstitution' => undef,'Name' => 'myTuner Radio','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/68615/68615-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/68615/68615-72x72.png','ServiceType' => '68615','SMAPI' => 'https://sonos.mytuner.mobi/api/v2/sonos/soap'},'203' => {'Capabilities' => '595','ResolutionSubstitution' => '1500x1500.jpg','Name' => 'Napster','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/51975/51975-72x72.png','ServiceType' => '51975','SMAPI' => 'https://sonosapi-napster.rhapsody.com/smapi'},'174' => {'Capabilities' => '47699','ResolutionSubstitution' => '640x640.jpg','Name' => 'TIDAL','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-400x400.png','Resolution' => '640','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/44551/44551-72x72.png','ServiceType' => '44551','SMAPI' => 'https://smapi.tidal.com/sonos'},'234' => {'Capabilities' => '512','ResolutionSubstitution' => undef,'Name' => 'deliver.media','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/59911/59911-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/59911/59911-72x72.png','ServiceType' => '59911','SMAPI' => 'https://sonos.deliver.media/musicservice'},'212' => {'Capabilities' => '1937985','ResolutionSubstitution' => 'width=1500','Name' => 'Plex','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/54279/54279-72x72.png','ServiceType' => '54279','SMAPI' => 'https://sonos.plex.tv/v2.2/soap'},'237' => {'Capabilities' => '328193','ResolutionSubstitution' => 'artwork_1500','Name' => 'storePlay','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/60679/60679-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/60679/60679-72x72.png','ServiceType' => '60679','SMAPI' => 'https://api.storeplay.com.au/sonos/SonosService.asmx'},'273' => {'Capabilities' => '561729','ResolutionSubstitution' => undef,'Name' => 'Klassik Radio Select','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/69895/69895-400x400.png','Resolution' => undef,'IconRoundURL' => 'http://sonos-logo.ws.sonos.com/69895/69895-72x72.png','ServiceType' => '69895','SMAPI' => 'https://klassiksonos.prod.global.7digital.net/sonos.asmx'},'217' => {'Capabilities' => '4610','ResolutionSubstitution' => '_1500.jpg','Name' => 'FIT Radio Workout Music','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/55559/55559-72x72.png','ServiceType' => '55559','SMAPI' => 'https://www.fitradio.com/apisonos/ws'},'181' => {'Capabilities' => '2627','ResolutionSubstitution' => 'w/1500/h/1500/','Name' => 'Mixcloud','PromoText' => '','IconQuadraticURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-400x400.png','Resolution' => '1500','IconRoundURL' => 'http://sonos-logo.ws.sonos.com/46343/46343-72x72.png','ServiceType' => '46343','SMAPI' => 'https://www.mixcloud.com/sonos-app/'}}
         2020-05-09 16:47:37   MusicServicesListVersion RINCON_949F3E15618801400:235
         2020-05-09 02:00:52   ShareIndexInProgress 0
         2019-12-06 21:59:27   UserID_Spotify  SA_RINCON2311_X_%23Svc2311-0-Token
         2020-05-09 17:33:55   ZoneGroupState  <ZoneGroupState><ZoneGroups><ZoneGroup Coordinator="RINCON_949F3E15618801400" ID="RINCON_949F3E15618801400:1248367953"><ZoneGroupMember UUID="RINCON_949F3E15618801400" Location="http://10.1.1.81:1400/xml/device_description.xml" ZoneName="OG-Schlafzimmer" Icon="x-rincon-roomicon:bedroom" Configuration="1" SoftwareVersion="56.0-76060" SWGen="1" MinCompatibleVersion="55.0-00000" LegacyCompatibleVersion="36.0-00000" ChannelMapSet="RINCON_949F3E15618801400:LF,LF;RINCON_949F3E874E7E01400:RF,RF" BootSeq="38" TVConfigurationError="0" HdmiCecAvailable="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="4" SecureRegState="3" VoiceConfigState="0" MicEnabled="0" AirPlayEnabled="0" IdleState="1" MoreInfo=""/><ZoneGroupMember UUID="RINCON_949F3E874E7E01400" Location="http://10.1.1.80:1400/xml/device_description.xml" ZoneName="OG-Schlafzimmer" Icon="x-rincon-roomicon:bedroom" Configuration="1" Invisible="1" SoftwareVersion="56.0-76060" SWGen="1" MinCompatibleVersion="55.0-00000" LegacyCompatibleVersion="36.0-00000" ChannelMapSet="RINCON_949F3E15618801400:LF,LF;RINCON_949F3E874E7E01400:RF,RF" BootSeq="44" TVConfigurationError="0" HdmiCecAvailable="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="5" SecureRegState="3" VoiceConfigState="0" MicEnabled="0" AirPlayEnabled="0" IdleState="1" MoreInfo=""/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E58349F5401400" ID="RINCON_000E58349F5401400:1060898263"><ZoneGroupMember UUID="RINCON_000E58349F5401400" Location="http://10.1.1.87:1400/xml/device_description.xml" ZoneName="OG-Badezimmer" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="56.0-76060" SWGen="1" MinCompatibleVersion="55.0-00000" LegacyCompatibleVersion="36.0-00000" BootSeq="50" TVConfigurationError="0" HdmiCecAvailable="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="0" Orientation="0" RoomCalibrationState="4" SecureRegState="3" VoiceConfigState="0" MicEnabled="0" AirPlayEnabled="0" IdleState="1" MoreInfo=""/></ZoneGroup><ZoneGroup Coordinator="RINCON_7828CAA433AA01400" ID="RINCON_7828CAA433AA01400:151444093"><ZoneGroupMember UUID="RINCON_7828CAA433AA01400" Location="http://10.1.1.218:1400/xml/device_description.xml" ZoneName="EG Küche" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="56.0-76060" SWGen="1" MinCompatibleVersion="55.0-00000" LegacyCompatibleVersion="36.0-00000" BootSeq="47" TVConfigurationError="0" HdmiCecAvailable="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="4" SecureRegState="3" VoiceConfigState="0" MicEnabled="0" AirPlayEnabled="0" IdleState="1" MoreInfo=""/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E5833D47001400" ID="RINCON_000E5833D47001400:3368005247"><ZoneGroupMember UUID="RINCON_000E589844C001400" Location="http://10.1.1.83:1400/xml/device_description.xml" ZoneName="EG-Wohnen+Essen" Icon="x-rincon-roomicon:living" Configuration="1" Invisible="1" SoftwareVersion="56.0-76060" SWGen="1" MinCompatibleVersion="55.0-00000" LegacyCompatibleVersion="36.0-00000" ChannelMapSet="RINCON_000E5833D47001400:LF,RF;RINCON_000E589844C001400:SW,SW" BootSeq="99" TVConfigurationError="0" HdmiCecAvailable="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="5" SecureRegState="3" VoiceConfigState="0" MicEnabled="0" AirPlayEnabled="0" IdleState="1" MoreInfo=""/><ZoneGroupMember UUID="RINCON_000E5833D47001400" Location="http://10.1.1.84:1400/xml/device_description.xml" ZoneName="EG-Wohnen+Essen" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="56.0-76060" SWGen="1" MinCompatibleVersion="55.0-00000" LegacyCompatibleVersion="36.0-00000" ChannelMapSet="RINCON_000E5833D47001400:LF,RF;RINCON_000E589844C001400:SW,SW" BootSeq="278" TVConfigurationError="0" HdmiCecAvailable="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="4" SecureRegState="3" VoiceConfigState="0" MicEnabled="0" AirPlayEnabled="0" IdleState="1" MoreInfo=""/></ZoneGroup><ZoneGroup Coordinator="RINCON_000E58C1F01601400" ID="RINCON_000E58C1F01601400:3482471507"><ZoneGroupMember UUID="RINCON_000E58C1F01601400" Location="http://10.1.1.82:1400/xml/device_description.xml" ZoneName="EG-Wintergarten" Icon="x-rincon-roomicon:living" Configuration="1" SoftwareVersion="56.0-76060" SWGen="1" MinCompatibleVersion="55.0-00000" LegacyCompatibleVersion="36.0-00000" BootSeq="78" TVConfigurationError="0" HdmiCecAvailable="0" WirelessMode="0" WirelessLeafOnly="0" HasConfiguredSSID="1" ChannelFreq="2412" BehindWifiExtender="0" WifiEnabled="1" Orientation="0" RoomCalibrationState="4" SecureRegState="3" VoiceConfigState="0" MicEnabled="0" AirPlayEnabled="0" IdleState="1" MoreInfo=""/></ZoneGroup></ZoneGroups><VanishedDevices></VanishedDevices></ZoneGroupState>
         2020-05-09 19:01:59   myStatus        opened
         2020-05-09 17:28:36   state           opened
    Attributes:
       Speak1     mp3:sudo /usr/local/bin/aws polly synthesize-speech --output-format mp3 --voice-id Marlene --text '%text%' %filename%
       event-on-change-reading state
       event-on-update-reading myStatus
       room       G_Audio-Video,Sonos,System
       targetSpeakDir /mnt/SonosSpeak/
       targetSpeakFileTimestamp 1
       targetSpeakMP3FileDir /mnt/SonosSpeak/
       targetSpeakURL \\10.1.1.33\SonosSpeak


    Edit: Löschen und Anlegen des Attributes hat zumindest geholfen, dass es in der Oberfläche zu sehen ist. Leider kommt keine Ausgabe:
    2020-05-09 19:18:14 SONOSPLAYER Sonos_EGWintergarten LastActionResult: Speak1: No Definition found!

    Festlegung:
    attr Sonos Speak1 mp3:sudo /usr/local/bin/aws polly synthesize-speech --output-format mp3 --voice-id Marlene --text '%text%' %filename%
    Titel: Antw:Sonos steuern
    Beitrag von: Rudibarani am 10 Mai 2020, 10:23:21
    Hallo zusammen,
    wir haben seit kurzem einen Sonos Move. Hat schon jemand rausgefunden, wie man da den Batteriestand als Reading bekommen kann? Ich würde mir gerne eine Erinnerung einstellen, wenn der zu niedrig wird.
    Vielen Dank
    Titel: Antw:Sonos steuern
    Beitrag von: f.f am 11 Mai 2020, 01:06:54
    Hallo, ich hatte bis vor einem 1/2 Jahr meine zahlreichen Sonos Geräte (13 Boxen, 4 Connect) integriert. Hatte das ganze auch zur Sprachausgabe genutz, so wurde mir z.B. beim Betreten des Hauses der Zustand meiner Alarmanlage "vorgelesen". Leider musste ich feststellen, dass es immer öfter vorkam, dass danach oft mein komplettes Fhem ertsmal bis zu einer Minute lahmgelegt war und ich erstmal im dunkeln stand. Das war kein Zustand , weshalb ich das Modul wieder entfernt habe. Eigentlich fand ich die Sprachsteuerung sehr gut, allerdings haben mich die Millionen, teils kryptische Informationen zu titeln und Radiosendern, in den Einzelnen Devices eher genervt und das ganze sehr unübersichtlich gemacht, was wahrscheinlich an der Fülle der Geräte liegt.
    Woran kann es liegen, dass  die Sprachausgabe mein Fhem völlig eingebremst hat? An den vielen Geräten (die öfters auch mal im Status nicht connected waren).

    Würde das Modul echt gerne wieder einbinden, aber nur wenn ich deshalb nicht minutenweise meine Haussteuerung verliere. Gibt es ähnliche Erfahrungen?   
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 11 Mai 2020, 21:22:11
    Hallo,

    ich nutze auch die Sprachausgabe. Habe allerdings nur 7 Boxen im Einsatz  ;D

    Es passiert hier hin und wieder, dass eine Box nach der Sprachausgabe von alleine anfängt Musik abzuspielen ;D oder die Lautstärke nicht zurücksetzt. Aber FHEM läut ohne "einfrieren".

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 14 Mai 2020, 10:38:40
    Zitat von: f.f am 11 Mai 2020, 01:06:54
    Hallo, ich hatte bis vor einem 1/2 Jahr meine zahlreichen Sonos Geräte (13 Boxen, 4 Connect) integriert. Hatte das ganze auch zur Sprachausgabe genutz, so wurde mir z.B. beim Betreten des Hauses der Zustand meiner Alarmanlage "vorgelesen". Leider musste ich feststellen, dass es immer öfter vorkam, dass danach oft mein komplettes Fhem ertsmal bis zu einer Minute lahmgelegt war und ich erstmal im dunkeln stand. Das war kein Zustand , weshalb ich das Modul wieder entfernt habe. Eigentlich fand ich die Sprachsteuerung sehr gut, allerdings haben mich die Millionen, teils kryptische Informationen zu titeln und Radiosendern, in den Einzelnen Devices eher genervt und das ganze sehr unübersichtlich gemacht, was wahrscheinlich an der Fülle der Geräte liegt.
    Woran kann es liegen, dass  die Sprachausgabe mein Fhem völlig eingebremst hat? An den vielen Geräten (die öfters auch mal im Status nicht connected waren).

    Würde das Modul echt gerne wieder einbinden, aber nur wenn ich deshalb nicht minutenweise meine Haussteuerung verliere. Gibt es ähnliche Erfahrungen?
    Moin f.f,
    wenn es Dir nur um die Ausgabe und nicht die komplette Sonos Steuerung geht, kannst Du vermutlich auch sonos2mqtt nutzen. Dort gib es auch Text2Speech topic
    Titel: Antw:Sonos steuern
    Beitrag von: Thyraz am 15 Mai 2020, 23:40:30
    Kann man eigentlich irgendwie Alben starten?
    Ich habe einmal Plex für lokale Medien in meiner Bibliothek, als auch Amazon Music Unlimited eingebunden.

    Nehme ich nun den Inhalt des Readings currentTrackURI, kann ich damit über set <SonosPlayer> playUri <InhaltvonCurrentTrackURI> das Lied jederzeit wieder abspielen.

    Die gesamte Playlist bzw. das Album findet man ja hingegen in dem Reading currentEnqueuedTransportURI.
    Mit dem Inhalt kann ich aber per playUri keine Wiedergabe starten.

    currentEnqueuedTransportURI sieht z.B. so aus:

    x-rincon-cpcontainer:1004206c2b9bfbd0c9347c8ba1cb0bed1cd023caa8afcb85%3a5%3a1942%3aalbum?sid=212&flags=8300&sn=6


    Lässt sich sowas irgendwie realisieren, oder muss ich für jedes Album eine Sonos-Playlist anlegen (was nicht wirklich handlebar ist...)?
    Titel: Antw:Sonos steuern
    Beitrag von: zimb0 am 03 Juni 2020, 12:59:19
    Zitat von: f.f am 11 Mai 2020, 01:06:54
    Hallo, ich hatte bis vor einem 1/2 Jahr meine zahlreichen Sonos Geräte (13 Boxen, 4 Connect) integriert. Hatte das ganze auch zur Sprachausgabe genutz, so wurde mir z.B. beim Betreten des Hauses der Zustand meiner Alarmanlage "vorgelesen". Leider musste ich feststellen, dass es immer öfter vorkam, dass danach oft mein komplettes Fhem ertsmal bis zu einer Minute lahmgelegt war und ich erstmal im dunkeln stand. Das war kein Zustand , weshalb ich das Modul wieder entfernt habe. Eigentlich fand ich die Sprachsteuerung sehr gut, allerdings haben mich die Millionen, teils kryptische Informationen zu titeln und Radiosendern, in den Einzelnen Devices eher genervt und das ganze sehr unübersichtlich gemacht, was wahrscheinlich an der Fülle der Geräte liegt.
    Woran kann es liegen, dass  die Sprachausgabe mein Fhem völlig eingebremst hat? An den vielen Geräten (die öfters auch mal im Status nicht connected waren).

    Würde das Modul echt gerne wieder einbinden, aber nur wenn ich deshalb nicht minutenweise meine Haussteuerung verliere. Gibt es ähnliche Erfahrungen?

    Hi,

    ich bin relativ neu in der Thematik, da ich erst jetzt auf SONOS umsteige.
    Allerdings hatte ich ein ähnliches Problem, da ich auf meinem Ubuntu-Server ebenfalls piHole installiert hatte. Hierbei kam es zu Port-Konflikten, auch wenn ich via FHEM cfg die SONOS-Ports geändert habe.
    Hab nun piHole deaktiviert und alles läuft problemlos.
    Vielleicht gehts bei dir ja auch in diese Richtung.
    Titel: Antw:Sonos steuern
    Beitrag von: zimb0 am 05 Juni 2020, 12:39:50
    Hi zusammen -
    eine kurze Frage: Habe gerade meine zweite SONOS One eingebunden.
    Die erste habe ich erfolgreich in FHEM als Sonos_Esszimmer eingebunden - die zweite taucht aber als "Sonos_Unnamed_Room" auf, obwohl in der Sonos App "Schlafzimmer" konfiguriert ist.
    Habe bereits mehrmals neu gestartet.
    Hat noch jemand eine Idee?
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 05 Juni 2020, 13:45:38
    Ich würde wie folgt vorgehen:

    1. Das Device in FHEM löschen
    2. ,,Save" im WebUI betätigen
    3. ,,systemctl stop fhem" auf der Command Line
    4. ,,systemctl start fhem" auf der Command Line
    5. Nun sollte das Gerät korrekt neu angelegt worden sein. Nochmal ,,Save" betätigen.

    Wenn ich mich recht erinnere, wird das Gerät in FHEM angelegt, bevor der Raum in Sonos zugeordnet wurde.

    Da ich mir nicht ganz sicher bin, empfehle ich dir vorher ein Backup. ;)

    Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: zimb0 am 05 Juni 2020, 17:35:23
    Zitat von: hoppel118 am 05 Juni 2020, 13:45:38
    Ich würde wie folgt vorgehen:

    1. Das Device in FHEM löschen
    2. ,,Save" im WebUI betätigen
    3. ,,systemctl stop fhem" auf der Command Line
    4. ,,systemctl start fhem" auf der Command Line
    5. Nun sollte das Gerät korrekt neu angelegt worden sein. Nochmal ,,Save" betätigen.

    Wenn ich mich recht erinnere, wird das Gerät in FHEM angelegt, bevor der Raum in Sonos zugeordnet wurde.
    Da ich mir nicht ganz sicher bin, empfehle ich dir vorher ein Backup. ;)

    Gruß Hoppel

    Passt - vielen Dank! :)
    Titel: Antw:Sonos steuern
    Beitrag von: Wuppi68 am 05 Juni 2020, 21:31:01
    abstelle von systemctl stop fhem ...

    kannst Du auch

    service restart fhem

    machen
    Titel: Antw:Sonos steuern
    Beitrag von: BAfH am 08 Juni 2020, 11:00:58
    Hallo,
    Ich habe 3 Player:
    * Küche
    * Bad
    * Gästezimmer
    wobei Küche und Bad als Gruppe laufen, Gästezimmer alleine.

    mit folgendem Problem.
    * Alle Geräte aus.
    * Wird mittels mittels FHEM oder App oder direkt am Device die Gruppe gestartet, geht auch das Gästezimmer an.
    * Wird mittels mittels FHEM oder App oder direkt am Device das Gästezimmer gestartet, geht die Gruppe nicht an.

    Mein Sonos ist angelegt
    defmod Sonos SONOS localhost:4711 45 8 10
    attr Sonos DbLogExclude .*
    attr Sonos disable 0
    attr Sonos icon sonos_play1
    attr Sonos room Interfaces
    attr Sonos targetSpeakDir ./mnt/SonosSpeak
    attr Sonos targetSpeakFileTimestamp 1
    attr Sonos targetSpeakMP3FileDir ./mnt/SonosSpeak
    attr Sonos targetSpeakURL \\192.168.10.50\SonosSpeak
    attr Sonos verbose 0


    Bin verwirrt. Hat jemand einen Tipp???
    Titel: Antw:Sonos steuern
    Beitrag von: zimb0 am 09 Juni 2020, 14:10:43
    Hat das Update von S1 auf S2 irgendwelche Auswirkungen auf die Steuerung via FHEM?
    Titel: Antw:Sonos steuern
    Beitrag von: Andy89 am 09 Juni 2020, 14:34:20
    Zitat von: zimb0 am 09 Juni 2020, 14:10:43
    Hat das Update von S1 auf S2 irgendwelche Auswirkungen auf die Steuerung via FHEM?
    ich habe keine Veränderung feststellen können. Mein Sonos Device ist immer noch ab und zu auf disappeared, was durch ein DOIF wieder neugestartet wird.
    Titel: Antw:Sonos steuern
    Beitrag von: zimb0 am 09 Juni 2020, 15:12:16
    Zitat von: Andy89 am 09 Juni 2020, 14:34:20
    ich habe keine Veränderung feststellen können. Mein Sonos Device ist immer noch ab und zu auf disappeared, was durch ein DOIF wieder neugestartet wird.

    Klasse, danke für die schnelle Info.
    Dann werd ich heut abend gleich mal aktualisieren :)
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 09 Juni 2020, 17:02:02
    Zitat von: Andy89 am 09 Juni 2020, 14:34:20
    ich habe keine Veränderung feststellen können. Mein Sonos Device ist immer noch ab und zu auf disappeared, was durch ein DOIF wieder neugestartet wird.

    Daran wird hier gerade gearbeitet: https://forum.fhem.de/index.php?topic=46058

    Evtl. hast du ja Zeit/Lust dich einzubringen. Gut zu wissen, dass S2 auch mit dem Modul funktioniert. :)

    Gruß Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Andy89 am 09 Juni 2020, 17:09:00
    Zitat von: hoppel118 am 09 Juni 2020, 17:02:02
    Daran wird hier gerade gearbeitet: https://forum.fhem.de/index.php?topic=46058

    Evtl. hast du ja Zeit/Lust dich einzubringen. Gut zu wissen, dass S2 auch mit dem Modul funktioniert. :)

    Gruß Hoppel
    Das verfolge ich aktiv, aber zeitlich bin gerade anders gebunden, weswegen ich dies nur mitlese. Sorry.
    Ich habe heute 2 neue Sonos One erhalten, welche 2 Play 1 ersetzen. Da hab ich das Update auf S2 gesehen und meine alten devices gelöscht, den gleichen Namen gesetzt. Dadurch wurden die neuen Boxen beim autocreate gleich gesetzt und alle Automatisierungen (zB Musik an bei Betreten des Bades) funktionieren wie vorher.

    Beste Grüße
    Andy
    Titel: Antw:Sonos steuern
    Beitrag von: Xguide am 17 Juni 2020, 17:17:53
    Zitat von: Otto123 am 17 Dezember 2019, 12:34:31
    Naja Du kannst irgendwo einen Samba Server haben, das muss nicht dein System sein. Router, NAS ....

    Aber an sich ist es keine große Sache. Hier mein Setup Script. ;)
    https://github.com/heinz-otto/raspberry/blob/master/setupSamba.sh

    Gruß Otto

    Hallo zusammen, hallo Otto,

    ich verzweifele, ich versuche seit Tagen verschiedenste Samba Konfigurationen aus um Sonos Speak wieder zum Laufen zu bekommen.
    Seit dem Umzug auf ein Proxmox in einem Debian Stretch Container bekomme ich es nicht mehr ans Laufen.
    Die Samba Version ist 4.5.16-Debian

    Hat vielleicht jemand eine laufende Konfiguration, die in einem Proxmox LXC gehostet wird? Oder irgendwelche weiteren Ansätze wie ich es zum Laufen bekommen kann?
    Ottos Konfig aus dem Git habe ich durch, das Wiki und diverse andere Samba Parameter ausprobiert.

    Ich denke das Problem ist das ich keinen Anonymen Zugriff auf den Share bekomme. Auf der Windowsebene kommt auch das Authentifizierungsfenster, ich muss irgendwas eintragen, dann öffnet er mir auch das Verzeichnis, aber ich muss halt was eintragen :-(

    Anbei das was aktuell drin ist in der smb.conf, ich habe inzwischen den Überblick verloren was ich bereits alles getestet habe.

    [global]
       workgroup = WORKGROUP
       security = user
       log file = /var/log/samba/log.%m
       server string = Samba Server %v
       netbios name = Samba
       log file = /var/log/samba/log.%m
       max log size = 1000
       usershare allow guests = yes
       map to guest = bad user

    [SonosSpeak]
        comment = Audio-Files for SonosPlayer to Speak
        path = /media/SonosSpeak
        public = yes
        guest ok = yes
        read only = no
        writable = yes
        browsable = yes



    Danke für jeden kleinen Hinweis und beste Grüße,

    Marcel

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 17 Juni 2020, 17:41:17
    Hallo Marcel,

    im Zweifel könntest du auch versuchen, diesen Share bei Sonos als verfügbaren Share einzutragen (dann halt mit Benutzername/Passwort).
    Dann tauchen zwar die dortigen Inhalte auch in deiner Sonos-Bibliothek auf, aber vielleicht spielt er sie dann auch direkt ab...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: mumpitzstuff am 17 Juni 2020, 21:07:52
    guest account = nobody

    Müsste sowas nicht auch bei global auftauchen? Und beim Share vielleicht auch noch:

    valid users = xyz

    damit der bad user auch zum tragen kommen kann. Aber ist nur eine Vermutung...

    Die Informationen habe ich hier gefunden:
    https://www.thomas-krenn.com/de/wiki/Samba-Server_Security (https://www.thomas-krenn.com/de/wiki/Samba-Server_Security)
    Titel: Antw:Sonos steuern
    Beitrag von: Xguide am 17 Juni 2020, 21:47:00
    Hallo zusammen,

    die Thomas Krenn Anleitung habe ich auch schon durch und gerade noch einmal verifiziert. Leider ohne Erfolg. Dort ist ja auch beschreiben, wie ein explizierter Benutzer angeben werden kann. Das habe ich auch getan, in der Hoffnung das ich den Weg von Reinerlein einschlagen konnte, aber irgendwie kann ich keine Shares mehr manuell in der neuen Sonos Controller App hinzufügen.

    Ich habe jetzt noch mal ein wenig gegrübelt und meine Annahme, dass es mit dem Umzug auf Proxmox passierte ist nicht richtig. Das funktionierte schon mal in der Konfig. Ergo kann es eigentlich nur an der installierten Samba Version liegen oder eben am Sonos Update auf S2?

    Wie gesagt, der BAD User Zugriff funktioniert, aber eben nicht der Anonymus, sprich ohne Anmeldemaske.

    Danke für Eure Hilfestellung und beste Grüße,

    Marcel

    Update: Mir ist gerade aufgefallen, dass die App bei einem Sonos Speak File sagt, sie kann:
    //127.0.0.1/SonosSpeak/RINCON_949F3EC1344901400_MR_Speak_20200617-220600.mp3 nicht abspielen. wo kommt denn localhost 127.0.0.1 her?
    ich hatte targetSpeakURL in verdacht, dort ist der share mit 127.0.0.1 drin gewsen, aber eine Änderung auf die richtige IP brachte nichts.
    Titel: Antw:Sonos steuern
    Beitrag von: Xguide am 17 Juni 2020, 22:33:06
    Leute es geht wieder....

    Ich habe keinen Plan woran es lag. Einzige Erklärung die mir bleibt, für die Änderung im targetSpeakURL mussten die Subprozesse neu gestartet werden und das ist in meinem Fall mit einem fhem restart nach einem update passiert. (update schliesse ich mal aus, das sonos modul hat ja schon länger keins mehr bekommen)
    Ob es stimmt weiss ich nicht, aber sie spricht wieder mit mir - für den Moment bin ich glücklich.

    Danke für Eure Tipps
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 05 Juli 2020, 14:49:36
     Hallo
    Seit ich mein System auf Ubuntu 20 LTS umgestellt habe wird wohl von Samba 4.11.6
    kein SMBV1 Protokoll mehr unterstützt, so hatte ich auf meine Fritzbox sowie Sonos keinen
    zugriff mehr.
    Abhilfe brachten erst mal diese Einträge in der smb.conf Abschnitt [global]

      client min protocol =NT1
    server min protocol = NT1
    ntlm auth = ntlvm1-permitted

    So kann man auch SMB2/3 nutzen sowie das das alte Protokol SMBV1
    was in vielen älteren Mediageräten noch genutzt wird.
    Versteh nur nicht warum Sonos das nicht auf das sichere Protokoll umstellt.

    Andre
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 05 Juli 2020, 18:16:10
    Hallo zusammen,

    bei mir funktioniert es nach dem Update auf Ubuntu 20.04 auch ohne diese Anpassung (also wie bisher).

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 05 Juli 2020, 18:34:37
    Läuft bei dir Samba in dieser Version ich bekam von Sonos  Fehlercode 900
    als ich die Musikbibliothek neu einlesen wollte.
    Dasselbe Problem hatte meine Fritzbox...(Musik)
    Liegen deine Freigaben auch auf dem Samba Server


    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 05 Juli 2020, 19:01:56
    Samba Server deaktiviert SMB1 ab der Version 4.11
    Im Client ist es schon länger deaktiviert - wir hatten das hier schon mal angerissen.
    https://forum.fhem.de/index.php/topic,107312.msg1013478.html#msg1013478
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 05 Juli 2020, 19:55:14
    Otto da du auch Sonos nutzt und wahrscheinlich einen Raspberry mit Samba Freigaben
    wie hast du es  dort gelöst ?
    Ich frage weil ich das hier
    https://heinz-otto.blogspot.com/2020/05/sonos2mqtt-so-weit-bin-ich.html
    umsetzen wollte auf meinen Test Raspberry und die Sprachausgabe nicht
    funktioniert

    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 05 Juli 2020, 23:14:35
    Hallo zusammen,

    auf meinem Ubuntu-Testsystem (20.04) ist auch die Samba-Version 4.11.6.

    Ich kann eine mp3-Datei über Sonos ausgeben, ohne das ich die smb.conf angepasst habe.

    Viele Grüße

    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 05 Juli 2020, 23:33:35
    Hallo Jürgen,

    was gibt Dir auf Systemebene testparm -v | grep protocol zurück?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 05 Juli 2020, 23:43:24
    Hallo Otto,

    dies:
    Load smb config files from /etc/samba/smb.conf
    Loaded services file OK.
    Server role: ROLE_STANDALONE

    Press enter to see a dump of your service definitions

    client ipc max protocol = default
    client ipc min protocol = default
    client max protocol = default
    client min protocol = SMB2_02
    server max protocol = SMB3
    server min protocol = SMB2_02


    Zusatzinfo:

    Ubuntu läuft in einer Virtualbox (V6.1.10)

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 06 Juli 2020, 00:35:47
    Oha, das würde ja bedeuten: Sonos hat mit der letzten Version aufgerüstet und kann jetzt mehr als SMB1 ? Ich kann es fast nicht glauben ...
    Was für Player hast Du?
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 06 Juli 2020, 15:30:33
    Hallo Otto,

    siehe Profil  8)

    Läuft alles unter "S2".

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 06 Juli 2020, 17:10:39
    Update gleich mal meine Player auf S2 und mach die Änderungen in der smb.conf rückgängig.


    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 06 Juli 2020, 17:31:33
    Funktioniert nicht bei mir sobald ich die Zeilen bei mir rausnehme bekomme ich keinen Zugriff mehr.
    Entscheidend wird wohl die letzte Zeile  ntlm auth = ntlmv1-permitted denn ohne sie bekomme
    ich keinen Zugriff auf meine Freigabe vielleicht ist sie bei dir aktiviert
    was sagt denn  testparm -v | grep ntlm bei dir


    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 06 Juli 2020, 21:55:50
    Hier die gewünschte Info.

    Load smb config files from /etc/samba/smb.conf
    Loaded services file OK.
    Server role: ROLE_STANDALONE

    Press enter to see a dump of your service definitions

    ntlm auth = ntlmv2-only


    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: mumpitzstuff am 07 Juli 2020, 09:25:21
    Bei Samba funktioniert die Kombination aus min und max protocol nicht. Das steht zwar in tausenden Foren so drin, macht aber massiv Probleme. Ich hatte erst Ruhe, nachdem ich den ganzen min und max protocol Mist rausgeworfen hatte und das zu verwendende Protokoll so gesetzt habe:

    protocol = SMB3

    Alternativ versuch mal nur min und nicht max zu setzen, vielleicht geht das auch.
    Titel: Antw:Sonos steuern
    Beitrag von: andre07 am 07 Juli 2020, 12:27:18
    Bei mir ist nur min Protokoll gesetzt
    client min protocol = NT1
    server min protocol = NT1
    ntlm auth = ntlmv1-permitted
    somit kann nach meinen Verständnis auch SMB3 genutzt werden.
    Nur Sonos auch in der Version S2 unterstützt bis jetzt nur SMB1
    somit habe ich mit SMB2/3 keinen Zugriff.
    Titel: Antw:Sonos steuern
    Beitrag von: mumpitzstuff am 07 Juli 2020, 12:39:23
    Meine Antwort war unabhängig von SONOS bzw. welche Version man dafür benutzen muss. Ich wollte nur sagen, das diese min/max protocol Dinge zu Problemen führen können. Deshalb kann man mal versuchen ohne diese Anweisungen auszukommen und jetzt in deinem Fall lediglich:

    protocol = NT1

    zu verwenden. Aber wenns auch so geht, muss man natürlich nix machen.
    Titel: Antw:Sonos steuern
    Beitrag von: TomLee am 23 Juli 2020, 15:07:03
    Hallo,

    ZitatRadios
    Liefert eine Liste mit den Namen aller gespeicherten Radiostationen (Favoriten). Das Format der Liste ist eine Komma-Separierte Liste, bei der die Namen in doppelten Anführungsstrichen stehen. z.B. "Sender 1","Sender 2","Test"

    RadiosWithCovers
    Liefert die Stringrepräsentation eines Hash mit den Namen und Covern aller gespeicherten Sonos-Radiofavoriten. Z.B.: {'R:0/0/2' => {'Cover' => 'urlzumcover', 'Title' => '1. Radiosender'}}. Dieser String kann einfach mit '''eval''' in eine Perl-Datenstruktur umgewandelt werden.

    Kann mir jemand sagen weshalb mir ein get aus der Befehlszeile heraus bei beiden Befehlen nur ein leeres Dialogfeld zurückgibt ?
    Hab ich noch irgendwelche Attribute zu setzen das das klappt ?

    Das Ergebnis von get RadiosWithCovers landet im Reading Radios  und bis zum nächsten Ereignis mit vorangestelltem GetRadiosWithCovers: im Reading LastActionResult.

    Gibts auch ein Reading zu get Radios welches die Komma-Separierte Liste enthalten sollte, weil bei mir gibt es keines ?

    Oder ist es hier so gedacht das das Ergebnis mit vorangestelltem Radios: nur bis zum nächsten Ereignis in LastActionResult ausgegeben wird ?

    Gruß

    Thomas
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Juli 2020, 16:42:52
    Hi Thomas,

    prinzipiell wird die Antwort einer Get-Anfrage immer im LastActionResult bereitgestellt, da alles asynchron beantwortet wird (bis auf wenige Ausnahmen). Zusätzlich gibt es manchmal entsprechende Readings dazu.

    In deinem Fall kannst du entweder das per notify oder userreading selber auswerten, oder du setzt am zentralen Sonos-Device "getListsDirectlyToReadings".
    Damit werden dann im Falle von "get ... Radios" am Playerdevice direkt die beiden Readings "RadiosList" und "RadiosListAlias" gesetzt. Diese sind |-Separierte Listen, einmal die URL, die man mittels "set ... StartRadio /abc/" setzen kann, und einmal der saubere Name des Senders, gedacht für Auswahllisten z.B. auf FTUI....

    Dazu passend gibt es noch das Attribut "getRadiosListAtNewVersion", womit diese Readings automatisch aktualisiert werden, wenn du im Sonos-System die Radiosender anpasst... dann sparst du dir das manuelle "get...".

    Wenn du "get ... RadiosWithCovers" bei gesetztem "getListsDirectlyToReadings" ausführst, dann zeigt die vorgefertigte ReadingsGroup das auch direkt an (und füllt ein Reading "Radios" mit einer Perl-Hash-Struktur).
    Diese Readingsgroup hat erstmal keine Raumzuordnung, sodass du sie über das Playdevice finden kannst (probably associated with...) oder im Raum "Everything"...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: TomLee am 23 Juli 2020, 17:09:09
    Danke

    Zitateinmal die URL, die man mittels "set ... StartRadio /abc/" setzen kann, und einmal der saubere Name des Senders

    Beide Attribute hab ich gesetzt, es gibt jetzt die Readings "RadiosList" und "RadiosListAlias"

    setstate Sonos_Wohnzimmer 2020-07-23 16:52:35 RadiosList 011.FM.-.Non.Stop.60s|1LIVE.diggi..Top.40.Pop.|DASDING.92.5..Euro-Hits.|Nota.Masria..Gemeinden.|PsyRadio.Chillout|Radio.Regenbogen|SWR4.Baden-Württemberg|SWR4.Rheinland-Pfalz
    setstate Sonos_Wohnzimmer 2020-07-23 16:52:35 RadiosListAlias 011.FM - Non Stop 60s|1LIVE diggi (Top 40/Pop)|DASDING 92.5 (Euro-Hits)|Nota Masria (Gemeinden)|PsyRadio Chillout|Radio Regenbogen|SWR4 Baden-Württemberg|SWR4 Rheinland-Pfalz


    Aber abspielen mit StartRadio kann ich die Sender in RadiosList nicht mit den Punkten darin, brauch ich dazu wieder ein Attribut das das geht ?

    Das Reading Radios hab ich schon immer, auch vor setzen von getListsDirectlyToReadings.

    Weiterhin, wenn auch jetzt nach setzen von getListsDirectlyToReadings überflüssig, ist das Dialogfeld immer noch leer nach einem get aus der Befehlszeile.
    Sollte doch was drin stehen ?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 23 Juli 2020, 17:58:55
    Hallo Thomas,

    das Dialogfeld nach einem "get" wird bei dem Sonos-Modul in den meisten Fällen leer bleiben, da keine direkte Antwort vom Player kommt. Du forderst den Player (bzw. den SubProzess) auf, eine asynchrone Antwort zu senden...
    Die Antwort wird dann asynchron in das Reading "LastActionResult" geschrieben...

    Die Schreibweise mit den Punkten ist die Regulärer-Ausdruck-Schreibweise.
    Das musst du also so aufrufen:
    set player StartRadio /1LIVE.diggi..Top.40.Pop./

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: TomLee am 23 Juli 2020, 18:27:25
    ZitatDazu passend gibt es noch das Attribut "getRadiosListAtNewVersion", womit diese Readings automatisch aktualisiert werden, wenn du im Sonos-System die Radiosender anpasst... dann sparst du dir das manuelle "get...".

    Hab vor 10 Minuten einen Sender zu "Mein Sonos" hinzugefügt, er ist unter den Sendern in "Mein Sonos" vorhanden, die Readings haben sich bis jetzt nicht aktualisiert, getRadiosListAtNewVersion ist gesetzt.

    Dafür jetzt bei jeder Sprachansage im Log:

    2020.07.23 19:04:38 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1410.
    Titel: Antw:Sonos steuern
    Beitrag von: TomLee am 24 Juli 2020, 11:15:22
    Hier (https://forum.fhem.de/index.php/topic,105953.msg998687.html#msg998687) gings schonmal um die Logmeldungen iVm den gesetzten Attributen.

    Mein notify sieht aktuell noch so aus, auch wenn keine Sprachausgaben erfolgen soll  gibts die Meldungen, nur weil der Name des Players übergeben wird.

    defmod not_MQTT2_Sensorkrake notify MQTT2_Sensorkrake:NEC_32:.* {myNec32RemoteCodesHandler("Sonos_Wohnzimmer","du_remote",$EVTPART0,$EVTPART1,$SELF)}


    2020.07.24 11:09:40 3: Das ist NEC_32 0x20DF22DD Sonos du_remote
    2020.07.24 11:09:41 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1410.

    2020.07.24 11:09:41 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1410.

    2020.07.24 11:09:43 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1410.

    2020.07.24 11:09:44 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1410.

    2020.07.24 11:09:51 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1410.


    Gibts da eine Lösung für oder stell ich besser wieder um auf meine vorherige Lösung die auf den Hash in Radios aufgebaut hat, da gabs das Problem nämlich nicht ?
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Juli 2020, 11:36:39
    Hallo TomLee,

    kannst du mal bitte in Zeile 1413 etwas anpassen?
    aus
    if (defined($current{EnqueuedTransportURI}) && defined($value->{Ressource})) {
    mach mal bitte
    if (defined($current{EnqueuedTransportURI}) && defined($value) && defined($value->{Ressource})) {

    Danke schonmal...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: TomLee am 24 Juli 2020, 11:45:07
    Keine Änderung:


    2020.07.24 11:43:33 3: Das ist NEC_32 0x20DF22DD Sonos du_remote
    2020.07.24 11:43:34 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1410.

    2020.07.24 11:43:38 3: Das ist NEC_32 0x20DF22DD Sonos du_remote
    2020.07.24 11:43:39 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1410.

    2020.07.24 11:43:40 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1410.

    2020.07.24 11:43:41 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1410.

    2020.07.24 11:43:42 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1410.

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Juli 2020, 11:50:55
    Hi TomLee,

    hmm...

    Kannst du mal eine zusätzliche Log-Ausgabe einbauen?

    Aus
    my $readingsValue = ReadingsVal($hash->{NAME}, 'Radios', '');
    if ($readingsValue ne '') {

    mach mal bitte
    my $readingsValue = ReadingsVal($hash->{NAME}, 'Radios', '');
    SONOS_Log $hash->{UDN}, 1, "ReadingsValue: $readingsValue";
    if ($readingsValue ne '') {


    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: TomLee am 24 Juli 2020, 11:58:56

    2020.07.24 11:57:35 3: Das ist NEC_32 0x20DFC639 Jalousie du_remote
    2020.07.24 11:57:39 1: SONOS0: ReadingsValue: DirectlySet
    2020.07.24 11:57:39 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1411.

    2020.07.24 11:57:40 1: SONOS0: ReadingsValue: DirectlySet
    2020.07.24 11:57:40 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1411.

    2020.07.24 11:57:43 1: SONOS0: ReadingsValue: DirectlySet
    2020.07.24 11:57:43 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1411.

    2020.07.24 11:57:43 1: SONOS0: ReadingsValue: DirectlySet
    2020.07.24 11:57:43 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1411.

    2020.07.24 11:57:46 1: SONOS0: ReadingsValue: DirectlySet
    2020.07.24 11:57:46 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1411.

    2020.07.24 11:57:46 1: SONOS0: ReadingsValue: DirectlySet
    2020.07.24 11:57:46 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1411.

    2020.07.24 11:57:51 1: SONOS0: ReadingsValue: DirectlySet
    2020.07.24 11:57:51 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1411.

    2020.07.24 11:57:52 1: SONOS0: ReadingsValue: DirectlySet
    2020.07.24 11:57:52 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1411.
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Juli 2020, 12:01:59
    Hi TomLee,

    wieso steht in deinem Radios-Reading irgendwas von DirectlySet?
    Hast du UserReadings die auch das Reading "Radios" setzen?
    Die musst du natürlich wieder entfernen, wenn du das Attribut "getListsDirectlyToReadings" verwenden möchtest...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: TomLee am 24 Juli 2020, 12:04:40
    Das musst du mir beantworten, vor der Umstellung auf die Attribute stand da noch der Hash drin.
    Titel: Antw:Sonos steuern
    Beitrag von: TomLee am 24 Juli 2020, 12:07:42
    Ja hab ein userReading, das ist so seit der Definition vor Jahren, mein ich.

    defmod Sonos_Wohnzimmer SONOSPLAYER RINCON_000E58F7F67C01400_MR
    attr Sonos_Wohnzimmer VolumeStep 6
    attr Sonos_Wohnzimmer generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Wohnzimmer generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Wohnzimmer generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Wohnzimmer generateVolumeEvent 1
    attr Sonos_Wohnzimmer generateVolumeSlider 1
    attr Sonos_Wohnzimmer genericDeviceType switch
    attr Sonos_Wohnzimmer getAlarms 1
    attr Sonos_Wohnzimmer getTitleInfoFromMaster 1
    attr Sonos_Wohnzimmer group Wohnzimmer
    attr Sonos_Wohnzimmer icon icoSONOSPLAYER_icon-S3.png
    attr Sonos_Wohnzimmer maxVolume 50
    attr Sonos_Wohnzimmer minVolume 0
    attr Sonos_Wohnzimmer model Sonos_S3
    attr Sonos_Wohnzimmer room Homekit,Media
    attr Sonos_Wohnzimmer simulateCurrentTrackPosition 1
    attr Sonos_Wohnzimmer sortby 1
    attr Sonos_Wohnzimmer stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
    attr Sonos_Wohnzimmer userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, Queue:LastActionResult.*?GetQueueWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }
    attr Sonos_Wohnzimmer webCmd Volume

    setstate Sonos_Wohnzimmer appeared ~ 0.0% (0:08:10 / 0:00:00)
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:05 AlarmList {}
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:05 AlarmListIDs
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:05 AlarmListVersion RINCON_000E58F7F67C01400:0
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 AlarmRunning 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 AlarmRunningID
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 AvailablePlayer []
    setstate Sonos_Wohnzimmer 2020-07-23 16:53:40 AvailablePlayerList
    setstate Sonos_Wohnzimmer 2020-07-23 16:53:40 AvailablePlayerListAlias
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 Balance 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:55:01 Bass 3
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 CrossfadeMode 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 DailyIndexRefreshTime 02:00:00
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 DirectControlAccountID
    setstate Sonos_Wohnzimmer 2020-07-22 10:54:46 DirectControlClientID
    setstate Sonos_Wohnzimmer 2020-07-19 11:32:31 DirectControlIsSuspended 0
    setstate Sonos_Wohnzimmer 2020-07-23 11:45:27 Favourites {'FV:2/29' => {'Description' => 'TuneIn Sender','Position' => '3','Typ' => 'audioBroadcast','Ressource' => 'x-sonosapi-stream:s65628?sid=254&flags=8224&sn=0','Cover' => 'http://cdn-radiotime-logos.tunein.com/s65628g.png','Title' => 'FM نجوم 100.6 (Arabisch)'},'FV:2/28' => {'Description' => 'Interpret','Position' => '7','Typ' => 'musicArtist','Ressource' => 'x-rincon-playlist:RINCON_000E58F7F67C01400#A:ALBUMARTIST/Tony%20Rebel','Cover' => 'http://192.168.188.23:1400/getaa?u=x-file-cifs%3a%2f%2f192.168.188.26%2fOwnMusic%2fTony%20Rebel%2fNo%20Matta.mp3&amp;;v=82','Title' => 'Tony Rebel'},'FV:2/32' => {'Description' => 'Aus Musikbibliothek','Position' => '4','Typ' => 'container','Ressource' => 'x-rincon-playlist:RINCON_000E58F7F67C01400#S://192.168.188.26/OwnMusic/H%c3%b6rb%c3%bccher','Cover' => 'http://192.168.188.23:1400/getaa?u=x-file-cifs%3a%2f%2f192.168.188.26%2fOwnMusic%2fH%c3%b6rb%c3%bccher%2fDer%20Struwwelpeter.mp3&amp;;v=82','Title' => 'Hörbücher'},'FV:2/34' => {'Description' => 'TuneIn Sender','Position' => '2','Typ' => 'audioBroadcast','Ressource' => 'x-sonosapi-stream:s76488?sid=254&flags=8224&sn=0','Cover' => 'http://cdn-profiles.tunein.com/s20295/images/logog.png','Title' => 'DASDING 92.5 (Euro-Hits)'},'FV:2/31' => {'Description' => 'Aus Musikbibliothek','Position' => '5','Typ' => 'container','Ressource' => '','Cover' => 'http://192.168.188.23:1400/getaa?u=','Title' => 'Ordner'},'FV:2/15' => {'Description' => 'TuneIn Sender','Position' => '6','Typ' => 'audioBroadcast','Ressource' => 'x-sonosapi-stream:s97066?sid=254&flags=8224&sn=0','Cover' => 'http://cdn-radiotime-logos.tunein.com/s97066g.png','Title' => 'PsyRadioChillout'},'FV:2/30' => {'Description' => 'Radioplayer Sender','Position' => '1','Typ' => 'audioBroadcast','Ressource' => 'x-sonosapi-stream:rpde_svc_1944?sid=232&flags=32&sn=4','Cover' => 'http://192.168.188.23:1400/getaa?s=1&u=x-sonosapi-stream%3Arpde_svc_1944%3Fsid%3D232%26amp%3Bflags%3D32%26amp%3Bsn%3D4','Title' => 'COSMO Chillout'},'FV:2/26' => {'Description' => 'TuneIn Sender','Position' => '0','Typ' => 'audioBroadcast','Ressource' => 'x-sonosapi-stream:s296020?sid=254&flags=8224&sn=0','Cover' => 'http://cdn-radiotime-logos.tunein.com/s296020g.png','Title' => '011.FM-NonStop60s'}}
    setstate Sonos_Wohnzimmer 2020-07-23 18:15:16 FavouritesVersion RINCON_000E58F7F67C01400,71
    setstate Sonos_Wohnzimmer 2020-07-20 23:24:30 GroupMute 0
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 GroupVolume 6
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 HeadphoneConnected 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 IsBonded 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 IsMaster 1
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 IsZoneBridge 0
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:39 LastActionResult PlayURITemp: Success!
    setstate Sonos_Wohnzimmer 2020-07-24 11:59:03 LastSubscriptionsRenew 2020-07-24 11:59:02
    setstate Sonos_Wohnzimmer 2019-06-28 10:55:01 Loudness 1
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 MasterPlayer Sonos_Wohnzimmer
    setstate Sonos_Wohnzimmer 2020-07-20 23:24:30 Mute 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:55:00 Orientation 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:55:01 OutputFixed 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:55:01 PlaylistsVersion RINCON_000E58F7F67C01400,20
    setstate Sonos_Wohnzimmer 2020-06-26 15:49:35 QueueHash 383e3927edca6f81e4846486db8c78e8
    setstate Sonos_Wohnzimmer 2020-06-26 15:49:35 QueueVersion 1
    setstate Sonos_Wohnzimmer 2020-07-23 16:59:12 Radios DirectlySet
    setstate Sonos_Wohnzimmer 2020-07-23 16:52:35 RadiosList 011.FM.-.Non.Stop.60s|1LIVE.diggi..Top.40.Pop.|DASDING.92.5..Euro-Hits.|Nota.Masria..Gemeinden.|PsyRadio.Chillout|Radio.Regenbogen|SWR4.Baden-Württemberg|SWR4.Rheinland-Pfalz
    setstate Sonos_Wohnzimmer 2020-07-23 16:52:35 RadiosListAlias 011.FM - Non Stop 60s|1LIVE diggi (Top 40/Pop)|DASDING 92.5 (Euro-Hits)|Nota Masria (Gemeinden)|PsyRadio Chillout|Radio Regenbogen|SWR4 Baden-Württemberg|SWR4 Rheinland-Pfalz
    setstate Sonos_Wohnzimmer 2020-07-23 18:15:16 RadiosVersion RINCON_000E58F7F67C01400,71
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 Repeat 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 RepeatOne 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 Shuffle 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 SlavePlayer []
    setstate Sonos_Wohnzimmer 2020-07-23 16:53:40 SlavePlayerList
    setstate Sonos_Wohnzimmer 2020-07-23 16:53:40 SlavePlayerListAlias
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 SlavePlayerNotBonded []
    setstate Sonos_Wohnzimmer 2020-07-23 16:53:40 SlavePlayerNotBondedList
    setstate Sonos_Wohnzimmer 2020-07-23 16:53:40 SlavePlayerNotBondedListAlias
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 SleepTimer off
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 SleepTimerVersion
    setstate Sonos_Wohnzimmer 2019-06-28 10:55:01 SubEnable 1
    setstate Sonos_Wohnzimmer 2019-06-28 10:55:01 SubGain 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:55:01 SubPolarity 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:55:01 Treble -5
    setstate Sonos_Wohnzimmer 2020-04-03 14:17:10 TruePlay 1
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 Volume 6
    setstate Sonos_Wohnzimmer 2019-09-22 19:40:34 WifiEnabled 0
    setstate Sonos_Wohnzimmer 2019-07-06 14:24:59 WirelessMode 0
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 ZoneGroupID RINCON_000E58F7F67C01400:__
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 ZoneGroupName Wohnzimmer
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 ZoneGroupNameDetails
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 ZonePlayerUUIDsInGroup RINCON_000E58F7F67C01400
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentAlbum
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentAlbumArtURL http://cdn-profiles.tunein.com/s20293/images/logog.png?t=1
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentAlbumArtist
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentArtist
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentEnqueuedTransportHandle x-sonosapi-stream:s20293?sid=254&flags=8224&sn=0|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><dc:title>SWR4 Baden-Württemberg</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON65031_</desc></item></DIDL-Lite>
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentEnqueuedTransportURI x-sonosapi-stream:s20293?sid=254&flags=8224&sn=0
    setstate Sonos_Wohnzimmer 2020-07-24 10:55:03 currentFavouriteName
    setstate Sonos_Wohnzimmer 2020-07-24 10:55:03 currentFavouriteNameMasked
    setstate Sonos_Wohnzimmer 2020-07-24 12:00:04 currentNormalAudio 0
    setstate Sonos_Wohnzimmer 2020-06-26 16:02:11 currentOriginalTrackNumber
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 currentPlaylistName
    setstate Sonos_Wohnzimmer 2020-07-23 16:53:40 currentPlaylistNameMasked
    setstate Sonos_Wohnzimmer 2020-07-23 16:55:51 currentRadioName
    setstate Sonos_Wohnzimmer 2020-07-23 16:55:51 currentRadioNameMasked
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentSender SWR4 Baden-Württemberg
    setstate Sonos_Wohnzimmer 2020-07-24 12:00:15 currentSenderCurrent Aktuell um zwölf
    setstate Sonos_Wohnzimmer 2020-07-24 12:06:55 currentSenderInfo SWR4 Baden-Württemberg. Da sind wir daheim.
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentSource SWR4 Baden-Württemberg
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentStreamAudio 1
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentTitle
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:51 currentTrack 2
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentTrackDuration 0:00:00
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 currentTrackDurationSec 0
    setstate Sonos_Wohnzimmer 2020-07-24 12:06:55 currentTrackHandle http://http://swr-edge-202b-fra-lg-cdn.cast.addradio.de/swr/swr4/bw/mp3/128/stream.mp3?ar-distributor=f0a1&amp;;_art=dj0yJmlwPTg3LjE3Mi4xNTEuMTkwJmlkPWljc2N4bC16Y3RlMzJsbGImdD0xNTk1NjcxMDYyJnM9Nzg2NmYyOWMjY2M5YThkNzJmM2EzMGU1NWJjYjcwY2ZiNjIzZTMzN2Y|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:*:*">x-sonosapi-stream:s20293?sid=254&amp;;flags=8224&amp;;sn=0</res><r:streamContent>SWR4 Baden-Württemberg. Da sind wir daheim.</r:streamContent><r:radioShowMd>Aktuell um zwölf,p237659</r:radioShowMd><upnp:albumArtURI>/getaa?s=1&amp;;u=x-sonosapi-stream%3as20293%3fsid%3d254%26flags%3d8224%26sn%3d0</upnp:albumArtURI><dc:title>x-sonosapi-stream:s20293?sid=254&amp;;flags=8224&amp;;sn=0</dc:title><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    setstate Sonos_Wohnzimmer 2020-07-24 11:59:03 currentTrackPosition 0:00:00
    setstate Sonos_Wohnzimmer 2020-07-24 11:59:03 currentTrackPositionSec 0
    setstate Sonos_Wohnzimmer 2020-07-24 12:07:12 currentTrackPositionSimulated 0:08:10
    setstate Sonos_Wohnzimmer 2020-07-24 11:03:35 currentTrackPositionSimulatedPercent 0.0
    setstate Sonos_Wohnzimmer 2020-07-24 12:07:12 currentTrackPositionSimulatedSec 490
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:51 currentTrackProvider Radio
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:51 currentTrackProviderIconQuadraticURL /fhem/sonos/cover/tunein_quadratic.jpg
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:51 currentTrackProviderIconRoundURL /fhem/sonos/cover/tunein_round.png
    setstate Sonos_Wohnzimmer 2020-07-24 11:59:03 currentTrackURI http://http://swr-edge-202b-fra-lg-cdn.cast.addradio.de/swr/swr4/bw/mp3/128/stream.mp3?ar-distributor=f0a1&amp;;_art=dj0yJmlwPTg3LjE3Mi4xNTEuMTkwJmlkPWljc2N4bC16Y3RlMzJsbGImdD0xNTk1NjcxMDYyJnM9Nzg2NmYyOWMjY2M5YThkNzJmM2EzMGU1NWJjYjcwY2ZiNjIzZTMzN2Y
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 fieldType
    setstate Sonos_Wohnzimmer 2020-07-24 12:06:55 infoSummarize1 SWR4 Baden-Württemberg: 'Aktuell um zwölf' - SWR4 Baden-Württemberg. Da sind wir daheim.
    setstate Sonos_Wohnzimmer 2020-07-24 12:06:55 infoSummarize2 PLAYING => SWR4 Baden-Württemberg: 'Aktuell um zwölf' - SWR4 Baden-Württemberg. Da sind wir daheim.
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 infoSummarize3 Lautstärke: 6 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 infoSummarize4
    setstate Sonos_Wohnzimmer 2020-06-23 16:06:40 location http://192.168.188.23:1400/xml/device_description.xml
    setstate Sonos_Wohnzimmer 2020-06-23 17:39:34 nextAlbum
    setstate Sonos_Wohnzimmer 2020-07-19 11:32:35 nextAlbumArtURL /fhem/sonos/cover/empty.jpg
    setstate Sonos_Wohnzimmer 2020-06-22 19:18:49 nextAlbumArtist
    setstate Sonos_Wohnzimmer 2020-06-23 17:39:34 nextArtist
    setstate Sonos_Wohnzimmer 2020-06-22 19:18:49 nextOriginalTrackNumber
    setstate Sonos_Wohnzimmer 2020-06-23 17:39:34 nextTitle
    setstate Sonos_Wohnzimmer 2020-07-04 18:15:08 nextTrackDuration
    setstate Sonos_Wohnzimmer 2020-07-04 18:15:08 nextTrackDurationSec
    setstate Sonos_Wohnzimmer 2020-07-19 11:32:35 nextTrackHandle |
    setstate Sonos_Wohnzimmer 2020-06-23 16:07:01 nextTrackProvider
    setstate Sonos_Wohnzimmer 2020-06-23 16:07:01 nextTrackProviderIconQuadraticURL
    setstate Sonos_Wohnzimmer 2020-06-23 16:07:01 nextTrackProviderIconRoundURL
    setstate Sonos_Wohnzimmer 2020-07-04 18:15:08 nextTrackURI
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 numberOfTracks 2
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 playerType S3
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:04 presence appeared
    setstate Sonos_Wohnzimmer 2019-06-28 10:55:00 roomIcon living
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 roomName Wohnzimmer
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 roomNameAlias Wohnzimmer
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 saveRoomName Wohnzimmer
    setstate Sonos_Wohnzimmer 2019-06-28 10:54:36 serialNum 00-0E-58-F7-F6-7C:8
    setstate Sonos_Wohnzimmer 2020-06-14 23:29:31 softwareRevision 11.2
    setstate Sonos_Wohnzimmer 2020-07-22 10:58:59 softwareRevisionAvailable 11.2
    setstate Sonos_Wohnzimmer 2020-06-14 23:29:31 softwareRevisionInternal 57.3-77280
    setstate Sonos_Wohnzimmer 2020-07-22 10:58:59 softwareRevisionInternalAvailable 57.3-77280
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 state PLAYING
    setstate Sonos_Wohnzimmer 2020-07-24 11:57:43 transportState PLAYING
    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Juli 2020, 12:13:16
    Hi TomLee,

    wie ich fragte: Du hast "Radios" zu einem UserReading gemacht. Das war früher mal eine Möglichkeit, bevor ich das Attribut "getListsDirectlyToReadings" eingeführt habe...
    Mit dem Attribut ist das natürlich überflüssig geworden und kann raus.

    So wie ich das Attribut "userReadings" sehe, kannst du es einfach komplett löschen...

    Grüße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: TomLee am 24 Juli 2020, 12:29:33
    Ok, Danke.

    Nachdem ich jetzt einen Sender hinzugefügt hab, hat sich das Radios Reading direkt aktualisiert und der Hash steht drin.

    Also mit der Logausgabe auch im Log, die Meldung weg.




    Es bleibt aber immer noch die Frage aus #3458.
    Die Readings RadiosList und RadiosListAlias aktualisieren sich bisher nicht.

    setstate Sonos_Wohnzimmer 2020-07-24 12:21:30 Radios {'R:0/0/3' => {'Ressource' => 'x-sonosapi-stream:s272334?sid=254&flags=8224&sn=0','Title' => 'Radio Regenbogen','Cover' => 'http://cdn-radiotime-logos.tunein.com/s272334g.png'},'R:0/0/25' => {'Ressource' => 'x-sonosapi-stream:s97066?sid=254&flags=8224&sn=0','Title' => 'PsyRadio Chillout','Cover' => 'http://cdn-radiotime-logos.tunein.com/s97066g.png'},'R:0/0/27' => {'Ressource' => 'x-sonosapi-stream:s296020?sid=254&flags=8224&sn=0','Title' => '011.FM - Non Stop 60s','Cover' => 'http://cdn-radiotime-logos.tunein.com/s296020g.png'},'R:0/0/1' => {'Ressource' => 'x-sonosapi-stream:s1563?sid=254&flags=8224&sn=0','Title' => 'SWR4 Rheinland-Pfalz','Cover' => 'http://cdn-profiles.tunein.com/s1563/images/logog.png?t=153242'},'R:0/0/23' => {'Ressource' => 'x-sonosapi-stream:s290159?sid=254&flags=8224&sn=0','Title' => 'Nota Masria (Gemeinden)','Cover' => 'http://cdn-profiles.tunein.com/s290159/images/logog.png?t=158880'},'R:0/0/5' => {'Ressource' => 'x-sonosapi-stream:s20293?sid=254&flags=8224&sn=0','Title' => 'SWR4 Baden-Württemberg','Cover' => 'http://cdn-profiles.tunein.com/s20293/images/logog.png?t=1'},'R:0/0/35' => {'Ressource' => 'x-sonosapi-stream:s45087?sid=254&flags=8224&sn=0','Title' => '1LIVE diggi (Top 40/Pop)','Cover' => 'http://cdn-profiles.tunein.com/s45087/images/logog.png'},'R:0/0/36' => {'Ressource' => 'x-sonosapi-stream:s8007?sid=254&flags=8224&sn=0','Title' => 'Hitradio Ö3 99.9 (Österreichisch)','Cover' => 'http://cdn-radiotime-logos.tunein.com/s8007g.png'},'R:0/0/33' => {'Ressource' => 'x-sonosapi-stream:s76488?sid=254&flags=8224&sn=0','Title' => 'DASDING 92.5 (Euro-Hits)','Cover' => 'http://cdn-profiles.tunein.com/s20295/images/logog.png'}}
    setstate Sonos_Wohnzimmer 2020-07-23 16:52:35 RadiosList 011.FM.-.Non.Stop.60s|1LIVE.diggi..Top.40.Pop.|DASDING.92.5..Euro-Hits.|Nota.Masria..Gemeinden.|PsyRadio.Chillout|Radio.Regenbogen|SWR4.Baden-Württemberg|SWR4.Rheinland-Pfalz
    setstate Sonos_Wohnzimmer 2020-07-23 16:52:35 RadiosListAlias 011.FM - Non Stop 60s|1LIVE diggi (Top 40/Pop)|DASDING 92.5 (Euro-Hits)|Nota Masria (Gemeinden)|PsyRadio Chillout|Radio Regenbogen|SWR4 Baden-Württemberg|SWR4 Rheinland-Pfalz

    Titel: Antw:Sonos steuern
    Beitrag von: Reinerlein am 24 Juli 2020, 13:19:44
    Hi TomLee,

    ich habe mir das gerade im Code angesehen... das ist gar nicht fertig eingebaut  ???

    Ich mache mal, und dann ist es in der nächsten Version drin...

    Güße
    Reinerlein
    Titel: Antw:Sonos steuern
    Beitrag von: hoppel118 am 11 Oktober 2020, 14:34:50
    Hallo @Reinerlein hallo in die Runde,

    seit einiger Zeit werden mir die Cover in FHEM nicht mehr angezeigt, siehe Screenshot. In der Sonos App funktionieren sie weiterhin.

    Im Logfile finde ich folgendes:

    2020.10.11 00:08:35 1: SONOS1: Couldn't load data from URL(https://sonos.calm.com/static/pm.xml) 1: 500 Can't connect to sonos.calm.com:443
    2020.10.11 00:08:40 1: SONOS1: Couldn't load data from URL(https://api.classicalarchives.com/smapi/presentationmap.xml) 1: 500 Can't connect to api.classicalarchives.com:443 (SSL connect attempt failed error:14094410:SSL routines:ssl3_read_bytes:sslv3 alert handshake failure)


    Ob das in Zusammenhang steht, weiß ich nicht.

    Von 6 Playern zeigt mir lediglich ein Device noch ein Cover an.

    Hat das Problem hier noch jemand?

    Danke und viele Grüße Hoppel
    Titel: Antw:Sonos steuern
    Beitrag von: Mitch am 14 Oktober 2020, 12:15:26
    Hallo Zusammen,

    bei mir geht seit einiger (kann gar nicht sagen wie lange) die Sprachausgabe und das Abspielen von MP3s nicht mehr.

    Mache ich z.B. ein set Sonos_Player PlayURITemp \\192.168.0.202\SonosSpeak\klingel.mp3 10

    steht im Player:
    PlayURITemp: Error! UPnP-Fault-Fields: Code: "s:Client", String: "UPnPError", Actor: "-", Detail: "{UPnPError => {errorCode => 701}}"

    Das gleiche bei Speak, wobei die RINCON Datei richtig angelegt wird.

    Samba läuft, das Verzeichnis ist erreichbar.

    EDIT: habe es gefunden, war das SMB3 "Problem" mit Sonos S1.
    Lösung war in der Samba CFG folgendes rein zu nehmen:
       client min protocol =NT1
       server min protocol = NT1
    Titel: Antw:Sonos steuern
    Beitrag von: Cobra am 29 Oktober 2020, 18:17:39
    Hey zusammen,

    mein Log füllt sich derzeit verhäuft mit folgenden Meldungen:
    2020.10.29 18:04:47 1: SONOS0: Error during retreiving of FavouriteName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1375.

    2020.10.29 18:04:47 1: SONOS0: Error during retreiving of PlaylistName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1394.

    2020.10.29 18:04:47 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1413.

    2020.10.29 18:04:47 1: SONOS0: Error during retreiving of FavouriteName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1375.

    2020.10.29 18:04:47 1: SONOS0: Error during retreiving of FavouriteName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1375.

    2020.10.29 18:04:47 1: SONOS0: Error during retreiving of PlaylistName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1394.

    2020.10.29 18:04:47 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1413.


    Wenn ich dann (wie an anderen Stellen im Forum vorgeschlagen) ein "get TYPE=SONOSPLAYER FavouritesWithCovers", etc mache dann finde steht folgendes im LOG:


    2020.10.29 18:07:47 3: Sonos_BadRG_Favourites: <{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_BadRG_Playlists: <{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_BadRG_Queue: <{SONOS_getListRG($DEVICE,"Queue")}@Queue>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_BadRG_Radios: <{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_BueroRG_Favourites: <{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_BueroRG_Playlists: <{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_BueroRG_Queue: <{SONOS_getListRG($DEVICE,"Queue")}@Queue>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_BueroRG_Radios: <{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_KuecheRG_Favourites: <{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_KuecheRG_Playlists: <{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_KuecheRG_Queue: <{SONOS_getListRG($DEVICE,"Queue")}@Queue>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_KuecheRG_Radios: <{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_SchlafzimmerRG_Favourites: <{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_SchlafzimmerRG_Playlists: <{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_SchlafzimmerRG_Queue: <{SONOS_getListRG($DEVICE,"Queue")}@Queue>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_SchlafzimmerRG_Radios: <{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_WohnzimmerRG_Favourites: <{SONOS_getListRG($DEVICE,"Favourites",1)}@Favourites>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_WohnzimmerRG_Playlists: <{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_WohnzimmerRG_Queue: <{SONOS_getListRG($DEVICE,"Queue")}@Queue>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2020.10.29 18:07:47 3: Sonos_WohnzimmerRG_Radios: <{SONOS_getListRG($DEVICE,"Radios",1)}@Radios>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.


    Was könnet dafür die Ursache sein bzw. wie bekomme ich das weg ohne dass ich auf Verbose 0 stellen muss?

    Gruß Cobra
    Titel: Antw:Sonos steuern
    Beitrag von: gloob am 19 Januar 2021, 16:02:17
    Gibt es eigentlich eine Möglichkeit ein bestimmtes Album nur über den Albumnamen abzuspielen? Ich möchte ungern reihenweise Favoriten anlegen.
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 24 Januar 2021, 12:12:20
    Hallo Reiner,

    heute wollte ich das Attribut "ignoredIPs" etwas aufräumen und habe folgende Eintragung vorgenommen:


    /10.0.0.([1-9]$|[1-2][0-9]$|2[0-9][0-9])/


    Damit möchte ich erreichen, dass alle IPs von 10.0.01 bis 10.0.0.29 sowie von 10.0.0.200 bis 10.0.0.254 ausgenommen werden, und der o.a. Ausdruck im vierten Oktett stellt m.E. einen validen Ausdruck dar.

    Das verkraftet das Sonos-Modul nicht:


    2021.01.24 11:41:43.671 1: SONOS0: ReadFn-Aufruf durch FHEM, aber keine Daten bekommen...
    2021.01.24 11:41:43.674 1: 127.0.0.1:4711 reappeared (Sonos)
    2021.01.24 11:41:44.202 1: 127.0.0.1:4711 disconnected, waiting to reappear (Sonos)
    2021.01.24 11:41:44.204 1: SONOS0: ReadFn-Aufruf durch FHEM, aber keine Daten bekommen...
    2021.01.24 11:41:44.207 1: 127.0.0.1:4711 reappeared (Sonos)
    2021.01.24 11:41:44.706 1: 127.0.0.1:4711 disconnected, waiting to reappear (Sonos)
    2021.01.24 11:41:44.708 1: SONOS0: ReadFn-Aufruf durch FHEM, aber keine Daten bekommen...
    2021.01.24 11:41:44.710 1: 127.0.0.1:4711 reappeared (Sonos)
    2021.01.24 11:41:45.239 1: 127.0.0.1:4711 disconnected, waiting to reappear (Sonos)
    2021.01.24 11:41:45.241 1: SONOS0: ReadFn-Aufruf durch FHEM, aber keine Daten bekommen...
    2021.01.24 11:41:45.244 1: 127.0.0.1:4711 reappeared (Sonos)
    2021.01.24 11:41:45.745 1: 127.0.0.1:4711 disconnected, waiting to reappear (Sonos)
    ...


    2021.01.24 11:41:54.191 1: readingsUpdate(Sonos_Kind,currentTrackURI,x-sonos-spotify:spotify%3atrack%3a0E4Y1*********1YqVy6dq?sid=9&flags=8224&sn=5) missed to call readingsBeginUpdate first.
    2021.01.24 11:41:54.191 1: stacktrace:
    2021.01.24 11:41:54.191 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (9590)
    2021.01.24 11:41:54.191 1:     main::SONOS_readingsBulkUpdateIfChanged called by ./FHEM/00_SONOS.pm (1269)
    2021.01.24 11:41:54.191 1:     main::SONOS_Read                    called by fhem.pl (3818)
    2021.01.24 11:41:54.191 1:     main::CallFn                        called by fhem.pl (759)
    2021.01.24 11:41:54.192 1: readingsUpdate(Sonos_Kind,currentTrackPosition,0:02:12) missed to call readingsBeginUpdate first.
    2021.01.24 11:41:54.192 1: stacktrace:
    2021.01.24 11:41:54.192 1:     main::readingsBulkUpdate            called by ./FHEM/00_SONOS.pm (1256)
    2021.01.24 11:41:54.192 1:     main::SONOS_Read                    called by fhem.pl (3818)
    2021.01.24 11:41:54.192 1:     main::CallFn                        called by fhem.pl (759)
    2021.01.24 11:41:54.192 1: readingsUpdate(Sonos_Kind,currentTrackPositionSec,132) missed to call readingsBeginUpdate first.
    ...


    Wo liegt der Fehler?
    Titel: Antw:Sonos steuern
    Beitrag von: Pete37 am 22 März 2021, 21:58:49
    Hallo allwissendes Forum,
    Hallo Reinerlein,

    vielen Dank für Dein tolles SONOS-Modul!!

    Mir ist nur die Verwendung der Groups beim noch nicht ganz klar. Ich habe zwei Räume, mit jeweils einer Stereo-Gruppe. Diese möchte ich ab und zu koppeln und später wieder von einander lösen. Dabei sollen die Stereo-Gruppen aber auf jeden Fall erhalten bleiben.

    Getrennt sehen die Gruppen so aus:
    [Ku_Sonos, Ku_Sonos_RF], [Wz_Sonos, Wz_Sonos_RF, Wz_Sonos_SW]

    Ich verstehe die Syntax mit der ich die Gruppen zusammenfügen kann. Z.B. mit der Küche als Master:
    [Ku_Sonos, Ku_Sonos_RF, Wz_Sonos, Wz_Sonos_RF, Wz_Sonos_SW]
    oder dem Wohnzimmer als Master:
    [Wz_Sonos, Ku_Sonos, Ku_Sonos_RF, Wz_Sonos_RF, Wz_Sonos_SW]

    Meine Frage: Woran erkennt das SONOS Modul beim Setzen und Ändern der Gruppen, dass da einige von zusammengehören? Ich habe die Stereo-Paare auf die Räume eingemessen und möchte die Einstellungen nicht verlieren. Daher frage ich lieber hier, bevor ich es einfach ausprobiere...

    Vielen Dan,
    Pete37
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 22 März 2021, 22:14:22
    Hi Pete37,

    Ich versteh Dein Problem noch nicht. Was meinst Du mit Stereogruppe? Ein Stereopaar mit Sonos App gebildet?
    Das sieht Sonos doch als genau das: ein Stereopaar. Bestehend aus Name-Links und Name-Rechts aber verwendet unter Name

    Das kann ich aber unter Name gruppieren und wieder trennen.
    Sonos_Bad ist ein Einzelplayer , Sonos_Test ist ein Stereopaar - alle drei Player sind Sonos One
    set Sonos Groups [Sonos_Bad, Sonos_Test]
    set Sonos_Bad RemoveMember Sonos_Test


    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Pete37 am 22 März 2021, 23:00:22
    Hallo Otto,

    ich glaube, du beschreibst genau das Verhalten, was ich mir wünsche. Mich hat irritiert, dass ich wenn ich "get Groups" anwende, eine Gruppenlandschaft bekomme, die alle Player enthält. Also auch die Slaves.

    Kannich also die Gruppen bilden und lösen in dem ich nur die jeweiligen Gruppen-Master anspreche?

    Gruß,
    Pete37
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 22 März 2021, 23:17:42
    Ich meine, Du kannst es so machen, wie ich es beschrieben habe. Es passiert nichts :) Ich habe es einfach probiert, Du siehst der Name - bei mir ist noch nichts eingemessen.
    Wenn ich get groups mache bekomme ich (habe ich mir noch nie angeschaut)
    [Sonos_Arbeitszimmer], [Sonos_Bad], [Sonos_BadWanne], [Sonos_Buero], [Sonos_Kueche], [Sonos_Test, Sonos_Test_RF], [Sonos_Wohnzimmer]
    Ja da zeigt sich die Eigenheit von Stereopaaren gegenüber 5.1  Gruppen (Sonos_Wohnzimmer) diese habe ich selbst mit meiner Entwicklung zu sonos2mqtt auch schon bemerkt.
    Man muss den rechten Player (_RF) eventuell einfach ignorieren.  ;)

    Meine Erfahrung: Gruppen bilden einfach loslegen... Den Master selber festlegen.
    Beim Trennen den MasterPlayer abfragen und RemoveMember machen.
    Titel: Antw:Sonos steuern
    Beitrag von: Pete37 am 22 März 2021, 23:40:30
    Danke Otto!

    Da wäre ich tatsächlich nicht drauf gekommen, obwohl es die naheliegendere Variante ist. Im CommandRef steht "Das Format ist jenes, welches auch von dem Get-Befehl 'Groups' geliefert wird." Und da hatte ich dann halt mal bei Get geschaut, was da so kommt...

    Plausibel wird es, wenn ich jetzt einen Player (oder eine Stereo-Paar) wieder abtrennen will: Dann schlägt er bei dem Befehl "RemoveMember" - wie ich jetzt sehe - nur den anderen Master vor. Alle anderen verschweig er sinniger weise.

    Ebenso schlägt er bei "AddMenber" jeweils nur den anderen Master vor. Bei Dir würden dann die anderen sechs Master dort im Drop-Down auftauchen, vermute ich?

    Also Danke für Deine Hilfe, jetzt kann ich wieder weiter machen!
    Pete37
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 23 März 2021, 09:28:56
    Moin,

    so ist es: der _RF Player taucht nicht auf.
    Ich habe das noch nie interaktiv gemacht ;) ich verwende das nur programmtechnisch.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: jemu75 am 23 März 2021, 09:55:44
    Hallo,

    in meinem FHEM-Log taucht regelmäßig der folgende Fehler auf.

    Zitat
    Loading device description failed with error: 400 URL must be absolute (Location: 192.168.2.104:54246) at ./FHEM/00_SONOS.pm line 2478 thread 1.
    400-URL-Absolute-Error! Location: "192.168.2.104:54246", Content: "400 URL must be absolute
    " at ./FHEM/00_SONOS.pm line 2478 thread 1.

    Bei der IP handelt es sich um einen PC in meinem Heimnetz. Wie kann ich das abstellen?

    Besten Dank schon mal für eure Tipps. :)

    Update ich habe über das Attribut usedonlyIPs  mal die Adressen meiner SONOS Geräte eingetragen und beobachte das weiter.
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 25 März 2021, 13:26:11
    Hallo,

    baue gerade mein Netzwerk um und habe einen dnsmasq - Server aufgesetzt. Der funktioniert auch und die Klienten bekommen ihre IPV4 - Adressen per DHCP von ihm zugewiesen. Damit auch die Info, DNS über den Server aufzulösen.
    Nur mit den Sonos - Playern funktioniert das nicht.
    Musik kann ich über fhem auf ihnen aus dem NAS starten, aber  Internetradio geht nicht mehr.
    Im log steht: UPnP Error 402
    Auch mit der Sonos - App passiert das gleiche.
    Hat jemand schon mal dnsmasq zusammen mit Sonos - Playern genutzt?

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 25 März 2021, 17:32:57
    Zitat von: Elektrolurch am 25 März 2021, 13:26:11
    Hat jemand schon mal dnsmasq zusammen mit Sonos - Playern genutzt?
    Ich sage mal so: Mein OpenWrt Router benutzt dnsmasq und der verwaltet bei mir die Netzwerkkonfiguration.  Läuft
    402 steht für invalid args ....
    Was hast Du denn eingetragen als DNS Server? Ihn selbst? Und er weiß wo es weiter geht? d.h. er hat einen gültigen DNS im Internet eingetragen?
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 25 März 2021, 17:44:26
    Ich nutze Pi-hole, darin ist auch ein dnsmasq. Läuft bei mir ebenfalls mit dem DHCP-Server von Pi-hole.

    Den DHCP habe ich auch mit weiteren Optionen für die Clients gefüttert, bspw. mit Vorgabe des NTP-Servers:


    root@vPi-hole:cat /etc/dnsmasq.d/03-pihole-dhcp-DNS.conf
    #PiHole DNS server IP's
    # DNS-Servers
    dhcp-option=6,10.0.0.201,10.0.0.2
    # NTP-Servers
    dhcp-option=42,10.0.0.1


    Ich tippe daher auf falsche Konfiguration der DHCP-Options. Welche hast du wie gesetzt?
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 25 März 2021, 18:34:26
    Hallo,

    ok. Die dns-Option
    dhcp-option=6,10.0.0.201,10.0.0.2
    fehlte tatsächlich, da ich dachte, dnsmasq qürde das automatisch setzen und ei den anderen Geräten  war ein Eintrag in der resolv.conf für einen DNS-Server vorhanden...
    Aber leider hat das für die Sonos-Geräte trotzdem nichts gebracht.
    Alles funktioniert, bis auf das Abspielen von streams aus dem Internet.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 25 März 2021, 19:54:58
    ZitatUnd er weiß wo es weiter geht? d.h. er hat einen gültigen DNS im Internet eingetragen?
    Oder Zieht sich der dnsmasq Rechner an den eigenen Haaren aus dem Sumpf?
    Und hier "dhcp-option=6,10.0.0.201,10.0.0.2" muss etwas sinnvolles drinstehen und nicht das Gleiche wie bei Ralli  ::)
    Auf dem rechner mit dnsmasq
    Was zeigt route an?
    Was zeigt cat /etc/resolv.conf ?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 26 März 2021, 12:09:16
    Hallo Otto und Liste,

    zunächst einmal die Daten:

    route:

    Kernel-IP-Routentabelle
    Ziel            Router          Genmask         Flags Metric Ref    Use Iface
    default         fritz.box       0.0.0.0         UG    0      0        0 enp2s0
    192.168.1.0     0.0.0.0         255.255.255.0   U     0      0        0 enp2s0

    resolv.conf verweist auf sich selbst, da ja dnsmasq hier läuft.
    ipv6 kommt später.

    nameserver 127.0.0.1
    domain huette.home
    search huette.home
    nameserver 2001:4860:4860::8844

    dnsmasq ist für dhc wie folgt konfiguriert:

    # Gateway
    dhcp-option=3,192.168.1.254
    # DNS-Servers
    dhcp-option=6,192.168.1.16,9.9.9.9
    # domain name
    dhcp-option=15,huette.home
    # search domain
    dhcp-option=119,huette.home
    # NTP-Server
    dhcp-option=42,192.168.1.254

    3 und 6 würde dnsmasq auch automatisch aus den Netzwerkeinstellungen übernehmen (laut man-pages)

    Ich habe insgesamt 5 Sonos - Player, die folgendes Verhalten zeigen (nach dem Einschalten des Stromes): !!!
    4 Player spielen kein Internetradio mehr ab. upn errorcode 402
    1 Player (Hobbyraum) spielt Internetradio ganz normal ab.
    Ich habe alle Player einzeln nach einander eingeschaltet.
    Auffallend ist folgendes:
    a) Es dauert deutlich länger, bis sie in fhem als "appeared" angezeigt werden und sich dann auch bedienen lassen (attr Sonos ping-type TCP).
    b) Die Sonos - S1 App zeigt die Player an, aber es kommt die Meldung: "Verbindung zu Sonos nicht möglich"
    Dies zeigt die App auch für den Player "Hobbyraum" an, obwohl dieser ja gerade aktuell einen Stream aus dem Internet abspielt.
    c) Ein Player (Arbeitszimmer) spielt zwar (über fhem und App auch keinen Stream aus dem Internet ab, aber hier zeigt die App eine "Verbindung zu Sonos" an, d.h. ich bekomme die Liste von Internetradios angezeigt. Versuche ich über die App einen Internet-Sender zu starten, kommt die Fehlermeldung auf der App: Sender kann nicht abgespielt werden.

    Alle Player können lokal gespeicherte Musik abspielen und lassen sich auch gruppieren.
    Alles hatte funktioniert, bis ich auf der fritz.box das dhcp und dns ausgeschaltet habe und den dnsmasq dafür einsetzen wolte.
    Alle anderen Geräte im Netz funktionieren völlig normal. Z.B. zeigt das iPhone auch die korrekten Daten, die es per dhcp bekommt an. Hier bleibt lediglich die Angabe für "Suchdomäne" leer,, obwohl die dhcp-option 119 gesetzt ist.
    Kann es sein, dass die Sonos-Player irgendwelche Netzinfos cachen?
    Der Sonos-Player "Hobbyraum", der Internet-Radio abspielt, wird seitens der App als "Fehler -  update verfügbar" angezeigt.
    Das Update kann aber nicht herunter geladen werden.
    So eine harte Nuss hatte ich schon lange nicht mehr zu knacken... :-(
    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 26 März 2021, 13:12:26
    Ok weitere Fragen:
    default         fritz.box       0.0.0.0         UG    0      0        0 enp2s0
    Das kann der dnsmasq wirklich auflösen?

    # Gateway
    dhcp-option=3,192.168.1.254

    Wo führt das hin? Gibt es denn von dort eine Route ins Internet?
    192.168.1.16
    Wer ist er? Dein dnsmasq?
    Alle anderen Geräte im Netz funktionieren völlig normal. Z.B. zeigt das iPhone auch
    Da würde ich nichts drauf geben, Mobiltelefone verwenden im Zweifelsfall immer ihr Funknetz!

    Alles in allem klingt es danach, das Deine Namensauflösung nicht wirklich funktioniert, bzw. der Weg ins Internet nicht frei ist.

    haben die einzelnen Räume unterschiedliche Subnetze?
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 26 März 2021, 15:17:19
    host fritz.box

    fritz.box has address 192.168.1.254
    fritz.box has IPv6 address 2001:16b8:2686:d800:2665:11ff:fe58:96f4
    fritz.box has IPv6 address fd00::2665:11ff:fe58:96f4

    Kann dnsmasq also auflösen, "fritz.box" steht in der /etc/hosts drin.

    vom 192.168.1.16 ins internet:

    nslookup heise.de
    Server: 127.0.0.1
    Address: 127.0.0.1#53

    Non-authoritative answer:
    Name: heise.de
    Address: 193.99.144.80
    Name: heise.de
    Address: 2a02:2e0:3fe:1001:302::

    Von einem PC im Netzwerk aus, dessen Karte auf dhcp steht und der dns auf den dnsmasq zeigt:

    ping Kellergeist

    wird aufgelöst und die lokale Domäne hinzugefügt.
    Auch ein "nslookup heise.de" zeigt, dass der dnsmasq verwendet wird und aufgelöst wird.
    Nein, habe keine Subnetze.
    Mit dem PC kann ich ganz normal im Internet surfen....
    dns und gateway funktionieren da wohl.

    Ergänzung vom 28.3.2021:
    Ich habe mir mal ein dhcp und dns - logfile von dnsmasq generieren lassen und mir einmal die Sequenz beim Einschalten eines players, der weiterhin streaming aus dem Internet macht, mit dem, der das nicht tut, verglichen.
    a) Für beide Player ist die Sequenz für dhcp identisch und die Zuweisungen scheinen auch korrekt zu funktionieren.
    b) Beide player machen so eine Art Startsequenz und kontaktieren diverse Server von Sonos, z.B. auch ist eine dns-Abfrage auf einen Zeitserver von Sonos im log.
    c) Die player, die danach kein Internetradio mehr abspielen, scheinen in so eine Art Fehlerzustand zu gehen, denn in der Sonos S1 App werden sie als "fhelerhaft" gekennzeichnet und die App versucht ein Software-Update für den player einzuspielen, was dann aber auch schief geht.
    Der Versuch, einen Favuoriten oder eine uri vom fhem aus, oder auch über die App zu starten, löst beim player nichts mehr aus, d.h. es ist keine dns-Abfrage dafür im log.
    d) Bei dem zwei funktionierenen playern sieht man die dns-Abfragen für die abzuspielenden Internet-Streams im log.
    e) Fahre ich den dnsmasq - Service herunter und aktiviere auf der fritzbox wieder das dhcp, funktioniert wieder alles normal. Auch wird in der App nicht mehr angezeigt, dass ein Update durchgeführt werden müsste.

    Alle player sind gleich über Kabel ans LAN angebunden.
    Die beiden player, die immer funktionieren, sind übrigens die Ältesten, die ich habe. Vielleicht gibt es ein Problem mit IPV6?
    Als dns-server verwende ich den 9.9.9.9. Für IP6 habe ich nichts explizit angegeben. Auch ist in dnsmasq hierfür noch keine Konfiguration eingetragen worden.

    So langsam gehen mir die Ideen aus.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: ottowalkes am 02 April 2021, 14:16:36
    Hallo zusammen,
    seit ~3Wochen werden mir vom Sonossystem (3 Play1, ein IKEA als Master) beim Abspielen von Radiosendern keine Artist-und Titelinformationen mehr übergeben.
    Im infoSummarize1 steht lediglich  \ [Keine Musikdatei]\
    Beim Abspielen von Spotify und aus der Musiksammlung ist alles korrekt angezeigt.
    mein  attr generateInfoSummarize1 lautet     
    <NormalAudio><Artist prefix="(" suffix=")"/>\ <Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/>\ <Album prefix=" vom Album '" suffix="'"/></NormalAudio> \ <StreamAudio><Sender suffix=":"/>\ <Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/>\ <SenderCurrent prefix=" '" suffix="' -"/>\ <SenderInfo prefix=" "/></StreamAudio>
    Seht ihr da einen Fehler? Hat locker ein halbes Jahr lang ohne Probleme funktioniert.

    euch allen frohe Ostern und bleibt gesund

    walter
    Titel: Antw:Sonos steuern
    Beitrag von: Laffer72 am 09 April 2021, 23:57:34
    Hallo Walter,

    geht mir genauso. Bei mir werden die Readings currentSender,currentRadioName und currentSendercurrent nicht befüllt.
    Der Name des Radiosenders steht in currentSource.
    Ich denke, daß es vielleicht damit zusammenhängen könnte. Leider hab ich aber auch keinen Lösungsvorschlag.

    Aber vielleicht hilft die Info ja weiter.

    Gute Nacht

    Reinhard

    Titel: Antw:Sonos steuern
    Beitrag von: Pete37 am 10 April 2021, 14:52:17
    Hallo Forum,

    ich entdecke immer mehr Funktionen des SONOS-Moduls. Jetzt habe ich mich an die LoadSearchlist-Funktion gewagt und bin direkt mal gescheitert. Ich hätte gerne die Möglichkeit, dass Fhem mir auf Knopfdruck ein (zufällig gewähltes) Album aus der Sammlung zieht und das (komplett) auflegt. Das ist mir leider mit dem Wiki nicht gelungen zu realisieren.

    Bei den Tracks geht es, dass ich mir per Zufall einen raussuchen lasse (dauert allerdings sehr lagen):
    Code: set Sonos_Wz LoadSearchlist Tracks . / *1-

    Genau das hätte ich gerne für ganze Alben. Habe ich die nötige Syntax dafür nur noch nicht gefunden, oder ist geht das gar nicht?

    Oder gibt es andersrum die Möglichkeit, die Liste aller Alben abzufragen? Das könnte ich Fhem ja einmal pro Nacht machen lassen und dann könnte ich eine eigene Funktion schreiben, die mir aus der Liste eine Zufallswahl trifft.

    Danke für die Hilfe,
    Pete37
    Titel: Antw:Sonos steuern
    Beitrag von: hydrotec am 17 April 2021, 13:34:30
    Hallo zusammen,

    wurde in Bezug auf
    Zitat von: ottowalkes am 02 April 2021, 14:16:36
    ... beim Abspielen von Radiosendern keine Artist-und Titelinformationen mehr übergeben ...
    schon eine Problemumgehung gefunden?

    Gruß, Karsten
    Titel: Antw:Sonos steuern
    Beitrag von: ottowalkes am 17 April 2021, 23:44:27
    hallo karsten,
    ich bin da nicht weiter gekommen. das müßte eigendlich mit generateInfoSummarize1 zusammenhängen. vielleicht haben sich das die prefixe für die erkennung der radiostreams geändert.
    walter
    Titel: Antw:Sonos steuern
    Beitrag von: hydrotec am 18 April 2021, 07:30:34
    Guten Morgen Walter,

    Zitat von: ottowalkes
    ... mit generateInfoSummarize1 ...
    Stimmt so nicht ganz.  ;)
    Die Definition der InfoSummarize kannst du nach belieben gestalten.
    Die Attribute infoSummarize1-3 werden von Anfang an angelegt (quasi Standard), infoSummarize4 ist für eigene Bedürfnisse (user-defined).
    Hier findest du die Syntax zu der Definition_der_InfoSummarize (https://wiki.fhem.de/wiki/SONOS#Definition_der_InfoSummarize).

    Das Problem besteht eher darin, das Sonos wohl etwas an den zur Verfügung gestellten Informationen geändert hat.
    Somit kann das Modul 00_SONOS.pm/21_SONOSPLAYER.pm auch nicht die richtigen readings befüllen.
    Vermutlich sollte da Reinerlein einmal drüber schauen.
    Bei mir werden die readings currentRadioName/currentRadioNameMasked/currentSender/currentSenderCurrent/currentSenderInfo/currentTitle nicht mehr befüllt.
    Und wenn ich das richtig verstanden habe, sollten bei Radio die readings currentNormalAudio und currentStreamAudio folgendermaßen aussehen.
    currentNormalAudio = 0
    currentStreamAudio = 1


    Sind wir (inkl. Reinhard  ;)) eigentlich die Einzigen bei denen das zum Tragen kommt?
    Oder gibt es noch jemanden bei dem die readings richtig befüllt werden?

    Gruß, Karsten


    Versionen Fhem
    fhem.pl                24261 2021-04-16
    00_SONOS.pm            22400 2020-07-14
    21_SONOSPLAYER.pm      22400 2020-07-14

    Version Sonos
    Sonos OS: S2
    Version: 13.0 (Build 62186220)
    Titel: Antw:Sonos steuern
    Beitrag von: maclovlin am 18 April 2021, 20:27:41
    Abend,

    habe heute das Sonos Modul eingerichtet und jetzt stellt sich mir die Frage ob es damit möglich ist, Amazon Music Alben per Album / Lied ID als Favoriten / Playlist anzulegen?
    Habe keine Lust mit der Sonos App zu fummeln...
    Titel: Antw:Sonos steuern
    Beitrag von: maclovlin am 24 April 2021, 10:36:28
    Zitat von: maclovlin am 18 April 2021, 20:27:41
    Abend,

    habe heute das Sonos Modul eingerichtet und jetzt stellt sich mir die Frage ob es damit möglich ist, Amazon Music Alben per Album / Lied ID als Favoriten / Playlist anzulegen?
    Habe keine Lust mit der Sonos App zu fummeln...

    Moin,

    hat sich erledigt, bin zu https://github.com/jishi/node-sonos-http-api (https://github.com/jishi/node-sonos-http-api) gewechselt.
    Titel: Antw:Sonos steuern
    Beitrag von: Hermann123 am 21 Juni 2021, 11:42:26
    ZitatSind wir (inkl. Reinhard  ;)) eigentlich die Einzigen bei denen das zum Tragen kommt?
    Oder gibt es noch jemanden bei dem die readings richtig befüllt werden?

    Hallo hydrotec, hallo ottowalkes,

    nein, Ihr seid nicht alleine. Ich habe die Probleme auch schon eine ganze Zeit und hoffe auf ein Update von 00_SONOS.pm/21_SONOSPLAYER.pm.
    Habe gerade wieder einen Update gemacht, hat aber auch keine Besserung gebracht.

    Habt Ihr mittlerweile eine Lösung gefunden?

    Grüße Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: ottowalkes am 30 Juni 2021, 19:25:50
    hallo hermann,
    leider sind die info's zu titel und interpret von radiosendern im sonos-modul noch nicht wieder aufgetaucht.
    walter
    Titel: Antw:Sonos steuern
    Beitrag von: jupzup am 02 Juli 2021, 16:42:15
    Hallo zusammen, ich nutze schon seit längerem Sonos Speak über Google TTS ohne Probleme.

    Jetzt habe ich AWS Polly noch hinzu konfiguriert auf Speak1 was ebenfalls funktioniert aber leider wird hier meine |Gong.mp3| nicht mit dem Text gemergt was über Speak ( Google TTS ) ohne Probleme geht.

    Kann es sein, dass über Speak1 keine MP3 Dateien per  |xxx| eingefügt werden können und nur über den regulären Speak geht ?

    VG
    Titel: Antw:Sonos steuern
    Beitrag von: Jamo am 02 Juli 2021, 19:18:48
    Ja, über Polly speak funktioniert das MP3 abspielen über |xxx| nicht.
    Titel: Antw:Sonos steuern
    Beitrag von: Hermann123 am 13 Juli 2021, 13:02:38
    Zitathallo hermann,
    leider sind die info's zu titel und interpret von radiosendern im sonos-modul noch nicht wieder aufgetaucht.
    walter

    Hallo Reinerlein,

    ich versuche mal Dich direkt anzusprechen  :-)

    Wie Du vielleicht hier gesehen hast, gibt es verschiedene Meldungen, das seit ca April 2021 die Readings
    für Titel, Interpret und ev. auch andere nicht mehr gefüllt werden.

    Es wäre toll wenn Du Dir diese Prolematik vieleicht mal anschauen könntest und ev. eine Lösung, Update
    oder sonst einen Hinweis geben könntest ....

    Falls Du zusätzliche Infos brauchst, lass es mich wissen :-)


    LG Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 17 August 2021, 10:41:30
    Ich habe mal die Umlaute in Speak gefixt. Kann gerne getestet werden und vielleicht hat ja auch jemand Lust das ins svn zu übernehmen.
    Titel: Antw:Sonos steuern
    Beitrag von: Hermann123 am 06 November 2021, 15:34:17
    ZitatHallo Reinerlein,
    ich versuche mal Dich direkt anzusprechen  :-)
    Wie Du vielleicht hier gesehen hast, gibt es verschiedene Meldungen, das seit ca April 2021 die Readings
    für Titel, Interpret und ev. auch andere nicht mehr gefüllt werden.
    Es wäre toll wenn Du Dir diese Problematik vieleicht mal anschauen könntest und ev. eine Lösung, Update
    oder sonst einen Hinweis geben könntest ....
    Falls Du zusätzliche Infos brauchst, lass es mich wissen :-)
    LG Hermann


    Hallo,

    da Reinerlein auf meine direkte Anfrage bis dato noch nicht geantwortet hat, vermute ich dass der Autor das Sonos Modul
    nicht mehr unterstützt.

    Daher meine Frage an die Allgemeinheit  ;)


    - Hat jemand eine Lösung für die fehlenden Reading gefunden und es ev. nur lokal geändert?
    - Oder nutzt bei Radioempfang niemand (außer hydrotec & ottowalkes und mir)  die Infos für Titel, Interpret, ... ?
    - Oder ist die Lösung so einfach, dass kein Hinweis nötig ist?


    LG Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: SaschaH am 14 November 2021, 23:42:59
    Zitat von: Hermann123 am 06 November 2021, 15:34:17

    Hallo,

    da Reinerlein auf meine direkte Anfrage bis dato noch nicht geantwortet hat, vermute ich dass der Autor das Sonos Modul
    nicht mehr unterstützt.

    Daher meine Frage an die Allgemeinheit  ;)


    - Hat jemand eine Lösung für die fehlenden Reading gefunden und es ev. nur lokal geändert?
    - Oder nutzt bei Radioempfang niemand (außer hydrotec & ottowalkes und mir)  die Infos für Titel, Interpret, ... ?
    - Oder ist die Lösung so einfach, dass kein Hinweis nötig ist?


    LG Hermann

    Mich würde eine Antwort hierauf auch sehr interessieren!  :) :)

    Viele Grüße
    Sascha
    Titel: Antw:Sonos steuern
    Beitrag von: is2late am 24 November 2021, 17:03:22
    Hallo,

    Sonos speak funktioniert bei mir nicht mehr, während die Alexas einwandfrei arbeiten. Ob das etwas mit diesem Beitrag zu tun hat?

    ZitatRevision 24622: mqtt2.template:bugfix in sonos2mqtt_speaker Template
    mqtt2.template:bugfix in sonos2mqtt_speaker Template

    Oder weiß sonst jemand Rat? Das RINCON-File wird offensichtlich erzeugt.
    LastActionResult: PlayURITemp: Success!
    currentEnqueuedTransportURI: x-file-cifs://192.168.178.115/SonosSpeak/RINCON_7828CAFDE79801400_MR_Speak_20211124-170935.mp3  (das ist das richtige File).

    Mein Betriebssystem liegt neuerdings auf einem USB-Stick; kann es damit etwas zu tun haben?
    Die sonstige Steuerung über FHEM (Titelauswahl, Lautstärke...) funktioniert.
    Das Logfile zeigt:
    SONOS1: Da keine Endzeit ermittelt werden konnte, wird kein Restoring durchgeführt werden!

    Vielen Dank,
    Ingo

    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 24 November 2021, 17:50:45
    Hallo Ingo,

    geht es jetzt um das klassische Sonosmodul oder om Sonos2mqtt?

    Also Deine Meldung sieht nach Sonos Modul aus, Dein Zitat hat was mit Template vom Sonos2mqtt Modul zu tun  ::)

    ZitatMein Betriebssystem liegt neuerdings auf einem USB-Stick
    Hast Du den samba Server wieder aktiviert?

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: is2late am 24 November 2021, 17:55:54
    Hallo Otto,

    Du kennst mich ja  ;), also bitte nicht wundern über verquere Fragen.... 8)

    Ja, es handelt sich um das klassische Sonos-Modul. Samba habe ich nachinstalliert und die erforderliche Ergänzung in der conf. vorgenommen. Der Pfad zu den Speak-Dateien stimmt; dort kommt die mp3 auch an.

    Was kann ich liefern?

    LG Ingo

    PS: Neue Meldungen nach Neustart:
    021.11.24 18:00:32 1: SONOS1: UPnP-Thread gestartet.
    2021.11.24 18:00:32 1: SONOS2: LongJobs-Thread gestartet. Prüfe auf LongJobs...
    2021.11.24 18:00:32 1: SONOS3: IsAlive-Thread gestartet. Warte 120 Sekunden und pruefe dann alle 30 Sekunden...
    2021.11.24 18:00:32 1: SONOS4: Restore-Thread gestartet. Warte auf Arbeit...
    Titel: Antw:Sonos steuern
    Beitrag von: eppi am 24 November 2021, 18:07:50
    Zitat von: is2late am 24 November 2021, 17:55:54
    Ja, es handelt sich um das klassische Sonos-Modul. Samba habe ich nachinstalliert und die erforderliche Ergänzung in der conf. vorgenommen. Der Pfad zu den Speak-Dateien stimmt; dort kommt die mp3 auch an.
    Ich hatte auch Probleme mit dem Speak nachdem ich den Upgrade auf Debian Bullseye gemacht habe. Ich musste in meiner smb.conf in den [Global] noch etwas ergänzen, diese sieht jetzt so aus:

    [global]
    workgroup = WORKGROUP
    server min protocol = NT1
    security = user
    map to guest = bad user

    So funktioniert es bei mir.
    Viele Grüsse Eppi
    Titel: Antw:Sonos steuern
    Beitrag von: is2late am 24 November 2021, 18:17:18
    Perfekt, das war es, Eppi. Herzlichen Dank!!
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 24 November 2021, 18:32:12
    Ja, die Sonos-Boxen sind IT-Sicherheits-technisch und auch bei anderen Protokollen nicht state of the art. Die NTLM-Authentifizierung ist total veraltet und sie verwenden bspw. nach wie vor STP statt RSTP. Samba hat vor einiger Zeit die Standardeinstellung für die Anforderungen an die Authentifizierung angehoben, die müssen für Sonos daher wieder herabgestuft werden.
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 28 November 2021, 06:27:24
    Immerhin, gerade noch drüber "gesprochen", "schon" hat sich was getan:

    https://stadt-bremerhaven.de/sonos-unterstuetzt-endlich-smb2-und-smb3/
    Titel: Antw:Sonos steuern
    Beitrag von: ottowalkes am 03 Dezember 2021, 21:51:47
    Zitat von: Hermann123 am 13 Juli 2021, 13:02:38
    Hallo Reinerlein,

    ich versuche mal Dich direkt anzusprechen  :-)

    Wie Du vielleicht hier gesehen hast, gibt es verschiedene Meldungen, das seit ca April 2021 die Readings
    für Titel, Interpret und ev. auch andere nicht mehr gefüllt werden.

    Es wäre toll wenn Du Dir diese Prolematik vieleicht mal anschauen könntest und ev. eine Lösung, Update
    oder sonst einen Hinweis geben könntest ....
    ——————————
    hallo zusammen, die readings zu interpret und titel von sonos-radio sind leider nicht mehr aufgetaucht. bei dem versuch meine fhem-oberfläche in den HomeAssistant zu übertragen war ich schon überrascht, das die readings dort ausgegeben werden, ohne probleme. leider bekomme ich nicht alle dongle im HomeAssistant eingebunden. Vieleicht nutze ich ja beide systeme nebeneinander. bin gespannt ob mir das gelingt. nur was Hasso anders als das SonosFHEMmodul?

    walter
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 16 Dezember 2021, 14:06:43
    Zitat von: ottowalkes am 03 Dezember 2021, 21:51:47
    ——————————
    hallo zusammen, die readings zu interpret und titel von sonos-radio sind leider nicht mehr aufgetaucht.
    Hallo Walter,

    wenn Du experiementierfreudig bist kannst Du auch gern die sonos2mqtt Lösung ausprobieren. Da gibt es einige Readings die, je nachdem was die Sender liefern, gefüllt werden :)
    currentTrack_Artist Laurell
    currentTrack_Title Habit

    Der Aufwand ist gering https://forum.fhem.de/index.php/topic,111711.0.html
    Wenn docker im Einsatz ist würde ich das sonos2mqtt Modul im docker betreiben. Dann läuft alles in wenigen Minuten.

    Gruß Otto
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 17 Januar 2022, 22:05:59
    Ich hab mir das mit Titel und Artist mal angesehen und grob versucht, wieder einzubauen.
    Es funktioniert jetzt wieder aber mir fehlen wohl noch ein paar Stellen, weswegen es zb nicht oben in dem "state" angezogen wird.
    Ihr könnt gerne mal testen.
    Titel: Antw:Sonos steuern
    Beitrag von: Hermann123 am 18 Januar 2022, 11:39:56
    ZitatIhr könnt gerne mal testen.

    Hallo Maui,

    ich habe Dein geändertes Modul gerade mal ausprobiert. Leider ohne Erfolg. Es wird nach wie vor in der Standardansicht vom Player
    kein Titel und Interpret angezeigt. Ich habe es mit mehreren Sendern über TuneIn getestet......überall das gleiche Ergebnis.

    Melde Dich, wenn ich was zur Unterstützung beitragen kann....

    LG Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 18 Januar 2022, 16:12:56
    Ich sehe, dass es nur bei einem meiner sonos device klappt. Ich habe das prinzip des weiterreichens an andere (nicht master?) noch nicht wirklich verstanden. Ich versuche es nochmal zu durchblicken.
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 18 Januar 2022, 17:00:26
    Jeder Player hat doch sein Liste.
    Bei einer Gruppe bekommt die Informationen mMn nur der Master. Ist zumindest bei meiner sonos2mqtt Lösung auch so.
    Es scheint auch so zu sein, das Sonos dort vor über einem Jahr mal was geändert hat.
    Die Informationen ob und was in welches "Feld" kommt hängt auch stark vom Sender ab.
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 18 Januar 2022, 17:28:21
    Mit sonos2mqtt läuft es auch. Hab mich ungünstig ausgedrückt. Ich meinte nicht Master Slave sondern dass nur ein Device die Readings bekommt bei 00_sonos. Das hat noch einen slave und ein anderes master device bekommt die readings nicht. Nutze sonos_client_notifier, was erst einmal richtig klingt.
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 18 Januar 2022, 20:34:04
    So alle guten Dinge sind ....2. jetzt sollte es wirklich gehen.
    Titel: Antw:Sonos steuern
    Beitrag von: jenssenmann am 19 Januar 2022, 10:07:27
    Hallo zusammen,

    ja läuft  ;) :D
    Titel: Antw:Sonos steuern
    Beitrag von: Hermann123 am 19 Januar 2022, 11:44:00
    Hallo Maui,

    bei mir hat die letzte Änderung teilweise zum Erfolg geführt.
    Bei einigen Sendern werden Titel und Interpret jetzt angezeigt (z.B. WDR2, Antenne Bayern, ..)

    Aber es gibt auch Sender wo das SONOS Modul immer noch nichts anzeigt, während in der SONOS App die Infos angezeigt werden.
    Beispiel: Bayern3 über TuneIn

    Ein erster Blick in das LOG File zeigt, das bei diesem Sender der ELSE Zweig von
    if ($currentTrackMetaData =~ m/(<dc:title>x-(sonosapi|rincon)-(stream|mp3radio):.*?<\/dc:title>|<res protocolInfo="x-(sonosapi|rincon)-(stream|mp3radio):.*?">)/) {

    zieht. Hier scheinen die Anpassungen noch nicht zu greifen.

    Ich komme aber erst heute Abend zu weiteren Tests.....

    Gruß
    Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 19 Januar 2022, 20:30:15
    Na gut jetzt sind wir doch bei 3.
    Ist halt ein wenig hässlich weil nur anhand von Zeichen getrennt wird.
    Erst mit - und jetzt auch noch :
    Mal sehen was noch so kommt.
    Titel: Antw:Sonos steuern
    Beitrag von: Hermann123 am 19 Januar 2022, 22:18:36
    Hallo Maui,

    jetzt kommen die Infos bei allen Sendern in meiner Fovoriten Liste. Sehr geil !!

    Allerdings finden ich jetzt im LOG folgende Fehlermeldungen:
    Use of uninitialized value $currentValue in pattern match (m//) at ./FHEM/00_SONOS.pm line 7138, <$client> line 7.
    Use of uninitialized value $currentValue in pattern match (m//) at ./FHEM/00_SONOS.pm line 7144, <$client> line 7.
    Use of uninitialized value in concatenation (.) or string at ./FHEM/00_SONOS.pm line 7148, <$client> line 7.


    Soweit ich jetzt rausfinden konnte, immer nach FHEM restart und dem ersten Update des CurrentTrackHandles.
    /schwiering, da ein Timestamp fehlt)

    Weitere Änderungen / Updates des Readings erzeugen anscheinend keine weiteren LOG Einträge.

    Gruß
    Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 19 Januar 2022, 22:37:40
    Na gut ein Versuch starte ich noch wegen den warnings.
    Titel: Antw:Sonos steuern
    Beitrag von: Hermann123 am 22 Januar 2022, 11:53:15
    Moin Maui,

    sieht super aus...keine Warnings/Errors mehr im LOG.

    Vielen Dank für Deine Arbeit!!

    LG Hermann
    Titel: Antw:Sonos steuern
    Beitrag von: Hermann123 am 22 Januar 2022, 12:01:32
    Ach ja.....

    Kannst Du bitte kurz hier vermerken wenn die Änderungen eingecheckt sind und über
    das reguläre Update verteilt werden?

    Danke  :D
    Titel: Antw:Sonos steuern
    Beitrag von: Ralli am 22 Januar 2022, 14:58:45
    Das wird nie der Fall sein, da er nicht der Maintainer des Moduls ist.
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 22 Januar 2022, 15:01:08
    In so einem Fall müsste jemand Rudi Bescheid geben und dann wird zumindest ein neuer maintainer gesucht (theoretisch). Alternativ ignore update
    Titel: Antw:Sonos steuern
    Beitrag von: Hermann123 am 22 Januar 2022, 20:03:15
    Hmmmm,
    ich finde es schon etwas seltsam, dass bei einem scheinbar sehr häufig
    genutzen Modul (immerhin mehr als 1 Millon! reads) niemand für das übernehmen
    von Änderungen und das einchecken zuständig ist  :o

    @Maui: wer ist denn Rudi und wie kann man ihn erreichen?




    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 22 Januar 2022, 21:24:56
    @Hermann123 Auch in einem Community Projekt gibt es Regeln
    https://wiki.fhem.de/wiki/SVN_Nutzungsregeln
    https://de.wikipedia.org/wiki/FHEM
    Und zu Deiner Frage: Rudis Homepage (http://www.koeniglich.de/) :)
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 23 Januar 2022, 00:14:07
    Naja rudi erreichst ja auch hier im forum. Unter rudolfkoenig.
    Soo ist halt das (spezielle) Konzept, dass nur der maintainer einchecken darf.
    Und wenn das Modul halt waise ist (wie so häufig hier) dann muss man erst mal neue eltern finden.
    Und das rudi nicht 1000 Kinder will kann ich auch verstehen.
    Aber unbefriedigend ist sowas trotzdem und es wird halt nicht besser wenn die community hier immer mehr abnimmt. Aber ich wollte jetzt auch keine Diskussion lostreten.  ;D
    Titel: Antw:Sonos steuern
    Beitrag von: rubinho am 09 April 2022, 11:58:49
    Hallo Leute,

    ich bin etwas frustriert, da meine Sonos (Ikea) Speaker zig mal am Tag die Verbindung zu Fhem verlieren (disappeared). Gefühlt ist es die letzten Monate immer schlimmer geworden, so dass mein selbstgebauter Watchdog (DOIF :) ) keine Lösung mehr ist.
    Allerdings ist das nicht das Problem von dem Sonos Modul, sondern mein gewähltes Netzdesign, bzw. die beschissene UPNP Lösung von Sonos.

    Ich bin von Beruf Firewall/Netzwerk Admin und daher von Haus aus Paranoid :D Aus diesem Grund sind meine Sonos Speaker in einem IOT Netz und mein Fhem befindet sich in einer gesicherten DMZ. Verbunden sind die zwei Netze über eine Firewall (PFsense) und mittels Pimd habe ich die Multicastgruppen über die Netze hinweg miteinander verbunden. Grundsätzlich funktioniert diese Lösung. Allerdings gehen mir regelmäßig die Verbindungen flöten und ein Netrescan funktioniert (warum auch immer) kaum noch. Nur ein disable/enable des Sonos Moduls hilft dann noch. Des weitern habe ich seit neustem das Problem, dass das Sonosmodul meint, die Verbindung wäre noch da, aber der Lautsprechen lässt sich nicht mehr steuern.

    Das ganze ist die letzte Woche dermaßen aus dem Ruder gelaufen, dass ich verzweifelt ein Vlan Interface auf dem Fhem-Server eingerichtet habe, dass direkt im IOT Netz hängt. Allerdings findet jetzt das Sonos Modul nach einem Neustart immer nur zwei der drei Speaker. Es hilft dann nur ein rebooten des fehlenden Speakers, dass alle verfügbar sind. Danach läuft die Verbindung zu den Speacker stabil und es kommt zu keinem Verbindungsverlust mehr.

    Meine Frage ist, benutzt Sonos das Upnp Protokol nur zum finden der Sonosgeräte?, wenn ja müsste es doch auch eine Möglichkeit geben, die IP Adressen der Sonos Geräte direkt anzusprechen. Dieser UPNP Scheiß nervt und verkompliziert eine Realisierung komplexer Netzwerke.
    Nicht falsch verstehen, für einen Standardbenutzer mag UPNP eine feine Sache sein, aber dafür muss man doch nicht auf erweiterte Einstellmöglichkeiten verzichten.

    lg
    rubinho

    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 09 April 2022, 13:21:37
    dann versuch doch mal sonos2mqtt (https://wiki.fhem.de/wiki/MQTT2-Module_-_Praxisbeispiele#Sonos2Mqtt) und platziere den sonos2mqtt Service (z.B. als docker Container) im gleichen Netzwerk wie deine Sonos Lautsprecher. Das sonos2mqtt Modul redet dann nur noch mqtt mit FHEM.
    Falls Du schon einen MQTT2_SERVER in FHEM aktiv hast, ist die Sache mMn in 15 min erledigt.
    Titel: Antw:Sonos steuern
    Beitrag von: rubinho am 10 April 2022, 11:47:13
    Ok, danke für den Denkanstoß.
    Im Prinzip kann ich mir auch ein Satelliten Dockerfhem in das Vlan hängen und dann mit dem Mainfhem koppeln.
    Weiß jetzt nicht was schneller geht, da ich mich bis jetzt nicht mit Sonos2mqtt beschäftigt habe.

    Das Satellitenfhem hab ich in 10Min aufgesetzt und läuft bereits in einem Container und ist mittels macvlan in das IOT Vlan gebridged.
    Das Sonos Modul läuft auch schon und hat alle drei Lautsprecher gefunden. Einzig die Rückmeldung scheint noch nicht zu funktionieren.
    Steuern geht, ich sehe aber nicht, ob gerade was abgespielt wird, oder halt nicht.

    Irgendein Tip?

    lg
    Rubinho
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 10 April 2022, 11:52:11
    Wenn du schon so kapselst, kannst auch gleich nur sonos2mqtt (npm) nehmen und dann per mqtt mit fhem koppeln, entweder per Generic bridge oder halt mit mqtt2 template.
    Biste viel schlanker unterwegs
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 10 April 2022, 17:33:42
    Zitat von: rubinho am 10 April 2022, 11:47:13
    Weiß jetzt nicht was schneller geht, da ich mich bis jetzt nicht mit Sonos2mqtt beschäftigt habe.
    Kann auch nicht sagen was schneller geht. Ich finde eine FHEM2FHEM Kopplung wegen Sonos nicht unbedingt zielführend. Wenn Du docker "kannst" und MQTT2 schon "hast" ist es wie schon gesagt eine Sache von Minuten, ohne das man weitere Vorkenntnisse braucht :)
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 10 April 2022, 19:48:53
    Hallo zusammen,

    ich habe die Sonos-Boxen ebenfalls in einem eigenen VLAN. Die Zugriffe werden über entsprechende ACLs in einem CISCO-Router gesteuert. Funktioniert ohne Probleme.
    Ich starte lediglich das Sonos-System einmal in der Nacht neu. Somit habe ich seit Monaten keine Probleme mehr.

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: Masterfunk am 11 April 2022, 07:29:21
    Ich betreibe auch diverse Vlan's-
    Bei mir ist fehm und Sonos aber im gleichen. Ich hatte das Problem mit der Steuerung via Mobile und Desktop-App (anderes Vlan)
    Die Lösung war igmp-proxy. Unter pf-sense gibts dafür ein Modul.
    Da ich aber bereits einige Zeit auf unifi Equip umgestiegen bin war das keine Lösung mehr für mich.
    Hier kam dann folgende Löung zum Einsatz:

    https://nerdygeek.uk/2020/06/09/a-tip-for-sonos-and-unifi-udm-pro-users/

    Der Beitrag sit aber auch für nichht unifi nutzer interessant, da die Gundsatz Probelematik angesprichen wird.
    Titel: Antw:Sonos steuern
    Beitrag von: rubinho am 11 April 2022, 20:25:06
    Soo, erstmal danke für die Antworten.

    Ich hab mich jetzt mal durchgequält und auf Sonos2mqtt umgestellt.

    Den Dockercontainer hatte ich binnen 2min am laufen, was aber nicht anders zu erwarten war.
    Tricky wurde es erst mit dem Einbinden in Fhem.
    Ich musste trozt gut gefülltem Wiki Eintrag und diversen Forenbeiträgen etwas um die Ecke denken um die Lautsprecher zufriedenstellend einzubinden.

    Angefangen mit den Templates, danach die Erweiterung um Favoriten abzuspielen und das Anpassen des Modules waren etwas zeitraubend.
    Danach hab ich zusätzlich Zeit verbraten, da ich  mit aller Gewalt die Titelinfo von meinem DVB Radio Stream übermittelt haben wollte und mit TS2shout mein Glück versuchte.... Vergeblich. Allerdings hatte das nichts mit dem Sonos2mqtt Modul zu tun.

    Das Steuern und die Rückmeldung der Lautsprecher funktionieren, wenn alles stabil läuft, reicht mir das so. Der kleine Dockercontainer tut mir nicht weh.
    Was nicht so toll war, ist das manuelle Refreshen der Favoriten wenn dort was geändert wurde. Aber so oft mach ich das nicht und kann damit leben.

    Im Bezug auf den IGMP Proxy, den hatte ich auch schon ausprobiert, Pimd war aber damals das bessere Modul und funktioniert im Prinzip auch heute noch. Meine Sonos Desktop Apps funktionieren ohne Probleme aus einem anderen Vlan.
    Das Fhem Sonos Modul läuft ja grundsätzlich auch, nur halt nicht dauerstabil, was den WAF sehr schmälert :D

    Warten wir mal ab.

    lg
    Rubinho


    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 11 April 2022, 21:38:55
    Naja es ist auf alle Fälle noch Luft für Verbesserungen :) das es für Dich gequält war tut mir leid. Eigentlich braucht es nur ein Template, der Rest läuft doch automatisch?
    Ob man das Einlesen der Favoriten bei Events vom sonos2mqtt automatisch triggern kann weiß ich nicht. Mir reicht die Funktionalität so.  ;)
    Titel: Antw:Sonos steuern
    Beitrag von: rubinho am 12 April 2022, 18:23:39
    Muss dir nicht leid tun.

    Ich tue mir nur schwer, wenn ich von Informationen erschlagen werde und ich erst alles durchlesen muss um anfangen zu können.

    Mein Auffassungsvermögen war schonmal besser  ;D

    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 12 April 2022, 22:49:30
    Wenn Du mir sagst, wie Du es Dir kurz und knapp gewünscht hättest - ändere ich das im Wiki.
    Titel: Antw:Sonos steuern
    Beitrag von: rubinho am 13 April 2022, 06:48:44
    @Otto123

    Danke für das Angebot, aber für mich brauchst du das nicht (mehr) zu machen  ;D

    Wenn ich das Wiki jetzt mit gewissen Vorkenntnissen lese, ist natürlich vieles schlüssiger.

    Manche Bereiche müssten eventuell nur besser hervorgehoben werden (z.B. das Einbinden der Templates)

    Ein weiterer Punkt war für mich das Hinzufügen des Befehls playFav.
    Warum werden beim setzen des Templates nicht gleich alle unterstützten Funktionen direkt eingebunden?
    Dann könnte man sich den Bereich im Wiki sparen und das koppeln der Lautsprecher geht noch schneller.

    Auch wusste ich im ersten Moment nicht, was ich mit den Codeschnipsel anfangen soll.
    Das man diese Schnipsel direkt per Fhem Komandozeile eingeben kann, hab ich beim ersten durchlesen überlesen. Das sollte man auch etwas hervorheben.  (Wenn nicht set, get oder attr da steht, geht man als "casual Fhemer" :) nicht direkt davon aus, dass man das in die Fhem Kommandozeile eingeben kann.)


    Aber das ist nur meine subjektive Meinung, Andere werden bestimmt mit dem Wiki besser zurecht kommen und ich hab es schließlich auch ohne Fragen geschafft.

    lg
    rubinho
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 13 April 2022, 09:34:01
    naja für Dich nicht, aber es kommen ja immer wieder welche nach  ;D
    Das war ja so ein Projekt über einen längeren Zeitraum, ich wollte erstmal eine Grundlage schaffen und mit jedem neuen Mitstreiter und Anwender "franzt" das ganze etwas aus.
    Alles ist halt noch nicht fest gegossen in Templates und der Utils Datei. Von der Sache her ist es eine Grundlage und ein Baukasten - ich setze mich sicher nochmal ran und mache es etwas kompletter. Aber wie es so ist, es läuft ja erstmal :)

    playFav war ein erster Schuß, der mir gar nicht mehr so gefällt. Ich finde play Radios|Favorites|Playlists <Titel> besser. Dafür gibt es bloß keine Klappliste - gab es aber im classic Sonos Modul auch nie?
    Du redest immer von den Templates - es ist doch eigentlich nur eines? Oder ist bei Dir der Rest nicht automatisch abgelaufen?
    Titel: Antw:Sonos steuern
    Beitrag von: rubinho am 14 April 2022, 19:45:15
    Zitat von: Otto123 am 13 April 2022, 09:34:01
    Du redest immer von den Templates - es ist doch eigentlich nur eines? Oder ist bei Dir der Rest nicht automatisch abgelaufen?

    Hehe, jein.

    Es gibt ja zwei Bridge Templates eins mit und eins ohne Comfort (Welchen Unterschied die beiden haben, kann ich aber nicht sagen)
    Aber ja im Prinzip benötigt man nur ein Template. Der Speaker bekommt es dann automatisch verabreicht.

    Titel: Antw:Sonos steuern
    Beitrag von: TomLee am 16 April 2022, 08:03:20
    ZitatDafür gibt es bloß keine Klappliste - gab es aber im classic Sonos Modul auch nie?

    Doch, seit ein paar (https://forum.fhem.de/index.php/topic,127137.msg1216976.html#msg1216976) Tagen gibts so ne Klappliste  :D
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 21 April 2022, 10:24:10
    Hallo zusammen,

    seit dem letzten Sonos-Update auf die Version 14.6 bekomme ich folgende Fehlermeldung.

    2022.04.21 10:20:28 1: SONOS1: AudioIn-Service-Service-subscribing NOT successful: Subscription request failed with error: 503 Service Unavailable at ./FHEM/00_SONOS.pm line 6303 thread 1.
    2022.04.21 10:20:31 1: SONOS1: AudioIn-Service-Service-subscribing NOT successful: Subscription request failed with error: 503 Service Unavailable at ./FHEM/00_SONOS.pm line 6303 thread 1.


    Es scheint aber alles zu funktionieren.

    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: somansch am 06 Juni 2022, 21:00:35
    Zitat von: Maui am 19 Januar 2022, 22:37:40
    Na gut ein Versuch starte ich noch wegen den warnings.

    Hallo @Maui,
    danke für deine angepasste Version bzgl. Anzeige von Titel und Künstler beim Abspielen der Radiosender. Das funktioniert auch alles Bestens  :). mit ist jedoch aufgefallen, dass jetzt beim Abspielen von Spotify kein Künstler mehr angezeigt wird?! Das reading "currentArtist" ist dann leer. Hast du ne Idee?

    Viele Grüße
    Andreas

    Hier noch die Logeinträge:
    2022.06.06 20:42:19 3: Sonos_WohnzimmerRG_Playlists: <{SONOS_getListRG($DEVICE,"Playlists")}@Playlists>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2022.06.06 20:42:19 3: Sonos_WohnzimmerRG_Queue: <{SONOS_getListRG($DEVICE,"Queue")}@Queue>: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 622.

    2022.06.06 20:43:29 1: SONOS0: Error during retreiving of PlaylistName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1394.
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 09 Juni 2022, 08:27:03
    Ich kann's mir nächsten Monat mal ansehen. Bin aktuell unterwegs
    Titel: Antw:Sonos steuern
    Beitrag von: elmer am 21 Juni 2022, 13:25:57
    Bei meinem Favoriten werden von Amazon Musik in der Übersicht keine Cover angezeigt. Wenn man ein Album startet wird das Cover bei Wiedergabe angezeigt. Bei Alben unter Favoriten die Lokal abgespeichert sind werden die Cover angezeigt. Wie schaffe ich es das auch die Cover von Amazon Musik angezeigt werden?

    In der Sonos App in der Bibliothek werden die Cover angezeigt.
    Titel: Antw:Sonos steuern
    Beitrag von: onkel-tobi am 29 Juni 2022, 12:12:41
    Hallo zusammen,

    kann mir jemand sagen ob das über Sonos einwandfrei funktioniert, dass Während der Wiedergabe ein player zugeschaltet wird ohne das es eine Unterbrechung oder ähnliches gibt?
    Sprich ich habe bspw. Eine Gruppe Wohnbereich und eine Erdgeschoss. Und sobald ich Flur oder Gästebad betrete wird er player dort ebenfalls aktiviert ohne das der stream kurzzeitig unterbrochen wird?

    Danke und Gruß,
    Tobi
    Titel: Antw:Sonos steuern
    Beitrag von: Maui am 29 Juni 2022, 20:23:56
    Moin,

    Also sonos kann genau das was du beschreibst, also ohne Unterbrechung.

    Gruss
    Maui
    Titel: Antw:Sonos steuern
    Beitrag von: ulli am 03 Juli 2022, 18:11:07
    Servus,

    ich habe mit dem Modul zwei Probleme bei denen ich eure Hilfe brauche:

    1) Beim Abspielen von Radiosendern, die keine Sonos Radios sind, zeigt mir das Modul keine currentTitle, currentArtist an.
        Die Infos wären aber in "currentTrackHandle -> streamContent" verhanden
        Hier mal meine rawDefinition beim Abspielen von z.B: Radio Gong

        Wie bekomme ich es hin das die current readings befüllt werden?

       
    defmod Sonos_Wohnkueche SONOSPLAYER RINCON_542A1BD9BE6C01400_MR
    attr Sonos_Wohnkueche userattr lightSceneParamsToSave lightSceneRestoreOnlyIfChanged:1,0
    attr Sonos_Wohnkueche alias Wohnküche
    attr Sonos_Wohnkueche generateInfoSummarize1 <NormalAudio><Artist prefix="(" suffix=")"/><Title prefix=" '" suffix="'" ifempty="[Keine Musikdatei]"/><Album prefix=" vom Album '" suffix="'"/></NormalAudio> <StreamAudio><Sender suffix=":"/><SenderCurrent prefix=" '" suffix="' -"/><SenderInfo prefix=" "/></StreamAudio>
    attr Sonos_Wohnkueche generateInfoSummarize2 <TransportState/><InfoSummarize1 prefix=" => "/>
    attr Sonos_Wohnkueche generateInfoSummarize3 <Volume prefix="Lautstärke: "/><Mute instead=" ~ Kein Ton" ifempty=" ~ Ton An" emptyval="0"/> ~ Balance: <Balance ifempty="Mitte" emptyval="0"/><HeadphoneConnected instead=" ~ Kopfhörer aktiv" ifempty=" ~ Kein Kopfhörer" emptyval="0"/>
    attr Sonos_Wohnkueche generateVolumeEvent 1
    attr Sonos_Wohnkueche generateVolumeSlider 1
    attr Sonos_Wohnkueche getAlarms 1
    attr Sonos_Wohnkueche getTitleInfoFromMaster 1
    attr Sonos_Wohnkueche group Sonos
    attr Sonos_Wohnkueche icon icoSONOSPLAYER_icon-S31.png
    attr Sonos_Wohnkueche minVolume 0
    attr Sonos_Wohnkueche model Sonos_S31
    attr Sonos_Wohnkueche room Wohnküche
    attr Sonos_Wohnkueche simulateCurrentTrackPosition 1
    attr Sonos_Wohnkueche sortby 1
    attr Sonos_Wohnkueche stateFormat presence ~ currentTrackPositionSimulatedPercent% (currentTrackPositionSimulated / currentTrackDuration)
    attr Sonos_Wohnkueche userReadings Favourites:LastActionResult.*?GetFavouritesWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } },\
    Radios:LastActionResult.*?GetRadiosWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, \
    Playlists:LastActionResult.*?GetPlaylistsWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } },\
    Queue:LastActionResult.*?GetQueueWithCovers.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }, \
    currentTrackPosition:LastActionResult.*?GetCurrentTrackPosition.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }\
    #currentPlaylistContent:LastActionResult.*?GetPlaylistContent.* { if (ReadingsVal($name, "LastActionResult", "") =~ m/.*?: (.*)/) { return $1;; } }\

    attr Sonos_Wohnkueche webCmd Volume

    setstate Sonos_Wohnkueche appeared ~ 0.0% (0:00:10 / 0:00:00)
    setstate Sonos_Wohnkueche 2022-07-02 18:19:42 AlarmList {}
    setstate Sonos_Wohnkueche 2022-07-02 18:19:42 AlarmListIDs
    setstate Sonos_Wohnkueche 2022-07-02 18:19:42 AlarmListVersion RINCON_542A1BD9BE6C01400:0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 AlarmRunning 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 AlarmRunningID
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 AudioDelay 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 AudioDelayLeftRear 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 AudioDelayRightRear 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 AvailablePlayer []
    setstate Sonos_Wohnkueche 2022-06-04 15:22:31 AvailablePlayerList
    setstate Sonos_Wohnkueche 2022-06-04 15:22:31 AvailablePlayerListAlias
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 Balance 0
    setstate Sonos_Wohnkueche 2022-06-03 10:18:37 Bass 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 CrossfadeMode 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 DailyIndexRefreshTime
    setstate Sonos_Wohnkueche 2022-06-17 21:45:27 DialogLevel 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 DirectControlAccountID
    setstate Sonos_Wohnkueche 2022-07-03 17:57:42 DirectControlClientID
    setstate Sonos_Wohnkueche 2022-07-03 17:57:20 DirectControlIsSuspended 0
    setstate Sonos_Wohnkueche 2022-07-02 10:43:36 Favourites DirectlySet
    setstate Sonos_Wohnkueche 2022-07-02 10:43:36 FavouritesList ENERGY.Deephouse|Hit.List|In.Deutschland.angesagt|Lerne.Sonos.Radio.kennen|Logbuch.-.Eine.Reise.durch.das.Land.der.Bekloppten.und.Bescheuerten|Radio.Gong.96.3|Reggae.Roots|egoFM|egoFM.-.FLASH|egoFM.-.PURE|egoFM.-.RIFF|egoFM.-.SOUL|egoFM.CHILLOUT
    setstate Sonos_Wohnkueche 2022-07-02 10:43:36 FavouritesListAlias ENERGY Deephouse|Hit List|In Deutschland angesagt|Lerne Sonos Radio kennen|Logbuch - Eine Reise durch das Land der Bekloppten und Bescheuerten|Radio Gong 96.3|Reggae Roots|egoFM|egoFM - FLASH|egoFM - PURE|egoFM - RIFF|egoFM - SOUL|egoFM CHILLOUT
    setstate Sonos_Wohnkueche 2022-07-02 10:43:33 FavouritesVersion RINCON_542A1BD9BE6C01400,31
    setstate Sonos_Wohnkueche 2022-07-01 20:47:37 GroupMute 0
    setstate Sonos_Wohnkueche 2022-07-03 10:15:54 GroupVolume 15
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 HeadphoneConnected 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 IsBonded 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 IsMaster 1
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 IsZoneBridge 0
    setstate Sonos_Wohnkueche 2022-07-03 18:02:31 LastActionResult StartFavourite: Success!
    setstate Sonos_Wohnkueche 2022-07-03 18:02:12 LastSubscriptionsRenew MusicServices: 2022-07-03 18:02:12
    setstate Sonos_Wohnkueche 2022-06-03 10:22:10 Loudness 1
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 MasterPlayer Sonos_Wohnkueche
    setstate Sonos_Wohnkueche 2022-07-01 20:47:37 Mute 0
    setstate Sonos_Wohnkueche 2022-06-17 21:45:33 NightMode 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 Orientation 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 OutputFixed 0
    setstate Sonos_Wohnkueche 2022-06-04 17:29:42 Playlists {'SQ:0' => {'Title' => 'Ulli','Cover' => '','Ressource' => 'file:///jffs/settings/savedqueues.rsq#0'}}
    setstate Sonos_Wohnkueche 2022-06-05 10:51:37 PlaylistsList Ulli
    setstate Sonos_Wohnkueche 2022-06-05 10:51:37 PlaylistsListAlias Ulli
    setstate Sonos_Wohnkueche 2022-06-04 17:29:42 PlaylistsVersion RINCON_542A1BD9BE6C01400,3
    setstate Sonos_Wohnkueche 2022-06-05 14:21:53 Queue DirectlySet
    setstate Sonos_Wohnkueche 2022-06-04 15:54:11 QueueDuration 0:00:00
    setstate Sonos_Wohnkueche 2022-06-04 15:54:11 QueueDurationSec 0
    setstate Sonos_Wohnkueche 2022-06-05 14:21:53 QueueHash 9a1c7ee2c7ce38d4bbbaf29ab9f2ac1e
    setstate Sonos_Wohnkueche 2022-06-05 14:21:53 QueueList
    setstate Sonos_Wohnkueche 2022-06-05 14:21:53 QueueListAlias
    setstate Sonos_Wohnkueche 2022-06-05 14:21:53 QueueVersion 19
    setstate Sonos_Wohnkueche 2022-07-02 10:43:36 Radios DirectlySet
    setstate Sonos_Wohnkueche 2022-06-04 15:01:14 RadiosList
    setstate Sonos_Wohnkueche 2022-06-04 15:01:14 RadiosListAlias
    setstate Sonos_Wohnkueche 2022-07-02 10:43:33 RadiosVersion RINCON_542A1BD9BE6C01400,31
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 Repeat 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 RepeatOne 0
    setstate Sonos_Wohnkueche 2022-06-06 13:22:25 Shuffle 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 SlavePlayer []
    setstate Sonos_Wohnkueche 2022-06-04 15:22:31 SlavePlayerList
    setstate Sonos_Wohnkueche 2022-06-04 15:22:31 SlavePlayerListAlias
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 SlavePlayerNotBonded []
    setstate Sonos_Wohnkueche 2022-06-04 15:22:31 SlavePlayerNotBondedList
    setstate Sonos_Wohnkueche 2022-06-04 15:22:31 SlavePlayerNotBondedListAlias
    setstate Sonos_Wohnkueche 2022-06-03 10:22:05 SleepTimer off
    setstate Sonos_Wohnkueche 2022-06-03 10:22:05 SleepTimerVersion
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 SubEnable 1
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 SubGain 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 SubPolarity 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 SurroundEnable 1
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 SurroundLevel 0
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 Treble 0
    setstate Sonos_Wohnkueche 2022-06-03 10:22:10 TruePlay 1
    setstate Sonos_Wohnkueche 2022-07-03 10:15:54 Volume 15
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 WifiEnabled 1
    setstate Sonos_Wohnkueche 2022-06-22 02:41:09 WirelessMode 1
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 ZoneGroupID RINCON_542A1BD9BE6C01400:__
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 ZoneGroupName Wohnküche
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 ZoneGroupNameDetails
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 ZonePlayerUUIDsInGroup RINCON_542A1BD9BE6C01400
    setstate Sonos_Wohnkueche 2022-07-03 09:21:23 currentAlbum
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 currentAlbumArtURL http://192.168.188.70:1400/getaa?s=1&u=x-sonosapi-stream%3atunein%253a7164%3fsid%3d303%26flags%3d8232%26sn%3d1
    setstate Sonos_Wohnkueche 2022-07-03 17:57:42 currentAlbumArtist Pitbull
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 currentArtist
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 currentEnqueuedTransportHandle x-sonosapi-stream:tunein%3a7164?sid=303&flags=8232&sn=1|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><dc:title>Radio Gong 96.3</dc:title><upnp:class>object.item.audioItem.audioBroadcast</upnp:class><desc id="cdudn" nameSpace="urn:schemas-rinconnetworks-com:metadata-1-0/">SA_RINCON77575_X_#Svc77575-0-Token</desc></item></DIDL-Lite>
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 currentEnqueuedTransportURI x-sonosapi-stream:tunein%3a7164?sid=303&flags=8232&sn=1
    setstate Sonos_Wohnkueche 2022-06-22 02:46:27 currentFavouriteName
    setstate Sonos_Wohnkueche 2022-06-22 02:46:27 currentFavouriteNameMasked
    setstate Sonos_Wohnkueche 2022-07-03 17:57:42 currentNormalAudio 1
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 currentOriginalTrackNumber
    setstate Sonos_Wohnkueche 2022-06-05 11:57:25 currentPlaylistName
    setstate Sonos_Wohnkueche 2022-06-05 11:57:25 currentPlaylistNameMasked
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 currentRadioName
    setstate Sonos_Wohnkueche 2022-06-04 15:22:31 currentRadioNameMasked
    setstate Sonos_Wohnkueche 2022-07-03 17:57:20 currentSender
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 currentSenderCurrent
    setstate Sonos_Wohnkueche 2022-07-03 14:12:56 currentSenderInfo
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 currentSource Radio Gong 96.3
    setstate Sonos_Wohnkueche 2022-07-03 17:57:20 currentStreamAudio 0
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 currentTitle
    setstate Sonos_Wohnkueche 2022-07-03 18:02:59 currentTrack 2
    setstate Sonos_Wohnkueche 2022-07-03 17:57:42 currentTrackDuration 0:00:00
    setstate Sonos_Wohnkueche 2022-07-03 17:57:42 currentTrackDurationSec 0
    setstate Sonos_Wohnkueche 2022-07-03 18:03:19 currentTrackHandle http://http://radiogong--di--nacs-ais-lgc--0a--cdn.cast.addradio.de/radiogong/live/mp3/high?ar-distributor=f0a1&amp;;_art=dj0yJmlwPTg3LjE2Mi42OC4xMyZpZD1pY3NjeGwtczN4ZGd6eG1iJnQ9MTY1Njk1MDU1MiZzPTc4NjZmMjljI2YzODVmYWY0MzM4ODJiNzg5YzY2YzhmMjEwMDI0OTRl|<DIDL-Lite xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:upnp="urn:schemas-upnp-org:metadata-1-0/upnp/" xmlns:r="urn:schemas-rinconnetworks-com:metadata-1-0/" xmlns="urn:schemas-upnp-org:metadata-1-0/DIDL-Lite/"><item id="-1" parentID="-1" restricted="true"><res protocolInfo="sonos.com-http:*:*:*">x-sonosapi-stream:tunein%3a7164?sid=303&amp;;flags=8232&amp;;sn=1</res><r:streamContent>Kygo &amp;; Whitney Houston - Higher Love</r:streamContent><r:radioShowMd></r:radioShowMd><r:streamInfo>bd:0,sr:0,c:0,l:0,d:0</r:streamInfo><upnp:albumArtURI>/getaa?s=1&amp;;u=x-sonosapi-stream%3atunein%253a7164%3fsid%3d303%26flags%3d8232%26sn%3d1</upnp:albumArtURI><upnp:class>object.item</upnp:class></item></DIDL-Lite>
    setstate Sonos_Wohnkueche 2022-07-03 18:03:19 currentTrackPosition 0:00:00
    setstate Sonos_Wohnkueche 2022-07-03 18:03:19 currentTrackPositionSec 0
    setstate Sonos_Wohnkueche 2022-07-03 18:03:28 currentTrackPositionSimulated 0:00:10
    setstate Sonos_Wohnkueche 2022-06-06 13:22:25 currentTrackPositionSimulatedPercent 0.0
    setstate Sonos_Wohnkueche 2022-07-03 18:03:28 currentTrackPositionSimulatedSec 10
    setstate Sonos_Wohnkueche 2022-07-03 18:02:59 currentTrackProvider Radio
    setstate Sonos_Wohnkueche 2022-07-03 18:02:59 currentTrackProviderIconQuadraticURL /fhem/sonos/cover/tunein_quadratic.jpg
    setstate Sonos_Wohnkueche 2022-07-03 18:02:59 currentTrackProviderIconRoundURL /fhem/sonos/cover/tunein_round.png
    setstate Sonos_Wohnkueche 2022-07-03 18:02:59 currentTrackURI http://http://radiogong--di--nacs-ais-lgc--0a--cdn.cast.addradio.de/radiogong/live/mp3/high?ar-distributor=f0a1&amp;;_art=dj0yJmlwPTg3LjE2Mi42OC4xMyZpZD1pY3NjeGwtczN4ZGd6eG1iJnQ9MTY1Njk1MDU1MiZzPTc4NjZmMjljI2YzODVmYWY0MzM4ODJiNzg5YzY2YzhmMjEwMDI0OTRl
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 fieldType
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 infoSummarize1 [Keine Musikdatei]
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 infoSummarize2 PLAYING => [Keine Musikdatei]
    setstate Sonos_Wohnkueche 2022-07-03 10:16:12 infoSummarize3 Lautstärke: 15 ~ Ton An ~ Balance: Mitte ~ Kein Kopfhörer
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 infoSummarize4
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 location http://192.168.188.70:1400/xml/device_description.xml
    setstate Sonos_Wohnkueche 2022-06-06 13:22:25 nextAlbum
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 nextAlbumArtURL /fhem/sonos/cover/empty.jpg
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 nextAlbumArtist
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 nextArtist
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 nextOriginalTrackNumber
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 nextTitle
    setstate Sonos_Wohnkueche 2022-06-05 09:11:10 nextTrackDuration
    setstate Sonos_Wohnkueche 2022-06-05 09:11:10 nextTrackDurationSec
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 nextTrackHandle |
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 nextTrackProvider
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 nextTrackProviderIconQuadraticURL
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 nextTrackProviderIconRoundURL
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 nextTrackURI
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 numberOfTracks 3
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 playerType S31
    setstate Sonos_Wohnkueche 2022-07-02 18:19:42 presence appeared
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 roomName Wohnküche
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 roomNameAlias Wohnküche
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 saveRoomName Wohnkueche
    setstate Sonos_Wohnkueche 2022-05-07 13:58:11 serialNum 54-2A-1B-D9-BE-6C:F
    setstate Sonos_Wohnkueche 2022-07-02 18:19:42 softwareRevision 14.10
    setstate Sonos_Wohnkueche 2022-06-22 02:40:37 softwareRevisionAvailable 14.10
    setstate Sonos_Wohnkueche 2022-07-02 18:19:42 softwareRevisionInternal 68.3-30100
    setstate Sonos_Wohnkueche 2022-06-22 02:40:37 softwareRevisionInternalAvailable 68.3-30100
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 state PLAYING
    setstate Sonos_Wohnkueche 2022-07-03 18:02:36 transportState PLAYING


    2) Ich habe in der Sonos APP  eine Playlist eingerichtet und einige Radio Sender in die Senderliste hinzugefügt.
        Die Playlist und die Senderliste wird mir im FHEM Modul unter "FavouritesList" & "FavouritesListAlias" gesamthaft angezeigt.
        Meine angelegte Playlist wird zusätzlich in "PlaylistsList" & "PlaylistsListAlias" angezeigt.
        Die gespeicherten Sender werden aber nicht in "RadiosList" & "RadiosListAlias" angezeigt. Diese Listen sind leer.
       
        Ist das Verhalten korrekt das alles in FavouritenList gelistet wird?
        Wie bekomme ich es hin das die Radiosender in der RadiosList angezeigt wird?
        -> siehe RawDefinition oben
       (Ja GetFavouritesWithCover & GetPlaylistsWithCover & GetRadiosWithCover habe ich asugeführt. Hab sogar ein Notify das bei aktualisierung des Versionsreading die gets nochmal ausführt angelegt.)

    Würde mich sehr freuen über einen Tipp!

    Ich habe gelegentlich folgende Fehler im Log:
    2022.07.03 18:11:10 1: SONOS0: Error during retreiving of RadioName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1413.
    2022.07.03 18:11:10 1: SONOS0: Error during retreiving of FavouriteName: Can't use an undefined value as a HASH reference at ./FHEM/00_SONOS.pm line 1375.

    Kann das daher kommen?

    Grüße,
       Ulli

    (PS: Ich habe eine Beam 2)
    Titel: Antw:Sonos steuern
    Beitrag von: Pete37 am 24 August 2022, 14:53:14
    Verwendet ihr schon die Sonos S2 App? Funktioniert das System dann noch mit Fhem?

    Ich frage, weil als einer der Vorteile "Verbesserte Protokolle, einschließlich Support für Cipher Suiten mit elliptischen Kurven in SSL/TLS, erhöhen die Sicherheit deines Systems und deiner Daten." angepriesen wird. Und weil Sonos vor Jahr und Tag mal in Aussicht gestellt hat, den Direktzugriff im LAN zu unterbinden. Seit dem bin ich immer sehr verhalten mit Sonos-SW-Updates.

    Viele Grüße,
    Pete37
    Titel: Antw:Sonos steuern
    Beitrag von: ch.eick am 24 August 2022, 15:21:16
    Zitat von: Pete37 am 24 August 2022, 14:53:14
    Verwendet ihr schon die Sonos S2 App? Funktioniert das System dann noch mit Fhem?

    Ich frage, weil als einer der Vorteile "Verbesserte Protokolle, einschließlich Support für Cipher Suiten mit elliptischen Kurven in SSL/TLS, erhöhen die Sicherheit deines Systems und deiner Daten." angepriesen wird. Und weil Sonos vor Jahr und Tag mal in Aussicht gestellt hat, den Direktzugriff im LAN zu unterbinden. Seit dem bin ich immer sehr verhalten mit Sonos-SW-Updates.

    Viele Grüße,
    Pete37
    Hey Pete,

    meine App sagt:

    Version 14.12
    Sonos OS S2
    ==> es wird jedoch gerade noch ein aktuelleres Update angeboten

    Ich betreibe das über den Sonos2mqtt Docker Container und es läuft soweit. Bisher fehlt mir jedoch die Zeit die Sprachausgabe wieder in Betrieb zu setzen :-(

    VG
       Christian
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 25 August 2022, 11:37:16
    WARNUNG!

    Ich habe 5 Sonos Player im Netz. Alle schon einige Jahre alt.
    Leider habe ich den Fehler gemacht, den die S2 - App von Sonos auszuprobieren, die hat dann 2 der player aktualisiert, bei den anderen eine Fehlermeldung (Inkompatibiltät) gemeldet.
    Leider lässt sich das Update der 2 Player nicht mehr rückgängig machen.
    Auswirkungen:
    Die Player lasssen sich nicht mehr unter einander gruppieren, da sie jetzt inkompatiblel sind.
    Mit fehm laufen sie noch.

    2 der Player sind vom gleichen Typ und wurden im Abstand von einem halben Jahr gekauft. Der eine läuft nun nur noch mit der S2 - App, der andere mit der alten pp.

    Fazit: Nie mehr Sonos. Es gibt keinen Grund, diese technische Abgrenzung vor zu nehmen.
    Einfach nur schlechte Software.

    WARNUNG!!!!

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: ch.eick am 25 August 2022, 12:15:27
    Hallo nochmal,
    ich habe jetzt das Update 14.14 Build 69132100 auf allen Sonos drauf und die S2 App schon von beginn an auf dem Android Handy.
    Hardware Versionen

    1x 1.14.1.11-2.1
    2x 1.20.1.6-2.1
    3x 1.26.1.7-2.1
    1x 1.8.1.3-2.1
    1x 1.8.6.6-2.1

    Es läuft alles ohne erkennbare Probleme.
    Titel: Antw:Sonos steuern
    Beitrag von: Pete37 am 25 August 2022, 17:26:35
    Zitat von: Elektrolurch am 25 August 2022, 11:37:16
    2 der Player sind vom gleichen Typ und wurden im Abstand von einem halben Jahr gekauft. Der eine läuft nun nur noch mit der S2 - App, der andere mit der alten pp.

    Das klingt ja nicht so schön! Ich habe auf der Homepage von Sonos gelesen, man könne S2-konvertiere Player mit der S2-App "downgraden" um sie wieder mit dem S1-System kompatibel zu machen. Sie haben dann wohl das neue System, können aber trotzdem die Schnittstelle der alten bedienen (so verstehe ich das). Geht nur bei Playern, die grundsätzlich mit S1 spielen wollen, aber das trifft bei dir ja zu. Hast Du das mal probiert? (kann sein, dass die Funktion erst später - nach zahlreichen Beschwerden? - dazu gekommen ist?)

    Benutzt Du die S2-Player mit dem offiziellen Sonos-Modul von Fhem oder mit MQTT?
    Ich benutzt das Fhem-Modul und würde ungerne alles umbauen müssen...

    Viele Grüße,
    Pete37

    PS: Hier der Sonos-Support-Link zum Thema Downgrade: https://support.sonos.com/s/article/5097?language=de (https://support.sonos.com/s/article/5097?language=de)
    Titel: Antw:Sonos steuern
    Beitrag von: Elektrolurch am 26 August 2022, 11:32:33
    Zunächst einmal danke dafür, mir gleich den Link mitzuschicken, dann brauche ich nicht lange suchen....
    Werde ich mir ansehen.
    Vor ca. vier Monaten habe ich da in der S2 - App diesbezüglich noch keine Hinweise gesehen.
    Ich benutze Sonos über fhem. In mtq müsste ich mich erst einarbeiten und eine "gut abgehangene Lösung" umstellen.
    (Never change a running system) :-)

    Was mich bei Sonos auch ärgert, sind die Datenschutzbestimmungen. Den muss man zustimmen, sonst geht nichts mehr.

    Und wenn man über die Sonos - App einen Internet - Sender abspielen will, geht der Link mit ganz vielen Parametern und persönlichen Daten zuerst an Sonos, von dort aus an TuneIn, (die tracken auch noch mal kräftig mit, wegen der einzuspielenden, personalisierten Werbung) und erst dann auf die Adresse des eigentlichen Senders.

    Mit ein wenig Programmierung kann man dann zwar ja auch die Url des Senders direkt (ohne Sonos und TuneIn) zum Schutze seiner persönlichen Daten aufrufen... aber wer macht sich schon die Arbeit.
    Ich habe das Produkt voll bezahlt und soll jetzt noch einmal zur Kasse mit meinen persönlichen Daten gebeten werden. Finde ich schon ein wenig eine Wegelager-Mentalität.

    Elektrolurch
    Titel: Antw:Sonos steuern
    Beitrag von: LHBL2003 am 27 November 2022, 20:08:46
    Ein Sonos ONE fehlt trotz Rescan Netzwerk:

    Nachtrag: Lösung siehe Antwort Antwort #3567: https://forum.fhem.de/index.php/topic,10033.msg1249607.html#msg1249607

    Hi,

    trotz Rescan Netzwerk fehlt mir ein Sonos ONE.
    Hat jemand eine idee woaran dies liegen kann?
    In der Sonos App sehe ich diesen Teilnehmer.

    Vielen Dank für Tips.

    Gruß
    Titel: Antw:Sonos steuern
    Beitrag von: RappaSan am 28 November 2022, 09:07:14
    Sind denn auch alle Sonos one im Router zu sehen?
    Die Sonos können auch unter bestimmten Bedingungen ein eigenes Netzwerk (SonosNet) aufbauen.
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 28 November 2022, 11:12:06
    Zitat von: LHBL2003 am 27 November 2022, 20:08:46
    Ein Sonos ONE fehlt trotz Rescan Netzwerk:

    Hi,

    trotz Rescan Netzwerk fehlt mir ein Sonos ONE.
    Hat jemand eine idee woaran dies liegen kann?
    In der Sonos App sehe ich diesen Teilnehmer.

    Vielen Dank für Tips.

    Gruß

    Hallo,
    Einfach mal das globale Sonos-Device deaktivieren und wieder aktivieren.
    Alle Boxen, die die in der Sonos-App siehst, können auch über FHEM gesteuert werden. Dies ist unabhängig davon, wie die Boxen verbunden sind (WLAN oder SONOS-NET).
    Viele Grüße
    Jürgen
    Titel: Antw:Sonos steuern
    Beitrag von: LHBL2003 am 04 Dezember 2022, 21:47:30
    Also ich sehe den Sonos Lautsprecher in der Fritzbox sowie in der Sonos APP, auch kann ich diesen darüber steuern.
    In FHEM sehe ich ihn weiterhin nicht, auch nicht nach einem Neustart und anschließenden RescanNetwork.

    @juemuc was meinst du mit "globale" Sonos-Device?

    Gruß
    Titel: Antw:Sonos steuern
    Beitrag von: juemuc am 05 Dezember 2022, 11:27:30
    Hallo LHBL2003,

    mit dem "globalen" Sonos-Device meine ich das Device, welches Du (hoffentlich) mit "define Device-Name SONOS" definiert hast. Ansonsten kann ich diese Seite https://wiki.fhem.de/wiki/SONOS (https://wiki.fhem.de/wiki/SONOS) empfehlen.

    Viele Grüße
    Jürgen

    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 05 Dezember 2022, 13:25:08
    siehe dazu auch hier https://forum.fhem.de/index.php/topic,10033.msg1027600/topicseen.html#msg1027600
    Titel: Antw:Sonos steuern
    Beitrag von: LHBL2003 am 05 Dezember 2022, 20:57:48
    Danke @juemuc und @juemuc

    ein löschen vom Sonos Type SONOS und Neuanlagen mit define Sonos SONOS hat geholfen.

    Vielen Dank
    Titel: Antw:Sonos steuern
    Beitrag von: aski71 am 22 Dezember 2022, 09:20:44
    Hallo Leute,

    ich habe nach wie vor das Problem, dass der Sonos Prozess offensichtlich immer wieder die Verbindung zu den Lautsprechern verliert.
    Allerdings geht weder ein Speaker auf disappeared noch gibt es sonstige Anzeichen. Das SONOS Device steht auf "opened", aber man kann trotzdem den ein oder anderen Speaker nicht ansteuern, bzw. es kommen auch keine Infos zurück (z.B. zum aktuell laufenden "Programm" oder Play-Zustand).
    Das einzige was dann hilft: attr Sonos disable 1 und wieder löschen.

    Wer kann helfen, das zu lösen?

    Danke und schöne Feiertage
    Alex
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 22 Dezember 2022, 13:21:45
    Hallo ALex,

    eventuell das hier: https://forum.fhem.de/index.php/topic,103205.msg1251896.html#msg1251896

    Schöne Feiertage
    Otto
    Titel: Antw:Sonos steuern
    Beitrag von: aski71 am 27 Dezember 2022, 15:24:51
    Zitat von: Otto123 am 22 Dezember 2022, 13:21:45
    Hallo ALex,

    eventuell das hier: https://forum.fhem.de/index.php/topic,103205.msg1251896.html#msg1251896

    Schöne Feiertage
    Otto

    Danke, Otto.

    Aufschlussreich, aber leider nur die halbe Miete:
    ZitatBesser ist natürlich der Aufruf aus einer, wie auch immer gearteten Übewachung! ;)

    Genau das fehlt mir: Wie erkenne ich automatisch, dass der Prozess hängt, wenn er nicht auf "disabled" springt.

    Noch jemand sachdienliche Hinweise?  :)
    Titel: Antw:Sonos steuern
    Beitrag von: Otto123 am 28 Dezember 2022, 00:19:03
    Ein Patentrezept den blöden Zustand zu erkennen hab ich nicht. Ich hatte früher sowas:
    defmod di_SonosCheck DOIF ([05:00] and [?Sonos] ne "opened" )(attr Sonos disable 1)(attr Sonos disable 0)
    attr di_SonosCheck disable 1
    attr di_SonosCheck do always
    attr di_SonosCheck room Bad,Status
    attr di_SonosCheck wait 0,10

    Wenn es ganz sehr nervig ist kannst Du auf MQTT umsteigen. https://wiki.fhem.de/wiki/Sonos2mqtt
    Titel: Aw: Sonos steuern
    Beitrag von: Fusssel am 05 Juni 2023, 12:33:35
    Ich habe nun auch das Sonos Modul eingerichtet und bin begeistert, dass die Grundfunktionalität schon spontan funktioniern.
    Jetzt möchte ich gerne noch wenn die Haustüre Klingelt über ein notify den Klingelton über die Sonos abspielen.
    Leider bekomme ich es einfach nicht hin aus dem notify im Perl-Modus den Befehl richtig abzusenden.
    Ich kann bereits wenn die Musik läuft über die Fhem Kommandozeile mit dem Befehl
    set Sonos_Buero PlayURITemp \\192.168.172.67\SonosSpeak\mp3\bell_service.mp3 20den Klingelton abspielen.
    Im notify müsste es ja dann so aussehen: fhem("set Sonos_Buero PlayURITemp \\192.168.172.67\SonosSpeak\mp3\bell_service.mp3 20");es funktioniert aber nicht. Vielmehr stürzt das Modul häufig ab. Ich sehe das Problem bei den "\\" im Pfad. Denke ich müsste diese irgendwie maskieren, weiß aber noch nicht wie.
    Auch in der Kommandozeile mit {fhem("set Sonos_Buero PlayURITemp \\192.168.172.67\SonosSpeak\mp3\bell_service.mp3 20")}verändert nur die Lautstärke, spielt aber die mp3 nicht ab.

    Danke schon einmal für jede Idee
    Gruß Martin
    Titel: Aw: Sonos steuern
    Beitrag von: Fusssel am 05 Juni 2023, 13:12:01
    na habe es jetzt gefunden. Entgegen der Dokumentation im Wiki dürfen es keine Backslashes sein. Somit funktioniert nun:fhem("set Sonos_Buero PlayURITemp //192.168.172.67/SonosSpeak/mp3/bell_service.mp3 20") ;D
    Titel: Aw: Sonos steuern
    Beitrag von: andre07 am 01 Oktober 2023, 18:23:42
    Hallo
    Bei mir geht seit einiger Zeit die Sprachausgabe nicht mehr
    Speak0: MP3-Creation ERROR during downloading: 500 Can't connect to translate.google.com:80 (Connection refused) Hab jetzt nichts verändert das System läuft seit langem ohne das ich was verändert habe außer regelmäßige Updates.
    Titel: Aw: Sonos steuern
    Beitrag von: Jamo am 01 Oktober 2023, 18:57:44
    Das steht doch da:
    ZitatCan't connect to translate.google.com:80 (Connection refused)

    Wo benutzt Du translate.google.com in Sonos? Hast Du mal versucht, translate.google.com:80 direkt im Browser einzugeben?

    Soweit ich sehe, verlangt translate.google.com https, Du hast aber einen http aufruf mit port 80.
    Titel: Aw: Sonos steuern
    Beitrag von: andre07 am 06 Oktober 2023, 12:12:41
    Hallo
    Konnte den fehler weiter eingrenzen pi hole war schuld und hat die Seite geblockt auf Whitelist gesetzt
    und es kommt erst mal kein Fehler mehr allerdings höre ich nichts.
    Es wird im freigegebenen Ordner allerdings eine mp1 erzeugt was wohl der Grund ist das sie nicht abspielbar ist.#Warum
    ging vorher
    Andre
    Titel: Aw: Sonos steuern
    Beitrag von: andre07 am 13 Oktober 2023, 16:14:33
    Schuld was upgrade auf S2 ein Downgrade auf S1 behob das Problem