| |||||||
| Registrieren | Benutzerliste | Interessengemeinschaften | Usermap | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
![]() |
| | LinkBack | Themen-Optionen | Thema durchsuchen |
| ||||
| Die aktuellste Version ist im Wiki zu finden: http://www.ip-symcon.de/wiki/PHPSonos Eine Version des Sonos Skriptes von hier: http://www.ip-symcon.de/forum/f7/ein...nsteuern-3541/ Diesmal als PHP Klasse, die ihr vorher in euren 'scripts' Ordner kopieren müsst. Dann die IP-Adresse angeben und ihr könnt die einzelnen Befehle nutzen. PHP-Code: Geändert von paresy (07.05.11 um 00:06 Uhr) |
| |||
|
Hi, man kann sich bei dem Beispiel $sonos->SetQueue("x-rincon-queue:RINCON_"."HIER DIE MAC DES PLAYERS ZB: FFEEDDCCBBAA"."01400#0") noch etwas Recherche und Tipparbeit einsparen, in dem man sich die Mac-Adresse vom Sonos-System geben lässt. Ruft man folgende URL auf: http://<Ip-Adresse ZonePlayer>:1400/status/zp bekommt man eine XML-Antwort mit Infos zum ZonePlayer. Hierbei ist dann auch die Mac-Adresse enthalten. Die XML-Antwort schaut z.B. so aus: <?xml version="1.0" ?> <?xml-stylesheet type="text/xsl" href="/xml/review.xsl"?><ZPSupportInfo><ZPInfo><ZoneName>Küch e</ZoneName><ZoneIcon>x-rincon-roomicon:kitchen</ZoneIcon><LocalUID>RINCON_000E582665FE01400</LocalUID><SerialNumber>00-0E-58-26-65-FE:5</SerialNumber><SoftwareVersion>13.7-29120</SoftwareVersion><MinCompatibleVersion>12.0-00000</MinCompatibleVersion><HardwareVersion>1.1.16.4-2</HardwareVersion><IPAddress>192.168.178.91</IPAddress><MACAddress>00:0E:58:26:65:FE</MACAddress><Copyright>© 2004-2007 Sonos, Inc. All Rights Reserved.</Copyright><ExtraInfo>r8: 16.0-7</ExtraInfo><IdxTrk></IdxTrk></ZPInfo></ZPSupportInfo> Unter LocalUID findet sich der String, den man im $sonos->SetQueue Befehl braucht. Den String kann man z.B. über folgendes Codeschnipsel bekommen: $url = "http://".<ipAdresse des ZonePlayers>.":1400/status/zp"; $xml = simpleXML_load_file($url); $result = $xml->ZPInfo->LocalUID; HTH Johannes
__________________ __________________ FHZ 1000PC, FHT80b, HMS100RM, FS10 Temp-/Feuchtesensor, FS20, HM Dimmer, HM Lan-Adapter, USB IR Toy, APC USV, Mac Mini mit Parallels. |
| |||
|
Hallo, erst einmal Danke für das Bereitstellen der PHP Klasse! Mir fehlte jedoch das Abfragen des aktuellen Status des Sonos-Players. Daher habe ich die Klasse etwas erweitert: PHP-Code: Gruß, André Edit: - PHP-Klasse angepasst: Edit (25.07.2010): - Name vom Radiosender kann abgerufen werden: GetMediaInfo() gibt ein Array mit dem Key "title" zurück, welches den Sendernamen enthält. - URI und Senderbeschreibung hinzugefügt: GetPositionInfo() gibt nun mit den zusätzlichen keys "URI" und "streamContent" die entsprechenden Informationen zurück. - Problem mit Sonderzeichen behoben (Text wird nun in ISO-8859-1 zurückgegeben) Geändert von andre (25.07.10 um 17:32 Uhr) |
| |||
|
Hi, euch beiden erstmal Danke für die Arbeit. Ich komme aber mit der Einbindung nicht ganz klar bzgl.der Variablen. Andre,erstmal Willkommen ![]() Wäre es möglich,als PHP-Anfänger ein Screenshoot oder eine Erklärung der zu erstellenden Variablen zu bekommen? Hab gerade 1h selbst probiert,aber komme nicht wirklich weiter. Vielen Dank und Grüße Robert
__________________ Homematic CFG-LAN mit |
| ||||
|
Gibt es eigentlich ne Möglichkeit auch die Cover-URL abzufragen!? Das wäre ja nochmal was!!! :-)
__________________ -(MacMini(2011) mit Parallels 7,XP Prof) in der Erprobung , FB7390, EIB-KNX, DMX4ALL, EM24 DIN, SONOS ZP100/Play:5, 1Wire per Wiregate - |
| |||
|
Hallo Peter, hat super funktioniert.Er schreibt jetzt in die Variablen.Danke. Jetzt gehts noch an die Visualisierung ![]() Lässt du das Script jede Sekunde laufen oder hats du ein ausgelöstes Ereignis? Über den Status würde sich das ja ganz gut machen,aber wie bekommt er den aktuellen Status ohne das Script zeitlich laufen zu lassen? Oder fange ich da falsch an und denk zu kompliziert? Gruß Robert
__________________ Homematic CFG-LAN mit |
| |||
|
@PeterChrisben: Deine Fehlermeldungen sollten in meiner angepassten Datei nicht mehr vorkommen. Ich hatte nicht abgefangen, was passiert, wenn ein Track kein Album, keinen Album-Artist, etc. besitzt. Außerdem habe ich den URI für das Cover hinzugefügt. Hier wird in etwa folgender String zurückgegeben: Code: http://<sonos-ip>:1400/getaa?u=x-file-cifs://<pfad-zur-mp3-datei>.... Leider gibt es u.a. noch Probleme, wenn kein Cover vorhanden ist. Habt ihr da noch Verbesserungsvorschläge? PHP-Code: |
| |||
|
Hi andre, die neue Sonos Klasse ist ja super. Gibt es auch die Möglichkeit im Radio-Modus des Players den Sendernamen, die kurze Programmbeschreibung, die URI des Senders und vielleicht weiter Infos abfragen? Gruß Schorsch
__________________ IPS V2.5 #2238, FS20, FHT80b, FHZ1300pc, HM LAN Adapter, HomeMatic, 1-Wire, Eee1602, Win7 32Bit, Sonos |
![]() |
| Stichworte |
| soap , sonos |
| Themen-Optionen | Thema durchsuchen |
| |
Ähnliche Themen | ||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| Einzelne Sonos Player ansteuern | paresy | Audio & Video, TK-Anlagen, ISDN | 36 | 20.09.09 20:29 |
| UIO 88 über PHP in V2.0 ansteuern | Schneider | Allgemeine Diskussion | 7 | 21.09.08 22:40 |