Sonos Steuerung über Homematic und alle Einzelschritte

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

Moderator: Co-Administratoren

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

Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von looxer01 » 21.10.2012, 13:05

Hallo,

ausgehend von einem anderen Thread habe ich vor einiger Zeit angefangen die CCU auch zu nutzen, um meine Sonos Geräte zu steuern.
hier der Link zum Originalbeitrag:
http://homematic-forum.de/forum/viewtopic.php?f=26&t=4693

Da die Installation aus vielen Schritten besteht und die Informationen überall zwar da sind aber nur verstreut zu finden sind,
dachte ich mir, dass ich mal eine Anleitung hierzu verfasse. Bestimmt nicht perfekt aber hoffentlich hilfreich für den einen oder anderen Einsteiger.

Dabei ist Sonos eigentlich nur ein gutes Beispiel. Die einzelnen Schritte sind natürlich auch losgelöst von meiner Aufgabenstellung
anwendbar. z.B. PHPPro, USB Stick, Telnet etc.

Auch die Vorgehensweise PHP Strings an Endgeräte zu senden ist nicht nur auf Sonos beschränkt.

Nun zu meiner persönlichen Anwendung:
ich nutze ausschliesslich die CCU und nicht IP-Symcon etc. Wer das nutzt findet in den entsprechenden Foren enstprechende Anleitungen
Zur Steuerung habe ich übrigens noch "pocket control HM" auf einem Iphone im Einsatz. Über VPN läßt sich die Homematic dann auch von
aussen steuern. Insgesamt habe ich ca. 40 Aktoren/Sensoren im Einsatz.

für die Sonos Steuerung habe ich einen Wand-Display Taster im Bad installiert.
Belegt habe ich ihn mit Radio Favoriten. Bei langem Tastendruck wird die Lautstärke angepaßt.
Ausschalten geht natürlich auch. Der Taster ist dafür ideal.

Darüberhinaus schalte ich den Multimedia PC und Fernseher mit einer schaltbaren Steckdose an.
als Lautsprecher habe ich einen Sonus S5 installiert. Der bekommt das Signal über dessen Input.
Ich schalte also über ein Script die Steckdose ein, Fernseher schaltet sich ein und das Sonus Gerät ebenfalls,
wobei als Quelle "Input" gewählt wird.
Beim Ausführen "TV ausschalten" fährt der PC runter, die Steckdose schaltet sich nah 30 sek aus und das Sonos-Gerät sofort.
Ein- und ausgeschaltet wird mit einer HM Fernbedienung.

und noch etwas. Ich habe eine Uptime von > 180 Tagen. Keine Abstürze, alles ist stabil.
Es ist ja in den Forenbeiträgen viel von instabilen CCU die Rede. Ich glaube in vielen Fällen hängt das mit dem Historian zusammen, den ich nicht installiert habe.
Häufig wird es mit dem systemExec befehl in Verbindung gebracht. Das kann ich für meinen Fall nicht bestätigen.




und hier die Einzelschritte der Installation:


Telnet aktivieren in Win7 (siehe auch google)
Klicken auf "Start" und danach auf "Systemsteuerung".
Klicken im Systemsteuerungsfenster auf "Programme" und dann auf "Windows-Funktionen aktivieren oder deaktivieren ".
Scrollen dann zu dem Punkt "Telnet-Client" und aktivieren. Anschließend klicken auf "OK".

jetzt muß telnet noch auf der Homematic gestartet werden. Ein kleines Script tut das dann auch:
string stdout;
string stderr;
system.Exec("/usr/sbin/inetd",&stdout,&stderr);

Telnet Aufruf auf Windows Komandozeilenebene: also auf Start clicken und dann bei "programme/dateien durchsuchen" CMD eingeben
Eingabe: telnet 192.168.0.63
dann erscheint: homematic login:
dann "root" eingeben (und enter)


hier ein paar wichtige Telnet Befehle:
ls - listet das augenblickliche Verzeichnis
ps - listet alle aktiven Prozesse
cd - change directory : so kann man durch die directory struktur wandern
cd .. - eine ebene in der Struktur höher
cp - copy eines Files
rm - löschen directory
chmod - dateiattribute ändern.
chmod 777 - danach file oder directory name eingeben: höchste lese schreibberechtigung für alle User Gruppen setzen
passwd - passwort setzen
eine ausführbare Datei wird gestartet durch path gefolgt von Dateiname. z.B. /var/datadisk/bin/myserver
etc...

FileZilla (siehe unten ) deckt aber fast alles ab. (ausser z.B. passwd, dateistart oder ps)
Du mußt also nicht sehr viel über Telnet machen. Hilfreich ist es manchmal zu sehen welche prozesse laufen.
Falls die Meldung über Telnet "permission denied" erscheint, dann sind vermutlich die Dateiattibute nicht richtig gesetzt.
Das kann dann über den Telnet befehl chmod oder über FileZilla (rechte Maustaste auf dem File" eingestellt werden.


FTP Server installierenn über "zusatzsoftware" der homematic
siehe installationsanweisung auf HomeMatic inside. Das ist relativ einfach.
Programm runterladen und über Homematic Systemsteuerung Zusatzsoftware installieren.

wichtig ist ein Passwort zu setzen. Das geht über Telnet befehl "passwd"
Jetzt muß du ein mindestens 5stelliges Passwort eingeben und das gleich nochmal wiederholen.
Telnet zeigt nichts an bei der Eingabe. Also einfach blind tippen


FileZilla downloaden und installieren
FileZilla ist open source, also freeware und ist sehr einfach zu bedienen.
Damit FileZilla sich connecten kann mußt du in der oberen Zeile die IP-Adresse der Homematic angeben
Dann den Benutzernamen: root
und das passwort, dass du eben vergeben hast.
und danach -wichtig- die Portnummer --> 21
Jetzt wird das Verzeichnis der Homematic angezeigt.
Damit auch alle Verzeichnisse und Dateien angezeigt werden empfehle ich noch folgende Einstellung in FileZilla vorzunehmen:
unter Server "auflistung versteckter Dateien erzwingen" aktivieren

USB-Stick installieren:
"Offiziell wird der USB-Port der HomeMatic-Zentrale vom Hersteller für keinerlei Anwendung benutzt.
Neben Community-Projekten wie der WLAN-Anbindung oder dem BlueID Access Zugang, kann dieser jedoch auch normale USB-Sticks
als Speichererweiterung einbinden, um diesen z.B. für Logging-Ausgaben oder dem PHP-Server zu nutzen. "

"Dieses Paket kann wie jedes andere Add-on über das WebUI installiert werden.
Dazu wechselt man in den Bereich "System-Konfiguration > Systemsteuerung > Zusatzsoftware", wählt das entsprechende Paket aus
und klickt auf "Installieren". Nach dem Neustart kann die USB-Disk unter folgenden Verzeichnis gefunden werden:"

So hatte ich das gemacht entsprechend der alten HomeMatic Inside Beschreibung: siehe oben.
ging auf Anhieb
Download gibt es hier:
http://www.homematic-inside.de/archive/software/addons/item/addons/usbstick.html

Die Installation ohne eingesteckten Stick vornehmen. Dann USB Stick einstecken und die CCU neu starten.
Das sollte dann gehen. Ich habe einen 4GB Stick. Eine Beschränkung auf 1GB gibt es also nicht mit DiskUtils wie es an einigen Stellen zu
lesen ist.

Achtung: bei mir ist der Stick unter /var/datadisk/ installiert. Das kann bei dir anders sein. Also muß alles was hier mit datadisk
dokumentiert wird entsprechend umbenannt werden.

mehr Informationen:
http://homematic-forum.de/forum/viewtopic.php?f=26&t=1455&start=8


PHP Pro installieren

muss entpackt werden aus dem root verzeichnis des usb sticks über filezilla phppro.tar auf /var/datadisk kopieren
cd /var/datadisk - tar -x -f phppro.tar.

Es müßte auch über FileZilla gehen. die Datei lässt sich einfach mit WINRAR in windows entpacken.
Dann kannst du die Verzeichnisse auf den USB stick (bei mir im Verzeichnis "datadisk" übertragen.
Das sind folgende verzeichnisse:
bin
etc
lib
www


In fileZilla ist der Transfer auf "automatisch" gestellt. gegebenfalls auf "binär" umstellen und danach zurück auf automatisch

download gibt es hier:
http://www.homematic-inside.de/archive/software/addons/item/addons/phpserverpro.html

Den Server kannst du dann über ein Script starten:

string stdout;
string stderr;
system.Exec("/var/datadisk/bin/myserver start",&stdout,&stderr);



PHP Sourcen:

nun folgt das Anpassen der PHP Sourcen.
die PHP sourcen liegen in meinem Beispiel auf /var/datadisk/www
So ist in den config dateien hinterlegt.
Anzupassen sind: IP-Adressen der Sonos Geräte in den PHP sourcen
ich habe für jedes SonosGerät eine phpSource hinterlegt.
ausserdem muss noch die PHPconfig datei angepasst werden, und zwar muß das USB verzeichnis eingetragen werden.
bei mir ware es /var/datadisk.
Die Datei liegt im USB stick verzeichnis in datei /var/datadisk/etc/lighttpd.conf
Die lighttpd.conf im Original geht von /var/disk aus. also einfach /var/disk z.B. mit /var/datadisk ersetzen falls notwendig.

dann
Scripte Schreiben.
hierzu braucht man ggf das tool wireshark z.B. um die Adressen anderer Radiosender herauszufinden.
download aus dem netz und installieren. Einfach starten
auf dem pc dann sonos desktop aufrufen
aufnahme in wireshark aktivieren
in Sonos die gewünsche aktion aufrufen (z.B. radio 1live starten)
sofort aufnahme in wireshark stoppen

jetzt kann man in wireshark verfolgen was an netzwerk traffic hin und her geht- natürlich in klartext

Ich habe ein PHP Program angehängt, das für meine Installation paßt.
IP Adresse etc muß noch geändert werden. Das Programm ist eine angepasste Version von ColdFireIce.

Im Script integrierte Befehle sind:
"Pause, Play, Next, Previous, Rewind (selbsterklärend)
SetVolume (benötigt noch den 'volume' parameter. setzt die Lautstärke auf den Wert 'volume')
SetPlayMode (benötigt noch den 'mode' parameter. gültige playmodes: "REPEAT_ALL", "SHUFFLE", "NORMAL")
SetMute (benötigt noch den 'mute' parameter. mute=1 -> Lautlos. mute=0 -> Normal)
SetRadio (benötigt noch den 'radio' parameter. Startet den Radio-Stream 'radio'. z.B. radio = "players.creacast.com/creacast/klassik/playlist.pls")
ClearQueue (Leert die Playliste)
AddToQueue (benötigt noch den 'file' parameter. Fügt die Datei file der Playliste hinzu. z.B. file = "192.168.1.20/mp3/playliste.m3u")
RemoveFromQueue, SetTrack (benötigt noch den 'track' parameter)
Info, Info2 (ließt aktuelle Infos aus)
InputPC (setze den Eingang auf den Cinch-Eingang)
InputQueue (setze den Eingang auf die Interne Queue)
LastFmPersonal (starte LastFM Bibliothek Stream)
LastFmRecommended (starte LastFM Empfehlungen Stream)
LastFmTag (benötigt noch den 'lfmTag' parameter. Starte einen LastFM Tag-Stream 'lfmTag' z.B. den Rock-Tag Stream)
LastFmArtist (benötigt noch den 'lfmArtist' parameter. Starte einen LastFM Artist-Stream 'lfmArtist' z.B. den Aeorosmith-Artist Stream)"


Hier ein paar Scripts um z.B. Radiosender einzustellen: (IP-Adressen sind natürlich anzupassen oder auch die PHP Filenamen"
1 Live einschalten
string stdout;
string stderr;
system.Exec("wget http://192.168.0.63:90/sonosBad.php?cmd=SetRadio&radio=1live.akacast.akamaistream.net/7/706/119434/v1/gnl.akacast.akamaistream.net/1live -O /var/tmp/httpRequest",&stdout,&stderr);
system.Exec("wget http://192.168.0.41:90/sonosBad.php?cmd=Play -O /var/tmp/httpRequest",&stdout,&stderr);

Sonos ausschalten:
string stdout;
string stderr;
system.Exec("wget http://192.168.0.63:90/sonosBad.php?cmd=Pause -O /var/tmp/httpRequest",&stdout,&stderr);

SWR3 einschalten
string stdout;
string stderr;
system.Exec("wget http//192.168.0.63:90/sonosBad.php?cmd=SetRadio&radio=swr.ic.llnwd.net/stream/swr_mp3_m_swr3a -O /var/tmp/httpRequest",&stdout,&stderr);
system.Exec("wget http://192.168.0.63:90/sonosBad.php?cmd=Play -O /var/tmp/httpRequest",&stdout,&stderr);


Lautstärke auf 45 stellen:
string stdout;
string stderr;
system.Exec("wget http://192.168.0.63:90/sonosBad.php?cmd=SetVolume&volume=45 -O /var/tmp/httpRequest",&stdout,&stderr);


Hier einige wichtige Dateien bzw. Verzeichnisse:

USB Stick Location: /var/datadisk
PHP sources location /var/datadisk/www
PHP KonfigFile: /var/datadisk/etc/lighttpd.conf : hier auch die Einstellung der PHP sourcen location (falls der USB stick woanders installiert ist)
Error Log File PHP: /var/log/lighttpd.error.log
Access log file php: /var/log/lighttpd.access.log
Homematic message log: /var/log/messages
PHP Pro files: /var/datadisk/bin
PHP Pro aktivierung: myserver start in /var/datadisk/bin. Bei direktem Telnet aufruf permission issue. funktioniert aber über ein HM script



OK - das waren die wichtigsten Schritte. Bestimmt ist die Anleitung nicht 100% vollständig.
Sie sollte aber die Installation der einzelnen Schritte beschleunigen. Bei mir hatte es ein paar Tage gedauert
um wirklich alles aus den einzelnen Beiträgen zusammenzustellen.

Also nun, viel Spass :)

Ralf
Dateianhänge
sonosBad .php.txt
.txt muss entfernt werden
(24.54 KiB) 954-mal heruntergeladen

Benutzeravatar
hanan
Beiträge: 196
Registriert: 15.12.2012, 16:00

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von hanan » 17.12.2012, 21:26

Hallo looxer01
Besten Dank für die Beschreibung, hat auch kurz gefunzt...

Nach einem Neustart der CCU waren die Daten auf dem USB-Stick weg und ich musste alles wieder rüber kopieren.
Leider funzt die geschichte jetzt nicht mehr.

Was mache ich falsch...
Liebe Grüsse aus der Schweiz
Andy
_________________________________________________________________________________________________
Raspberrymatic-CCU auf Asus TinkerBoard S mit RPI-RF-MOD Funkmodul und Antenne Aurel GP868, ca. 80x BidCos-RF und 2x HmIP-RF (als Test), CCU-Historian und ioBroker auf Synology, 3x Wiffi 3.0, Weatherman und Pulsecounter (als Testaufbau)

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

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von looxer01 » 22.12.2012, 18:08

Hi,
hmmm, bist du sicher, dass die Daten auf dem Stick weg sind ?
Ich vermute mal, dass die Einbindung des Sticks verloren ging.
Es scheint auch so, dass die Disk-Utils nicht mehr ab version 1507 funktionieren.
Ich habe es mit dem Script von Goglo getestet und dieses funktioniert auch mit der Firmware 1508
Du findest das Script hier:
http://homematic-forum.de/forum/viewtop ... ck+starten
Es gibt dort zur Zeit zwei Versionen 0.1 und Version 0.2. Lade die Version 0.2 unter und installiere die Datei
mount_usbfat.tar.gz über die Homematic Systemsteuerung Zusatzsoftware.
Die Homematic startet neu. Anschliessend sollte der Stick unter /var/datadisk sichtbar sein und auch sichtbar bleiben :D

Benutzeravatar
magic71
Beiträge: 249
Registriert: 31.07.2011, 09:09
Wohnort: Osnabrück

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von magic71 » 27.12.2012, 10:43

Hallo Ralf,

interessante Sache. Ich habe gerade auch mit Sonos angefangen und ein paar Komponeten im Einsatz.
Dazu hätte ich noch eine Frage. Die Teile holen sich ja vom DHCP Server die IP-Adresse. Kann man diese ändern, bzw. fest vergeben ?
Anderer Schritt wäre natürlich anhand der MAC-Adresse eine feste IP Adr. vom DHCP (bei mir Fritzbox!) geben zu lassen.

Gruß DIrk
@Home: RaspberryMatic 1591 Kanäle in 312 Geräten ASUS Tinkerboard S HM, HMW, HMIP, HMIPW
@Firma: RaspberryMatic 359 Kanäle in 83 Geräten RASPBERRY PI 3B HM, HMW, HMIP
@Eltern: 51 Kanäle in 11 Geräten CCU2 HM, HMW

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

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von looxer01 » 27.12.2012, 13:05

Hallo Dirk,
es stimmt, dass du immer eine feste IP-Adresse für die Sonos Komponenten benötigst, denn die stehen ja hart im PHP Script.
Da aber die Sonos Komponenten ständig über Kabel verbunden sind, glaube ich nicht, dass der DHCP Server neue Adressen vergibt.

Mit einer Fritzbox (ich habe eine 7390 und 7270) kannst du ohnehin auch bei eingeschaltetem Server jedes LAN/WLAN Gerät so konfigurieren, dass immer dieselbe Adresse vergeben wird. Dazu muß natürlich der DHCP Server nicht ausgeschaltet werden (wozu ich auch nicht raten würde)

Die Sonos Steuerung läuft recht problemlos. Das PHP Script ist sicher noch ausbaufähig. Dazu müßte sich aber jemand finden, der sich in PHP gut auskennt. Ich hatte mal probiert die Klassen aus IP-Symcon zu übertragen. Ich bin aber daran gescheitert, dass die PHP Version der CCU eine niedrigere Version hatte.

vG und viel Spaß
Ralf

flotom
Beiträge: 7
Registriert: 14.06.2011, 09:00

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von flotom » 27.12.2012, 14:23

Hallo,
ich bin schön langsam am Verzweifeln.
Meiner Meinung nach habe ich alles richtig eingestellt. Wie du es in deiner Beschreibung angegeben hast...
Folgende Meldung kommt im lighttpd.access.log

10.0.0.25 10.0.0.25 - [27/Dec/2012:13:48:58 +0100] "GET /sonos.php?cmd=Pause HTTP/1.1" 200 0 "-" "Wget"

Trotzdem tut sich am Sonos ZP3 gar nix...
Woran könnte es noch liegen ?
Bitte um Hilfe ...

Lg Thomas

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

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von looxer01 » 27.12.2012, 19:07

Hallo Thomas,
hier ein Auszug aus meinem Log:
[27/Dec/2012:11:09:43 +0100] "GET /sonosBad.php?cmd=Pause HTTP/1.1" 200 1046 "-" "Wget"
192.168.0.63 192.168.0.63
ich vermisse die IP-Adresse bei dir.

Daher überprüfe mal folgendes:
- ist die Adresse deiner Homematic statisch geblieben ß
das ist die Voraussetzung. Eigentlich sollte die sich ohnehin nicht ändern, das sie ja ständig am Netz hängt:
Überprüfe das trotzdem mal.

- ist der PHP-Server gestartet ?:
kannst du überprüfen auf Telnet Ebene: Befehl: PS.
du solltest 2 Prozesse am ende der Liste sehen: lightfpd.....etc

- Hast du das richtige Verzeichnis in PHP.Conf angegeben ? datei /var/datadisk/etc/lighttpd.conf
(Die lighttpd.conf im Original geht von /var/disk aus. also einfach /var/disk z.B. mit /var/datadisk ersetzen)

- Hast du deine PHP Geräte spezifischen Dateien in /var/datadisk/www abgelegt ?
z.B. heisst eine Datei bei mir: sonosWZS5.php

- Haben sich die IP-Adressen deiner Sonos-Geräte geändert ? sollte eigentlich nicht.
trotzdem überprüfe das auch mal. Mit einer Fritzbox kannst du die Vergabe immer gleicher Adressen erzwingen,
ohne, dass du den DHPCP Server ausschaltest.

- haben deine Geräte spezifischen Dateien die richtige IP-Adresse eingetragen ?
z.B. so $deviceAddress = "192.168.0.43";

Irgendwo an einer dieser Stellen muß der Fehler liegen.

vG Ralf

flotom
Beiträge: 7
Registriert: 14.06.2011, 09:00

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von flotom » 27.12.2012, 19:15

Hallo Ralf,

danke für deine Antwort...
Ich werde all das noch einmal kontrollieren und melde mich ggf. noch einmal..
Wäre echt toll wenn wir das hinbekommen würden, ich bräichte das nämlich ganz dringend :-)

Lg Thomas

flotom
Beiträge: 7
Registriert: 14.06.2011, 09:00

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von flotom » 27.12.2012, 20:48

Hallo Ralf,

so jetzt hab ich noch einmal alles durchgetestet.
Wenn ich nicht den PHP-Server von der CCU verwende, funktioniert alles einwandfrei.
d.h. Gerätedateien sind OK, Aufruf ist OK.

Auf der CCU läuft der PHP Server - bekomme folgende Meldung:
Nach Eingabe von 10.0.0.25:90 erscheint "Congratulations!!! Your "personal" CCU-server is running!

das sieht auch gut aus !

komischerweise habe ich keine lighttpd.conf sondern eine Mylighttpd.conf - das sollte aber egal sein, beim Start
wird diese Datei geladen.

Bei den allgemeinen Messages stehr folgendes drinnen:
Dec 27 20:39:00 (none) daemon.err inetd[2576]: telnet/tcp: bind: Address already in use
Keine Ahnung ob das damit etwas zu tun hat..

Das mit der fehlenden IP-Adresse im Log-File:
nach 3 fachem Aufruf eines Befehls steht bei mir folgendes drinnen:
10.0.0.25 10.0.0.25 - [27/Dec/2012:20:44:48 +0100] "GET /sonos.php?cmd=SetVolume&volume=35 HTTP/1.1" 200 0 "-" "Wget"
10.0.0.25 10.0.0.25 - [27/Dec/2012:20:45:01 +0100] "GET /sonos.php?cmd=SetVolume&volume=35 HTTP/1.1" 500 369 "-" "Wget"
10.0.0.25 10.0.0.25 - [27/Dec/2012:20:45:26 +0100] "GET /sonos.php?cmd=SetVolume&volume=35 HTTP/1.1" 500 369 "-" "Wget"
10.0.0.25 10.0.0.25 - [27/Dec/2012:20:46:11 +0100] "GET /sonos.php?cmd=SetVolume&volume=35 HTTP/1.1" 200 0 "-" "Wget"
Wo ist bei dir die IP-Adresse? Am Anfang oder am Ende?

Hättest noch einen Rat ?
Wäre sehr nett !

Lg
Thomas

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

Re: Sonos Steuerung über Homematic und alle Einzelschritte

Beitrag von looxer01 » 28.12.2012, 12:29

Hallo Thomas,

ja, es sieht so aus, dass dein PHP-Server läuft. Sonst hättest du ja auch nichts im Access Log stehen.
Auch das Access Log sieht ok aus, vorausgesetzt, dass deine HomeMatic die IP-Adresse 10.0.0.25 hat.
(und die Adresse steht am Anfang - ich hatte falsch kopiert)
meine gesendete Strings sehen so aus:
192.168.0.63 192.168.0.63 - [27/Dec/2012:20:18:24 +0100] "GET /sonosWZS5.php?cmd=Play HTTP/1.1" 200 1074 "-" "Wget"

192.168.0.63 192.168.0.63 - [27/Dec/2012:20:18:24 +0100] "GET /sonosWZS5.php?cmd=SetMute&mute=0 HTTP/1.1" 200 1158 "-" "Wget"

192.168.0.63 192.168.0.63 - [27/Dec/2012:20:18:24 +0100] "GET /sonosWZS5.php?cmd=SetVolume&volume=50 HTTP/1.1" 200 1173 "-" "Wget"

192.168.0.63 192.168.0.63 - [27/Dec/2012:22:59:37 +0100] "GET /sonosWZS5.php?cmd=Pause HTTP/1.1" 200 1045 "-" "Wget"

192.168.0.63 192.168.0.63 - [28/Dec/2012:10:21:22 +0100] "GET /sonosBad.php?cmd=SetRadio&radio=edge.live.mp3.mdn.newmedia.nacamar.net/ps-radiowuppertal/livestream.mp3 HTTP/1.1" 200 2069 "-" "Wget"

192.168.0.63 192.168.0.63 - [28/Dec/2012:10:21:23 +0100] "GET /sonosBad.php?cmd=Play HTTP/1.1" 200 1075 "-" "Wget"


was ich dabei feststelle ist, dass der HTTP Status Code 2 x 500 ist. Allerdings auch 2 x 200. Soviel ich weiß bedeuted das:
200 = ok
500 = error (nicht spezifiziert)
aber immerhin wurde 2 x auch ok gemeldet. Damit sollte die Lautstärke auf Wert 35 gesetzt worden sein.

Was mir jetzt noch einfällt:
- was steht im error log /var/datadisk/log lighttpd.error.log
- was steht in der datei httpRequest im Verzeichnis /var/tmp ? - hier sollte eigentlich die Rückmeldung vom Player enthalten sein
(vielleicht verhindert dein Router die Versendung der Pakete ?)
- Bitte siehe mal im Sonos Desktop (PC) unter Hilfe "über mein Sonos Sysem" - die IP-Adressen nach. Diese müssen unbedingt im Script angesprochen werden

Dein Error in den allgemeinen CCU Messages konnte ich nachvollziehen. Diese Message bekommst du dann, wenn du Telnet versuchst zu starten, es aber bereits gestartet wurde. Also ist das nicht relevant.

So, wenn wir nach den Checks open sicher sind, dass der PHP String auch wirklich beim Gerät ankommt, dann habe ich nur noch eine Idee.
Hierfür mußt du das Tool Wireshark bemühen. Ziel dabei ist es zu überprüfen, ob der Sonos Desktop für den gleichen Befehl auch den gleichen String an da Endgerät sendet. Diesen String kannst du nämlich Wireshark mitschneiden und vergleichen.

Ich würde mich über eine kurze Rückmeldung freuen.

Ralf

Antworten

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