br_sonos

Die Frage ist, ob das br_sonos Skript mit der aktuellen Version generell zurecht kommt?

Beispielsweise in der functions.inc.php wird eine IPLogger Datei included, welche unter /scripts liegen soll…

Nach meiner Installation von IPS_Library befindet sich leider keine besagte Datei im scripts Verzeichnis von IPS.

Evtl. gibt es noch weitere Probleme, welche derzeit nicht bekannt sind - ich bspw. habe auch keinerlei Möglichkeit, das Sonos System nach der Installation über br_sonos setup zu steuern.

FAX hat das ja alles schön beschrieben und läösst sich reproduzieren.

so läuft! :wink:

die update Ereignisse für das WebFront wurden nicht mit angelegt! Die Fehlermeldungen vom Logger habe ich immer noch, ebenfalls diesen seltsamen include path, den weiter oben beschrieben habe, aber die Bedienung ist möglich. Coverbild vom Radiostream kam ebenfalls, von meiner Musik jedoch nicht, kann aber natürlich auch an meinen Dateien liegen, ist aber auch erstmal nicht so wichtig.

was hab ich gemacht?

dem script br_sonos_update.php folgende Ereignisse zugefügt :

Bei Variablenänderung der Variable „Control“
Bei Variablenänderung der Variable „Mute“
Bei Variablenänderung der Variable „Repeat“
Bei Variablenänderung der Variable „Shuffle“

diese Variablen befinden sich in der angelegten Sonoszone, das script ist in SONOSLibs zu finden.

Ich muss wohl mal mein IP-Symcon updaten :confused:, damit ich was dazu sagen kann.
Grüße, Benjamin

Hallo zusammen,

ich habe ein kleines Problem mit br_sonos (auf IPS 2.5):
Wenn ich im Webfront auf „+“ oder „-“ zum verknüpfen der Zonen klicke passiert leider nichts.
D.h. ich habe über br_sonos keinerlei Möglichkeiten Zonen zu vernüpfen. Alle anderen Funktionen von br_sonos funktionieren wie gewollt.

Folgendes ist mir aufgefallen:

  1. In der Log von IPS wird bei jedem Klick auf Plus/Minus das Script sonoscmd.php ohne Fehler ausgeführt.

  2. Rufe ich das Script manuell auf (mit dem angepassten Testlink im Script so erhalte ich folgende Meldung:


Warning: include(IPSLogger.ips.php): failed to open stream: No such file or directory in C:\IP-Symcon\scripts\functions.inc.php on line 37

Warning: include(): Failed opening 'IPSLogger.ips.php' for inclusion (include_path='.;C:\php\pear') in C:\IP-Symcon\scripts\functions.inc.php on line 37

Notice: Undefined variable: cmd in C:\IP-Symcon\webfront\user\sonoscmd.php on line 13

Notice: Undefined variable: cmd in C:\IP-Symcon\webfront\user\sonoscmd.php on line 27

Vor allem die letzten beiden Fehler erscheinen mir seltsam!

Weiß jemand von euch woran das liegen könnte bzw. was ich noch ausprobieren könnte?

Dank schon mal wieder im Voraus!
Gruss

Edit:
Haha, ich habe mich nun durch den Code gewühlt:
Da hat jemand einfach einen Teil der sonoscmd.php (unter \IP-Symcon\webfront\user) ‚vergessen‘:

So war sie bei mir (download über die wiki-Seite):

<?
// Teststring:
//http://192.168.0.5:82/user/sonoscmd.php?sonosip=192.168.0.115&sonosid=RINCON_000E5832FB5C01400&cmd=RemoveMember&memberip=192.168.0.111&memberid=RINCON_000E5825411201400

//http://192.168.0.5:82/user/sonoscmd.php?sonosip=192.168.0.115&sonosid=RINCON_000E5832FB5C01400&cmd=AddMember&memberip=192.168.0.111&memberid=RINCON_000E5825411201400

require ("…/…/scripts/functions.inc.php"); // use PHPSonos.inc.php here

    if ($cmd == "RemoveMember") {
    // echo "$sonosip $sonosid $cmd $memberip $memberid $newcoordip";
      // Talk to Coord
      $sonos = new PHPSonos($sonosip); //Sonos ZP IPAdresse
      $RemoveMember = $sonos-&gt;RemoveMember($memberid);
      // Talk to slave
	
    	  	$sonos = new PHPSonos($memberip); //Slave Sonos ZP IPAddress
      		// needed for stop of playback on Slave
      		$sonos-&gt;SetAVTransportURI("");
      		//Playing stops
      		br_sonos_read_all();

}
if ($cmd == „AddMember“) {
// echo „$sonosip $sonosid $cmd $memberip $memberid“;
// Talk to Coord
$sonos = new PHPSonos($sonosip); //Sonos ZP IPAdresse
$AddMember = $sonos->AddMember($memberid);
// Talk to slave
$sonos = new PHPSonos($memberip); //Slave Sonos ZP IPAddress
// needed to start playback on Slave
$ret = $sonos->SetAVTransportURI(„x-rincon:“ . $sonosid);
//Playing starts
br_sonos_read_all();
}

?>

Und so funktioniert es:

<?
// Teststring:
//http://192.168.0.5:82/user/sonoscmd.php?sonosip=192.168.0.115&sonosid=RINCON_000E5832FB5C01400&cmd=RemoveMember&memberip=192.168.0.111&memberid=RINCON_000E5825411201400

//http://192.168.0.5:82/user/sonoscmd.php?sonosip=192.168.0.115&sonosid=RINCON_000E5832FB5C01400&cmd=AddMember&memberip=192.168.0.111&memberid=RINCON_000E5825411201400

require ("…/…/scripts/functions.inc.php"); // use PHPSonos.inc.php here

$sonosip=$_GET[‚sonosip‘];
$sonosid=$_GET[‚sonosid‘];
$cmd=$_GET[‚cmd‘];
$memberip=$_GET[‚memberip‘];
$memberid=$_GET[‚memberid‘];

    if ($cmd == "RemoveMember") {
    // echo "$sonosip $sonosid $cmd $memberip $memberid $newcoordip";
      // Talk to Coord
      $sonos = new PHPSonos($sonosip); //Sonos ZP IPAdresse
      $RemoveMember = $sonos-&gt;RemoveMember($memberid);
      // Talk to slave
	
    	  	$sonos = new PHPSonos($memberip); //Slave Sonos ZP IPAddress
      		// needed for stop of playback on Slave
      		$sonos-&gt;SetAVTransportURI("");
      		//Playing stops
      		br_sonos_read_all();

}
if ($cmd == „AddMember“) {
// echo „$sonosip $sonosid $cmd $memberip $memberid“;
// Talk to Coord
$sonos = new PHPSonos($sonosip); //Sonos ZP IPAdresse
$AddMember = $sonos->AddMember($memberid);
// Talk to slave
$sonos = new PHPSonos($memberip); //Slave Sonos ZP IPAddress
// needed to start playback on Slave
$ret = $sonos->SetAVTransportURI(„x-rincon:“ . $sonosid);
//Playing starts
br_sonos_read_all();
}

?>

Vielleicht hilft es ja jemandem weiter…

Hallo,

erstmal vielen Dank für die tollen Scripte. Habe erst eine SONOS, aber damit scheint alles zu funktionieren.

Ich habe in einem der gefühlten 1000 Beiträge gelesen, daß die Auswertung über Socket/Registervariable zu schwierig ist. Allerdings hatte ich die Idee, br_sonos_update.php damit zu triggern (statt jede Minute das Scrip zu starten).

Hat das schon mal jemand versucht?

Bei mir funktioniert schon der ClientSocket nicht.

Gruß, Peter

Hallo zusammen,

ich sitz jetzt schon seit Tagen über der Thematik aber ich bekomms einfach nicht auf die Reihe. Ich habe nach Anleitung instelliert und die Variablen und Scripte wurden auch entsprechend angelegt. Nachdem ich festgestellt haben, dass ich den IPSLogger noch nicht installiert habe, habe ich das auch dementsprechend nachgeholt.

Folgende Fehlermeldung bekomme ich:


Warning: include(IPSLogger.ips.php): failed to open stream: No such file or directory in C:\IP-Symcon\scripts\functions.inc.php on line 37

Warning: include(): Failed opening 'IPSLogger.ips.php' for inclusion (include_path='.;C:\php\pear') in C:\IP-Symcon\scripts\functions.inc.php on line 37
br_sonos_setup (ScriptID: 21444): ====== SETUP/ Update for Sonos 18715 is ongoing ... - deleting VariableProfile Media_Transport for update! - creating VariableProfile Media_Transport for setup or update! - deleting VariableProfile SONOS_Volume for update! - creating VariableProfile SONOS_Volume for setup or update! NOTICE: For your safety no delete/ update is done on your scripts! If they don´t exist I will create them now (I will ouput one line for each script created; If you ever need to force recreation you should delete all variables and scripts in this category except br_sonos_setup). NOTICE: I hided this script in webfront. If you need it in webfront for testing purposes, please unhide it and / or comment out the lines in this script! ATTENTION: You need to rerun THIS script after each zonesetup run to add the zoneplayers to SONOS_Zones var! - creating / updating SONOS_Zones and SONOS_Groups (Variables) ... done! - updating list of zoneplayers ....
Warning: fsockopen(): in C:\IP-Symcon\scripts\PHPSonos.inc.php on line 2217

Fatal error: in C:\IP-Symcon\scripts\PHPSonos.inc.php on line 2219
Abort Processing during Fatal-Error: Uncaught exception 'Exception' with message 'Error opening socket: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat. (10060)' in C:\IP-Symcon\scripts\PHPSonos.inc.php:2219 Stack trace: #0 C:\IP-Symcon\scripts\PHPSonos.inc.php(339): PHPSonos->XMLsendPacket('POST /DevicePro...') #1 C:\IP-Symcon\scripts\br_sonos_setup.php(243): PHPSonos->GetZoneAttributes() #2 C:\IP-Symcon\scripts\br_sonos_setup-template.php(3): require('C:\IP-Symcon\sc...') #3 {main} thrown Error in Script C:\IP-Symcon\scripts\PHPSonos.inc.php on Line 2219 

Ich habe eine Play:5 in der Küche die über eine ZB angesteuert wird. IPS 2.6 kommt bei mir zum Einsatz. Vielleicht hat ja jemand eine Idee

Viele Grüße

Flo

Hi,

sieht die Struktur genau so aus bei dir?

Du musst dir eine extra Kategorie oder Dumm Instanz erstellen und dort das Sonos Zone Setup Script ausführen. Es müssen also die beiden markierten Einträge (rote Pfeile) existieren! Die anderen Variablen werden automatisch erzeugt.

Habe es gerade mit IPS 2.6 getestet. Wichtig ist auch dieser Hinweis: http://www.ip-symcon.de/forum/f52/br_sonos-14938/index4.html#post144385

Dann läuft alles :slight_smile:

Guten Morgen Frad,

langsam kommt Licht in´s Dunkel. Ich benötige also eine Kategorie für die ganzen Scripte und zusätzlich nochmal für jeden Zone eine. In der Hauptkategorie starte ich dann das eigentliche Setup, welche mir die Zone Setup.php erzeugt. Diese schiebe ich dann in die einzelnen Zonen rein und führe Sie dort aus wodurch die Variable ZONE_IP erzeugt wird, in der ich die IP des ZP´s hinterlege. Wenn ich damit richtig bin, habe ich das gemacht und bekomme nun das hier serviert:


Warning:  include(IPSLogger.ips.php): failed to open stream: No such file or directory in C:\IP-Symcon\scripts\functions.inc.php on line 37

Warning:  include(): Failed opening 'IPSLogger.ips.php' for inclusion (include_path='.;C:\php\pear') in C:\IP-Symcon\scripts\functions.inc.php on line 37


br_sonos_zonesetup (ScriptID: 48229):
- ... checking ... for need of running Sonos setup routines....
====== Zonesetup for Sonos 26407 is ongoing ...

Warning:  fsockopen():  in C:\IP-Symcon\scripts\PHPSonos.inc.php on line 2217

Fatal error:   in C:\IP-Symcon\scripts\PHPSonos.inc.php on line 2219
Abort Processing during Fatal-Error: Uncaught exception 'Exception' with message 'Error opening socket: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.
 (10060)' in C:\IP-Symcon\scripts\PHPSonos.inc.php:2219
Stack trace:
#0 C:\IP-Symcon\scripts\PHPSonos.inc.php(339): PHPSonos->XMLsendPacket('POST /DevicePro...')
#1 C:\IP-Symcon\scripts\br_sonos_zonesetup.php(63): PHPSonos->GetZoneAttributes()
#2 {main}
  thrown
   Error in Script C:\IP-Symcon\scripts\PHPSonos.inc.php on Line 2219

Sieht aus, als ob der Sockel nicht geöffnet werden kann. Muss ich das auch manuell machen?

mach mal Screenshot von deiner Struktur in IPS …

Kommt wenn ich wieder zu Hause bin :slight_smile: danke schonmal

Guten Morgen zusammen,

hier mal meine Struktur…ich hoffe ihr könnt mir helfen, diese roten Ausrufezeichen zu entfernen :slight_smile:

Lösche mal eins von den beiden PHP Skripten in dem Ordner „Küche“. Dann öffnest du die Datei, welche noch vorhanden ist und kopierst diesen Code hinein:

<?
require("br_sonos_zonesetup.php");
?>

Diese führst du dann aus. Es sollte keine Fehlermeldung kommen. Danach startest du die Datei „Sonos Setup“ mit dem INhalt:

<?
require("br_sonos_setup.php");
?>

Die Datei darf nicht in der Ebene „Küche“ sein.

Keine Chance…bekomme weiterhin Fehlermeldungen:

Setup_Template


Warning:  include(IPSLogger.ips.php): failed to open stream: No such file or directory in C:\IP-Symcon\scripts\functions.inc.php on line 37

Warning:  include(): Failed opening 'IPSLogger.ips.php' for inclusion (include_path='.;C:\php\pear') in C:\IP-Symcon\scripts\functions.inc.php on line 37


br_sonos_setup (ScriptID: 33702):
====== SETUP/ Update for Sonos 15135 is ongoing ...
- deleting VariableProfile Media_Transport for update!
- creating VariableProfile Media_Transport for setup or update!
- deleting VariableProfile SONOS_Volume for update!
- creating VariableProfile SONOS_Volume for setup or update!

NOTICE: For your safety no delete/ update is done on your scripts!
If they don´t exist I will create them now (I will ouput one line for each script created; If you ever need to force recreation you should delete all variables and scripts in this category except br_sonos_setup).
- creating script br_sonos.inc.php
- creating script PHPSonos.inc.php
- creating script br_sonos_setup.php
- creating script br_sonos_setup-template.php
- creating script br_sonos_zonesetup.php
- creating script br_sonos_zonesetup-template.php
- creating script br_sonos_read.php
	- event 53712
- creating script br_sonos_read_cover.php
- creating script br_sonos_wf.php
- creating script br_sonos_update.php

NOTICE: I hided this script in webfront. If you need it in webfront for testing purposes, please unhide it and / or comment out the lines in this script!

ATTENTION: You need to rerun THIS script after each zonesetup run to add the zoneplayers to SONOS_Zones var!
- creating / updating SONOS_Zones and SONOS_Groups (Variables) ... done!
- updating list of zoneplayers ....
Warning:  fsockopen():  in C:\IP-Symcon\scripts\PHPSonos.inc.php on line 2217

Fatal error:   in C:\IP-Symcon\scripts\PHPSonos.inc.php on line 2219
Abort Processing during Fatal-Error: Uncaught exception 'Exception' with message 'Error opening socket: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht ordnungsgemäß reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.
 (10060)' in C:\IP-Symcon\scripts\PHPSonos.inc.php:2219
Stack trace:
#0 C:\IP-Symcon\scripts\PHPSonos.inc.php(339): PHPSonos->XMLsendPacket('POST /DevicePro...')
#1 C:\IP-Symcon\scripts\br_sonos_setup.php(243): PHPSonos->GetZoneAttributes()
#2 C:\IP-Symcon\scripts\541br_sonos_setup-template.php(3): require('C:\IP-Symcon\sc...')
#3 {main}
  thrown
   Error in Script C:\IP-Symcon\scripts\PHPSonos.inc.php on Line 2219

Und die Fehlermeldung im Zone_Setup

Warning:  include(IPSLogger.ips.php): failed to open stream: No such file or directory in C:\IP-Symcon\scripts\functions.inc.php on line 37

Warning:  include(): Failed opening 'IPSLogger.ips.php' for inclusion (include_path='.;C:\php\pear') in C:\IP-Symcon\scripts\functions.inc.php on line 37


br_sonos_zonesetup (ScriptID: 54827):
- ... checking ... for need of running Sonos setup routines....
====== Zonesetup for Sonos 42623 is ongoing ...
ATTENTION: If >>>Küche <<< is not the name of your SONOS device you either didn´t fill or create SONOS_IP,
yet or there is general problem!

Please fill or correct SONOS_IP, delete all Variables and Scripts except SONOS_IP und the SETUP, then RE-RUN this script!!!


If your correct zonename showed up above you everything is ok!!

Was bei beiden identisch ist, ist dieser Teil hier:

Warning:  include(IPSLogger.ips.php): failed to open stream: No such file or directory in C:\IP-Symcon\scripts\functions.inc.php on line 37

Warning:  include(): Failed opening 'IPSLogger.ips.php' for inclusion (include_path='.;C:\php\pear') in C:\IP-Symcon\scripts\functions.inc.php on line 37

Dazu muss ich sagen, ich habe den IPSLogger installiert. Jedoch auch hier eine Fehlermeldung, die ich aber lediglich als Problem der Darstellung im Webfront interpretiere (hoffe ich)

IPSModuleManager-Log-IPSFileVersionHandle2012-10-12 21:00:56.37  Set Version IPSLogger=2.50.2..Installing
IPSModuleManager-Log-IPSModuleManager    2012-10-12 21:00:56.59  Add WFCItem='SystemTP', Class=TabPane, Config={"title":"","name":"SystemTP","icon":"Window"}
Abort Processing during Error: Diese Funktion ist nur in der IP-Symcon Professional Version verfügbar
   Error in Script C:\IP-Symcon\scripts\IPSLibrary\install\IPSInstaller\IPSInstaller.inc.php on Line 911

Und so sieht mein Objektbaum aus:

Es ist garantiert nur wieder so eine Piepelpopelgeschichte aber ich komm nicht drauf…

Viele Grüße

Flo

Bzgl. der Logger Fehlermeldung solltest du mal schauen, dass du eine Datei mit den Namen „IPSLogger.ips.php“ anlegst

Hier der Hinweis von RS: http://www.ip-symcon.de/forum/threads/17370-IPSLibrary-Step-by-Step-für-Dummies!?p=153646#post153646

Inhalt:

<?

IPSUtils_Include ('IPSLogger.inc.php',      'IPSLibrary::app::core::IPSLogger');  

?>

Bevor das hier untergeht: Danke nochmal an FRAD! Es lag tatsächlich an der Loggerdatei. Hab’s nochmal getestet :smiley:

Bekomm das auch noch immer nicht zum Laufen. Bin der Wiki-Anleitung gefolgt aber finde dort nix von einer IPSLogger Datei. Nun habe ich hier gelesen, dass man die noch installieren muss… Über die Suche finde ich darüber nichts. Wo bekomm ich die denn her…?

Auch ist die WIKI in einigen Punkten nicht so ganz eindeutig. Wenn ich den Raum angelegt habe, dann starte ich die beiden Scripte in dem Raum oder das zweite wieder in der „Songs Libs“?

Danke für eure Hilfe…

schau einfach 2 beiträge über deinem :slight_smile:

Da steht aber nicht wie ich die Datei anlege, sondern nur das ich es machen soll. Deswegen bin ich ja überhaupt darauf gekommen… Oder übersehe ich jetzt Grundlegendes…

Edit:

Klick… Textdatei mit dem Namen „IPSLogger.ips.php“ anlegen und dann die die eine Textzeile einfügen…

hatte oben was von IPS Logger installieren gelesen…?!

Hab ich nun angelegt aber bekomme jetzt beim Ausführen von:

<?
require(„br_sonos_zonesetup.php“);
?>

folgende Fehlermeldung:
Fatal error: Call to undefined function IPSUtils_Include() in C:\IP-Symcon\scripts\IPSLogger.ips.php on line 3

Ich bräuchte hier auch mal Hilfe.
Und zwar kann ich mein sonos vom webfront aus nicht steuern.
Den letzten Radio Sender zeigt er mir richtig an.
Ausserdem erzeugt das br_sonos_update Script mehrere Fehler.
Wenn mir jemand sagt wie ich die scriptausgabe hier einfügen kann würde ich das machen. Oder geht das nur über einen Screenshot?

Ich verwende die aktuelle ipsVersion.
Danke

Ich wollte nur mitteilen das ich den Fehler gefunden habe und nun alles super läuft.
Ich werde die tage mich dran setzten und ne kleine Anleitung machen für Leute die nicht so fit sind, da ich doch sehr lange gebraucht habe bis jetzt.