Sonos Steuerung über Homematic und alle Einzelschritte

Problemlösungen und Hinweise von allgemeinem Interesse zur Haussteuerung mit HomeMatic

Moderator: Co-Administratoren

Benutzeravatar
hanan
Beiträge: 222
Registriert: 15.12.2012, 16:00
Danksagung erhalten: 1 Mal

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von hanan » 05.01.2013, 12:26

Hallo zusammen
Wollte mal mit Wireshark die Befehle suchen, da ich die Stream-Adresse von Antenne Bayern Black Beatz suche. Leider ist dieses Werkzeug so mächtig.
Hat mir hier jemand einen Tipp?

Im weiteren wollte ich den Befehl für eine Gruppe suchen, aber eben, das Tool ist so mächtig...



Gruess uss dr Schwiiz
Liebe Grüsse aus der Schweiz
Andy
_________________________________________________________________________________________________
Raspberrymatic auf NUC unter Proxmox mit RPI-RF-MOD Funkmodul und Antenne Aurel GP868, ca. 19x BidCos-RF und ca. 46x HmIP-RF, ioBroker auf NUC unter Proxmox, 4x Wiffi 3.0, Pulsecounter, Weatherman-Edition

looxer01
Beiträge: 442
Registriert: 06.05.2012, 13:17

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von looxer01 » 05.01.2013, 14:46

Hi,
für die Radiostreams ist es nicht so schwierig.
step by step.
- suche dir zunächst die IP-Adresse des Players mit dem du testest raus (Sonos desktop, hilfe, über mein Sonos Sysem)
- auf dem PC auf dem du wireshark laufen läßt rufe den Sonos Desktop auf.
- navigiere bis zur Radiostation, die du hören möchtest (also Radio / radiofavoriten)
- jetzt wähle in Wireshark den Punkt Interface list und kreuze die IP an, die deinem PC zugeordnet ist
- wähle start
- jetzt möglichst ohne Verzug auf den Sonos desktop wechseln und die Radiostation starten
- zurück auf wireshark wechseln und den trace stoppen (4. Icon von links)
- jetzt kannst du dir alle strings ansehen die mit der Source (IP) deines Sonos players angezeigt werden
- du kannst auch suchen, da häufig kurzformen des Radiosenders im Stream enthalten sind (z.B. BAY)
Suchen geht mit CTRL-F, dann String anklicken und dann noch Packet Bytes

mit dieser Starthilfe solltest du mal erste Anlaysen starten.

zu den Gruppen habe ich eine Frage:
Willst die PHP Befehle für Gruppenbildung erweitern ?

vG Ralf

P.S.
hier noch zwei Beispielstrings:
swr.ic.llnwd.net/stream/swr_mp3_m_swr3a = SWR3
1live.akacast.akamaistream.net/7/706/119434/v1/gnl.akacast.akamaistream.net/1live = 1Live

Benutzeravatar
hanan
Beiträge: 222
Registriert: 15.12.2012, 16:00
Danksagung erhalten: 1 Mal

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von hanan » 05.01.2013, 17:12

Hallo, besten Dank für die Erklärung...
Also, ich habe jetzt folgendes gefunden:
0260 3a 74 69 74 6c 65 26 61 6d 70 3b 67 74 3b 41 4e :title&a mp;gt;AN
0270 54 45 4e 4e 45 20 42 41 59 45 52 4e 20 43 6c 61 TENNE BA YERN Cla
0280 73 73 69 63 20 52 6f 63 6b 20 4c 69 76 65 26 61 ssic Roc k Live&a
0290 6d 70 3b 6c 74 3b 2f 64 63 3a 74 69 74 6c 65 26 mp;lt;/d c:title&
02a0 61 6d 70 3b 67 74 3b 26 61 6d 70 3b 6c 74 3b 75 amp;gt;& amp;lt;u
02b0 70 6e 70 3a 63 6c 61 73 73 26 61 6d 70 3b 67 74 pnp:clas s&gt
02c0 3b 6f 62 6a 65 63 74 2e 69 74 65 6d 2e 61 75 64 ;object. item.aud
02d0 69 6f 49 74 65 6d 2e 61 75 64 69 6f 42 72 6f 61 ioItem.a udioBroa
02e0 64 63 61 73 74 26 61 6d 70 3b 6c 74 3b 2f 75 70 dcast&am p;lt;/up
02f0 6e 70 3a 63 6c 61 73 73 26 61 6d 70 3b 67 74 3b np:class >
0300 26 61 6d 70 3b 6c 74 3b 64 65 73 63 20 69 64 3d < desc id=
0310 26 61 6d 70 3b 71 75 6f 74 3b 63 64 75 64 6e 26 &quo t;cdudn&
0320 61 6d 70 3b 71 75 6f 74 3b 20 6e 61 6d 65 53 70 amp;quot ; nameSp
0330 61 63 65 3d 26 61 6d 70 3b 71 75 6f 74 3b 75 72 ace=&amp ;quot;ur
0340 6e 3a 73 63 68 65 6d 61 73 2d 72 69 6e 63 6f 6e n:schema s-rincon
0350 6e 65 74 77 6f 72 6b 73 2d 63 6f 6d 3a 6d 65 74 networks -com:met
0360 61 64 61 74 61 2d 31 2d 30 2f 26 61 6d 70 3b 71 adata-1- 0/&q
0370 75 6f 74 3b 26 61 6d 70 3b 67 74 3b 53 41 5f 52 uot;&amp ;gt;SA_R
0380 49 4e 43 4f 4e 36 35 30 33 31 5f 26 61 6d 70 3b INCON650 31_&
0390 6c 74 3b 2f 64 65 73 63 26 61 6d 70 3b 67 74 3b lt;/desc >
03a0 26 61 6d 70 3b 6c 74 3b 2f 69 74 65 6d 26 61 6d < /item&am
03b0 70 3b 67 74 3b 26 61 6d 70 3b 6c 74 3b 2f 44 49 p;gt;&am p;lt;/DI
03c0 44 4c 2d 4c 69 74 65 26 61 6d 70 3b 67 74 3b 26 DL-Lite& amp;gt;&
03d0 71 75 6f 74 3b 2f 26 67 74 3b 26 6c 74 3b 2f 49 quot;/&g t;</I
03e0 6e 73 74 61 6e 63 65 49 44 26 67 74 3b 26 6c 74 nstanceI D>&lt
03f0 3b 2f 45 76 65 6e 74 26 67 74 3b 3c 2f 4c 61 73 ;/Event& gt;</Las
0400 74 43 68 61 6e 67 65 3e 3c 2f 65 3a 70 72 6f 70 tChange> </e:prop
0410 65 72 74 79 3e 3c 2f 65 3a 70 72 6f 70 65 72 74 erty></e :propert
0420 79 73 65 74 3e yset>

Ich verstehe nur Bahnhof!?!


Wegen den Gruppen, ich habe den Fernseher am Sonos. Am Morgen lasse ich mich wecken mit Sonos und isch möchte da aber eine Gruppe bilden. Also muss ich via php diese Gruppe in der Nacht durch die CCU erstellen lassen.


Gruess
Liebe Grüsse aus der Schweiz
Andy
_________________________________________________________________________________________________
Raspberrymatic auf NUC unter Proxmox mit RPI-RF-MOD Funkmodul und Antenne Aurel GP868, ca. 19x BidCos-RF und ca. 46x HmIP-RF, ioBroker auf NUC unter Proxmox, 4x Wiffi 3.0, Pulsecounter, Weatherman-Edition

looxer01
Beiträge: 442
Registriert: 06.05.2012, 13:17

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von looxer01 » 05.01.2013, 22:39

Hi,
ja richtig, Bettlektüre ist das nicht :D
hab mal selbst nachgesehen.
Der Stream heißt: channels.webradio.antenne.de%3a80%2fblack-beatz
das script sollte dann so aussehen:
string stdout;
string stderr;
system.Exec("wget http://192.168.0.63:90/sonosWZS3.php?cmd=SetRadio&radio=channels.webradio.antenne.de%3a80%2fblack-beatz -O /var/tmp/httpRequest",&stdout,&stderr);
system.Exec("wget http://192.168.0.63:90/sonosWZS3.php?cmd=Play -O /var/tmp/httpRequest",&stdout,&stderr);
wobei die IP Adressen mit deiner Homematic adresse ausgetauscht und natürlich auch der PHP-Script name ausgetauscht werden muß.

vG Ralf

Benutzeravatar
hanan
Beiträge: 222
Registriert: 15.12.2012, 16:00
Danksagung erhalten: 1 Mal

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von hanan » 06.01.2013, 01:13

Hallo looxer01
Besten Dank der Stream hat super gepasst. :D :D :D

Jetzt möchte ich aber wissen wie Du das aus dem ganzen Gewirre herausgefiltert hast...


Gruess und e scheene Sunndyg
Liebe Grüsse aus der Schweiz
Andy
_________________________________________________________________________________________________
Raspberrymatic auf NUC unter Proxmox mit RPI-RF-MOD Funkmodul und Antenne Aurel GP868, ca. 19x BidCos-RF und ca. 46x HmIP-RF, ioBroker auf NUC unter Proxmox, 4x Wiffi 3.0, Pulsecounter, Weatherman-Edition

looxer01
Beiträge: 442
Registriert: 06.05.2012, 13:17

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von looxer01 » 06.01.2013, 13:22

Hi,
wenn du ein paar Regeln beachtest ist es nicht schwer.
- das Tracing sollte immer so kurz wie möglich gehalten werden, da sämtlicher Netzwerkverkehr getraced wird. Das bedeutet: je länger der Trace dauert desto unübersichtlich wird es.
- Sonos Desktop schickt immer einen Search voran in diesem Fall: searc h%3astation:antenne bayern"restricted="true"><dc:title>ANTENNE BAYERN Black Beatz<
Richtung ist hier (IP-Adresse) Sonos Desktop --> Sonos Endgerät - also suchen nach searc
- das heißt kurz nach dem search%3astation.... solltest du den gefundenen Sender vom Sonus Gerät zurückbekommen.
Richtung ist hier (IP-Adresse) Sonus Endgerät --> Sonus Desktop
- Da du ja jetzt weißt welchen Namen du im WebStream erwarten kannst, nämlich z.B. Black Beatz, kannst du den nächsten String schon erahnen

P.S.
Ich habe es jetzt nochmal versucht anhand von WDR2. Wie oben beschrieben klappte es innerhalb von 5 Minuten.
Allerdings muß man etwas mit copy and paste aufpassen. Hier schleichen sich ungewollte spaces ein. Die müssen natürlich
alle entfernt werden.

scheene Sunndyg ? funkst du aus der Schweiz ?

Benutzeravatar
hanan
Beiträge: 222
Registriert: 15.12.2012, 16:00
Danksagung erhalten: 1 Mal

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von hanan » 12.01.2013, 10:40

Besten Dank für die Kurzfassung, werde es nächstes Wochenende mal ausprobieren...
Jep, ich funke aus der Schweiz. :D


Gruess
Liebe Grüsse aus der Schweiz
Andy
_________________________________________________________________________________________________
Raspberrymatic auf NUC unter Proxmox mit RPI-RF-MOD Funkmodul und Antenne Aurel GP868, ca. 19x BidCos-RF und ca. 46x HmIP-RF, ioBroker auf NUC unter Proxmox, 4x Wiffi 3.0, Pulsecounter, Weatherman-Edition

Pezi737
Beiträge: 43
Registriert: 03.08.2012, 17:44
Wohnort: Frankfurt

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von Pezi737 » 15.01.2013, 14:01

Grüß euch!

Irgendwie will das Ganze nicht so wie ich will... Ich finde leider den Fehler nicht..
Mein PHP Server läuft auf der CCU -> :90 Abfrage sagt CCU Server is running
Nur mein Sonos will einfach nicht reagieren...

Leerer Error Log:

Code: Alles auswählen

2013-01-15 08:43:24: (log.c.75) server started 
Die Access.log sagt folgendes:

Code: Alles auswählen

192.168.1.2 192.168.1.2 - [15/Jan/2013:13:54:01 +0100] "GET /sonos.php?cmd=Pause HTTP/1.1" 200 823 "-" "Wget"
Nur die httpRequest sagt was von einem "Bad Request":

Code: Alles auswählen

POST /MediaRenderer/AVTransport/Control HTTP/1.1

CONNECTION: close

HOST: 192.168.1.119:1400

CONTENT-LENGTH: 252

CONTENT-TYPE: text/xml; charset="utf-8"

SOAPACTION: "urn:schemas-upnp-org:service:AVTransport:1#Pause"



<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><u:Pause xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID></u:Pause></s:Body></s:Envelope><br><br>HTTP/1.1 400 Bad Request
Content-type: text/html
Connection: close

<HTML><HEAD><TITLE>Error 400</TITLE></HEAD><BODY><H1>Error 400</H1><P>Bad Request</P></BODY></HTML>
Ich habe keine Ahnung wo ich da noch suchen kann... Weiß bitte jemand von euch Rat??

Lieben Dank,
Peter

Pezi737
Beiträge: 43
Registriert: 03.08.2012, 17:44
Wohnort: Frankfurt

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von Pezi737 » 15.01.2013, 15:56

Auch über den PHP Server meines QNAP NAS bekomme ich diesen "Bad Request".

Aber der Befehl kann doch nicht falsch sein, oder? Liegt es daran dass ich mein Sonos hinter einer Sonos Bridge betreibe??

Ich finde partout keinen Fehler... :shock:

looxer01
Beiträge: 442
Registriert: 06.05.2012, 13:17

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von looxer01 » 15.01.2013, 20:38

Hi,

also ich habe mal meine HTTP Request sieht so nach einem erfolgreich versendeten Befehl aus:
POST /MediaRenderer/AVTransport/Control HTTP/1.1
CONNECTION: close
HOST: 192.168.0.41:1400
CONTENT-LENGTH: 26
CONTENT-TYPE: text/xml; charset="utf-8"
SOAPACTION: "urn:schemas-upnp-org:service:AVTransport:1#Play"
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encodin ... dy><u:Play xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"><InstanceID>0</InstanceID><Speed>1</Speed></u:Play></s:Body></s:Envelope><br><br>HTTP/1.1 200 OK
CONTENT-LENGTH: 240
CONTENT-TYPE: text/xml; charset="utf-8"
EXT:
SERVER: Linux UPnP/1.0 Sonos/19.4-60120 (ZP120)
Connection: close
<s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encodin ... ayResponse xmlns:u="urn:schemas-upnp-org:service:AVTransport:1"></u:PlayResponse></s:Body></s:Envelope>


Ich bekomme also ein HTTP Feedback 200 = ok
Das bedeutet, daß dein Befehl eben nicht durchgegangen ist.

Ich habe zwar keine bridge installiert aber ich kann mir nicht vorstellen, daß es daran liegt. Hast du wirklich alles so gemacht wie oben beschrieben ? Auch deine PHP Datei angepaßt ? und die IPs sitzen alle richtig - auch die deiner Homematic (also im Script)

Welchen Router hast du ? (ich habe eine Fritzbox und brauchte keine Einstellung vornehmen)
Ping auch mal dein Sonos Gerät an.

Antworten

Zurück zu „HomeMatic Tipps & Tricks - keine Fragen!“