Sonos steuern

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

Vorheriges Thema - Nächstes Thema

Otto123

Moin,

so ist es: der _RF Player taucht nicht auf.
Ich habe das noch nie interaktiv gemacht ;) ich verwende das nur programmtechnisch.

Gruß Otto
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

jemu75

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

Elektrolurch

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
configDB und Windows befreite Zone!

Otto123

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?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Ralli

#3484
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?
Gruß,
Ralli

Proxmox 8.2 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.3 dev, virtualisierte RaspberryMatic (3.75.7.20240420) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.1.5) und HMW-GW, FRITZBOX 7490 (07.57), FBDECT, Siri und Alexa

Elektrolurch

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
configDB und Windows befreite Zone!

Otto123

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
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Elektrolurch

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
configDB und Windows befreite Zone!

Otto123

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?
Viele Grüße aus Leipzig  ⇉  nächster Stammtisch an der Lindennaundorfer Mühle
RaspberryPi B B+ B2 B3 B3+ ZeroW,HMLAN,HMUART,Homematic,Fritz!Box 7590,WRT3200ACS-OpenWrt,Sonos,VU+,Arduino nano,ESP8266,MQTT,Zigbee,deconz

Elektrolurch

#3489
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
configDB und Windows befreite Zone!

ottowalkes

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

Laffer72

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

Raspberry Pi Rev.B, FB7390 (FHEM2FHEM), Sonos, Smarter Coffee
Osram Lightify:2m LED-Streifen, 5m-LED-Streifen, Gartenspot, Surface 28W, Classic E14,E27, Classic RGBW E27, PAR16 GU10, Plug
CUL868:FS20-ST, FS20-DI, FS20-FMS, FS20-ES1
HMUSB:HM-Sec-RHS,HM-Sec-MDIR2
Jeelink868:TX-29-IT, TFA30.315

Pete37

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
Fhem auf Raspberry Pi3 mit Fritzbox inkl. Steckdosen, Philips Hue inkl. Orsam Lightify-Lampen, eq-3 Max!, SONOS, Rollotron Rolläden, Asus ZenPad, Samsung Galaxy xCover 3

hydrotec

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

ottowalkes

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