Sonos PHP Script

Einrichtung, Anschluss und Programmierung der HomeMatic CCU

Moderator: Co-Administratoren

Schablone
Beiträge: 42
Registriert: 03.05.2008, 18:58
Wohnort: Bocholt

Re: Sonos PHP Script

Beitrag von Schablone » 22.07.2011, 20:07

Hallo alle zusammen,

wenn es um Sonos über PHP geht dann schaut euch mal bitte das an.

http://www.ip-symcon.de/forum/f53/php-s ... dex11.html

Beitrag #106!!

Bis dann

Martin

stappaf
Beiträge: 15
Registriert: 01.11.2011, 10:40

Re: Sonos PHP Script

Beitrag von stappaf » 29.12.2011, 17:22

Frage zum sonos PHP

Ich möchte Durchsagen machen und meine mp3 Datei ("z.B. Bitte Tür im Bad schließen") in die aktuelle Sonos-Queue des betreffenden Zimmers einspielen mit

192.168.178.111/Kind1.php?cmd=AddToQueue&file=192.168.1.111/sonos/test.mp3

Das klappt auch wunderbar und kann mit

192.168.178.111/küche.php?cmd=Play gestartet werden.

Wenn ich jetzt aber das Test.mp3 wieder löschen möchte aus der Queue kann ich nicht sagen an welcher Stelle es steht.

Wenn ich wüßte, dass es an der 41ten Position steht könnte man mit

http://192.168.178.111/kind1.php?cmd=Re ... e&track=41

die Durchsagedatei wieder löschen.

Wie finde ich die Position heraus oder wie kann ich den letzten Eintrag löschen ohne die ganze Queue zu killen

Die threads bei ip-symcon zum thema sonos habe ich gelesen, leider ist das sehr spezifisch auf deren Software zugeschnitten und ich bin nicht der große Programmierer -

außerdem soll alles auf der CCU laufen können

Wer kann mir helfen?

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

Re: Sonos PHP Script

Beitrag von looxer01 » 06.05.2012, 13:46

Hallo erstmal,

ich schicke mal voraus, dass ich mich mit Homematic noch nicht so sehr lange beschäftige. Im Forum lese ich seither mit was mir schon sehr weitergeholfen hat. (wirklich klasse :D )

Ich habe mich bisher vor allem mit der Heizungs- und Lichtsteuerung auseinandergesetzt. Klappt soweit auch ganz gut. Jetzt habe ich mir vorgenommen auch meine Sonos-Anlage mit der Haussteuerung zu verbinden. Vor allem möchte ich durch Taster die Sonos Geräte ein- und ausschalten können. (und ggf die Lautstärke regeln)

Ich habe eine CCU und kein Homeputer oder IP-Symcon. Am liebsten möchte ich alles native auf der CCU machen. Daher habe ich bereits den PHP Pro Server auf der CCU installiert. Scheint auch zu laufen soweit (über Telnet sehe ich, dass der Prozess gestarted ist)

Leider habe ich es bisher nicht geschafft aus einem Homematic Script heraus die Sonos anzusteuern. Ich verwende hierzu das Script von GoldFireIce. Dieses habe ich auf den USB stick (der in der CCU steckt) gelegt unter /var/datadisk/sonos.php. Die IP des Sonos gerätes, dass ich ansteuern möchte ist eingestellt.

Den Aufruf starte ich wie aus dem Beispiel aber mit verändertem Pfad für das script.

string stdout;
string stderr;
system.Exec("wget http://127.0.0.1:90/var/datadisk/sonos.php?cmd=Play -O /var/tmp/httpRequest",&stdout,&stderr);

Das Sonos Gerät habe ich auf eine Radiostation eingestellt und würde jetzt erwarten, dass es damit started, also auf play gesetzt wird.

Leider passiert aber nix. In der log datei /var/log/lighttpd.access.log sehe ich irgendetwas mit http/1.1.....

looxer
php-log.JPG
php-log.JPG (15.87 KiB) 5282 mal betrachtet
also vermute ich, dass das was mit dem PHP teil "-O /var/tmp/httpRequest" zu tun hat. Die Datei ist leer bei mir.

Kann mir irgendjemand auf die Sprünge helfen ?

Viele Grüße.

Ralf

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

Re: Sonos PHP Script

Beitrag von looxer01 » 11.05.2012, 22:30

habe es jetzt doch noch hingekriegt. Das Log sagt ja "404" was in Klartext "not found" heißt.
Es lag einfach daran, dass der Pfad der PHP sourcen in eine der PHP Konfig Files eingestellt ist.
Hier war es "Datadisk/www".
das folgende Script hat dann zum Erfolg geführt:

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

Insgesamt sind es eine ganze Menge Schritte, die erfoderlich sind, um die Sonos über die CCU steuern zu können:
1. USB Stick installieren
2. Telnet aktivieren
3. FTP installieren
4. PHP installieren
5. Pfade einstellen
6. Script anpassen

falls jemand interesse an Details hat, dann bitte melden. Ich beschreibe dann noch gerne die Details

Jetzt geht es darum zu sehen, ob alles stabil läuft - mal sehen.


Ralf

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

Re: Sonos PHP Script

Beitrag von looxer01 » 28.05.2012, 13:23

noch eine kurze Rückmeldung.

Anwendungen für die Sonos-Integration:

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

Soweit alles ohne Probleme. Obwohl ich damit sehr viele Execs absetze habe ich bereits eine uptime von 16 Tagen.
Also keine Abstürze der CCU.

Jan.Junius
Beiträge: 4
Registriert: 15.08.2012, 10:50

Re: Sonos PHP Script

Beitrag von Jan.Junius » 20.08.2012, 15:16

Hallo looxer01,
wie sind denn mittlerweile Deine Erfahrungen mit HM und Sonos? Klappt noch alles?
Ich hätte das auch sehr gerne, traue mich aber irgendwie nicht so recht, da ich nach vielem Lesen auch hier im Forum das Gefühl habe, dass das nur mit wenigstens mittelmäßigen Linux-Kenntnissen was wird. Kannst Du das bestätigen (oder widerlegen)?
Solltest Du detailliertere Details bei Dir rumliegen haben, wie Du wann was installiert hast, wäre ich ein dankbarer Abnehmer.
Gruß,
Jan

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

Re: Sonos PHP Script

Beitrag von looxer01 » 25.08.2012, 15:43

Hi Jan,
also ausgesprochene Linux Kenntnisse brauchst du nicht.
Meine Kenntnisse kommen allenfalls noch aus den MSDos Zeiten.
Aber mehr als ein directory zu wechseln, datei löschen und kopieren habe ich nicht gebraucht.
Auf Linux (busybox) ebene brauchst du eigentlich nur kurz um PHP zu installieren. Das ist ja auch beschrieben auf der Homematic inside.
Das meiste kannst du ohnehin über FileZilla machen. FileZilla ist Freeware und relativ einfach zu bedienen.
Wenn überhaupt dann liegen die Herausforderungen eher darin die Umgebung zu schaffen wie
Telnet aktivieren
USB Stick installieren etc
Ist eben ein Stück Bastelarbeit und du mußt dich durch die Anleitungen und durch das Forum kämpfen.

Zur Frage wie es läuft: ich habe jetzt eine uptime von 84 Tagen. Also keinerlei Abstürze. Eigentlich beschäftige ich mich im Moment gar nicht mit der Homematic sondern nutze sie nur über die Fernbedienungen, Iphone etc. So sollte es ja sein :)
Entgegen vieler Berichte im Forum kann ich sagen, dass ich überhaupt keine Probleme habe. Alles super.

Meine Empfehlung ist, dass du dich zuerst mit den Voraussetzungen beschäftigst (also Telnet aktivieren, USB stick installieren und FTP Server installieren). Wenn das alles klappt kommt der PHP Teil. Wenn das dann auch geklappt hat, dann wirds etwas fummelig, da du die Scripte anpassen mußt (IPAdresse und ggf mehr) Hierzu brauchst du dann WireShark. WireShark ist freeware und gibt dir in Klartext aus was über das Netz geht. Somit kannst du z.B. sehen welche Codes Dein SonosController an deine Sonoskomponenten schickt. Im Prinzip kannst du damit alles anpassen oder erweitern.

Also einfach reinarbeiten. Hat ja auch einen gewissen Spassfaktor.

vG l...

Jan.Junius
Beiträge: 4
Registriert: 15.08.2012, 10:50

Re: Sonos PHP Script

Beitrag von Jan.Junius » 27.08.2012, 11:24

Hi looxer01,
danke für Deine Unterstützung. Wenn wir ehrlich sind, dann ist es ja gerade das Basteln, was die ganze Sache so interessant macht. Ich hab Spaß dran und werde das Experiment sicher bald angehen.
Seltsam finde ich, dass meine Suche nach PHP bisher nicht wirklich brauchbare Ergebnisse geliefert hat. Auch auf Homatic inside finde ich da eigentlich wenig bis nichts. Zu dusselig zum Suchen? :oops:
VG,
Jan

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

Re: Sonos PHP Script

Beitrag von looxer01 » 27.08.2012, 14:26

kein Problem,
du hast recht. Auf der Homematic Inside findest du nur den Download.
mir ging es damals auch so. Im Forum gibt es aber einen Beitrag, der mir damals weiterhalf:
Der Titel des Beitrages heißt: PHP Server / PHP Server (PRO)
Lade also PHP Pro von der Homematic inside auf den USB Stick
Entpacke aus der Linux ebene mit tar -xf
Schreibe dir ein kurzes Script, das den Server dann startet. Das mußt du dann immer manuel starten nach einem Neustart der CCU. Sowas wie autostart sollte auch gehen, brauchte ich aber nicht bei mir.

Wie du siehst du brauchst den Stick und Telnet vorher. Mit Telnet entpackst du. Mit dem Befehl PS kannst du dann sehen ober der Prozess gestartet ist (nach dem du dein script ausgeführt hast, alternativ kannst du den service auch auf CCU ebene starten)

So in etwa sollte es gehen. Ich bin leider nicht am System und hoffe, dass es einigermaßen komplett und verständlich ist.

vG L......

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

Re: Sonos PHP Script

Beitrag von looxer01 » 21.10.2012, 13:09

ich habe jetzt mal eine Zusammenfassung der Installation veröffentlicht.
Diese gehört auch nicht hierher sondern eher in den Bereich Tipps&Tricks:
schaust du hier:
http://homematic-forum.de/forum/viewtop ... 779#p76779

Antworten

Zurück zu „HomeMatic Zentrale (CCU / CCU2 / CCU3 / Charly)“