Sonos steuern

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

Vorheriges Thema - Nächstes Thema

juemuc

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
3x Sonos Play 1, 1x Sonos Arc + Sub, 1 Sonos-One, 1x Sonos Playbar
FB6690 + FB7490 mit 4x Dect 200 und 3 Dect-ULE-Thermostate,  raspberry3B+, HM Funkmodul HM-MOD-RPI-PCB, HM Klingelsensor HM-Sen-DB-PCB, HM (IP) Fensterkontakte und  Amazon Echo Dot,  piVCCU, pi OS (bookworm).

Loredo

Werde ich mal ausprobieren.
Der UPnP Prozess läuft bei mir in einem separaten Docker Container, offenbar machen längere Timeouts da trotzdem Sinn.
Hat meine Arbeit dir geholfen? ⟹ https://paypal.me/pools/c/8gDLrIWrG9

Maintainer:
FHEM-Docker Image, https://github.com/fhem, Astro(Co-Maintainer), ENIGMA2, GEOFANCY, GUEST, HP1000, Installer, LaMetric2, MSG, msgConfig, npmjs, PET, PHTV, Pushover, RESIDENTS, ROOMMATE, search, THINKINGCLEANER

der-Lolo

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

dev0

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 ;-)

der-Lolo

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...


dev0

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?

der-Lolo

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!

Nobby1805

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?
FHEM-Featurelevel: 6.2   (fhem.pl:28227/2023-11-29) auf Windows 10 Pro mit Strawberry Perl 5.32.1.1-32bit
TabletUI: 2.7.15
IO: 2xHMLAN(0.965)|HMUSB2(0.967)

dev0

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...

JudgeDredd

#3249
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.

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

Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

florian2833

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

Reinerlein

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

JudgeDredd

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 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
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)

JoWiemann

Zitat von: JudgeDredd am 31 Dezember 2018, 11:59:25

Ich habe mir nun die 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
Jörg Wiemann

Slave: RPi B+ mit 512 MB, COC (868 MHz), CUL V3 (433.92MHz SlowRF); FHEMduino, Aktuelles FHEM

Master: CubieTruck; Debian; Aktuelles FHEM

JudgeDredd

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
Router: Eigenbau (pfSense)
FHEM: Hyper-V | Debian 12 (VM)