Sonos steuern

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

Vorheriges Thema - Nächstes Thema

justme1968

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
hue, tradfri, alexa-fhem, homebridge-fhem, LightScene, readingsGroup, ...

https://github.com/sponsors/justme-1968

CoolTux

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?
Du musst nicht wissen wie es geht! Du musst nur wissen wo es steht, wie es geht.
Support me to buy new test hardware for development: https://www.paypal.com/paypalme/MOldenburg
My FHEM Git: https://git.cooltux.net/FHEM/
Das TuxNet Wiki:
https://www.cooltux.net

Reinerlein

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

stenny73

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
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

Reinerlein

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

stenny73

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
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

aherby

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
FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.

Reinerlein

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

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

stenny73

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
FHEM auf XEN, Ubuntu-Server 14.04   - HM-Lan - Max - ZWave -WS1080 -BlueTooth

FHEM auf Ubuntu-Server 14.04   - HM-LAN

FHEM auf Raspberry Pi   - CSM für Max - HM-USB - WiFi-LED

Reinerlein

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

aherby

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?
FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.

Nobby1805

Es reicht auch, einen Netzwerkmonitor direkt auf dem PC zu installieren ...
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)

aherby

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.
FHEM 6.0 auf Raspberry Pi 4b 4GB, RaspberryMatic auf Raspi3b mit Charly-Funkmodul, ZigeeBridge mt deCONZ... . Homematic mittels HMCCU, Sonos 3xS1, 1xS6 (Play5 in der 2te Generation), 1xS9 (Soundbar), 1x SonosSub
1-Wire® to I2C host interface with ESD mit DS18B/S20.

Reinerlein

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

ujaudio

#1829
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
...
Einen lieben Gruß
Jürgen