br_sonos

Habe noch ein wenig gespielt und konnte es zumindest für einen bestimmten Fall nachvollziehen: es passiert immer dann, wenn (annähernd) gleichzeitig „br_sonos_update.php“ und „br_sonos_read.php“ ausgelöst werden.

Nebenbei ist mir noch aufgefallen, dass das Verschieben von Events Glücksspiel ist. Besser man löscht und legt neu an (in #212 geändert!).

Ich hab es jetzt anders gelöst und mir die „vor“ und „zurück“ Knöpfe selbst gebaut…

Hallo zusammen,
ich möchte gerne ein kleines Problem deponieren, auf welches vielleicht schon jemand gestoßen ist.

Also, ich installiere br_sonos wie in der Anleitung beschrieben. Ich habe vorab das Core Script installiert und alles sieht gut aus.

Danach erstellt ich die neue Kategorie SonosLibs und lasse das br_sonos_setup-template.php laufen. Der Programmbaum wird aufgebaut.
Danach erstellt ich einen Dummy und hinterlege die IP des ersten Players.

Nun lasse ich das br_sonos_zonesetup-template.php laufen innerhalb des dummys.

Script wirfst zwar einen Fehler, sieht aber trotzdem gut aus:

br_sonos_zonesetup (ScriptID: 55236):

  • … checking … for need of running Sonos setup routines…
    ====== Zonesetup for Sonos 16671 is ongoing …
    ATTENTION: If >>>Dampfbad <<< 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!!

Ich gehe zurück auf das br_sonos_setup-template.php und lasse es nochmals laufen.

Jetzt kommt mein Problem:


br_sonos_setup (ScriptID: 40937):
====== SETUP/ Update for Sonos 24015 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(): unable to connect to 192.168.1.21:1400 (No connection could be made because the target machine actively refused it.
    ) in C:\IP-Symcon\scripts\PHPSonos.inc.php on line 2262

Fatal error: Uncaught exception ‚Exception‘ with message ‚Error opening socket: No connection could be made because the target machine actively refused it.
(10061)‘ in C:\IP-Symcon\scripts\PHPSonos.inc.php:2264
Stack trace:
#0 C:\IP-Symcon\scripts\PHPSonos.inc.php(343): PHPSonos->XMLsendPacket(‚POST /DevicePro…‘)
#1 C:\IP-Symcon\scripts\br_sonos_setup.php(243): PHPSonos->GetZoneAttributes()
#2 C:\IP-Symcon\scripts\40937.ips.php(3): require(‚C:\IP-Symcon\sc…‘)
#3 {main}
thrown in C:\IP-Symcon\scripts\PHPSonos.inc.php on line 2264
Abort Processing during Fatal-Error: Uncaught exception ‚Exception‘ with message ‚Error opening socket: No connection could be made because the target machine actively refused it.
(10061)‘ in C:\IP-Symcon\scripts\PHPSonos.inc.php:2264
Stack trace:
#0 C:\IP-Symcon\scripts\PHPSonos.inc.php(343): PHPSonos->XMLsendPacket(‚POST /DevicePro…‘)
#1 C:\IP-Symcon\scripts\br_sonos_setup.php(243): PHPSonos->GetZoneAttributes()
#2 C:\IP-Symcon\scripts\40937.ips.php(3): require(‚C:\IP-Symcon\sc…‘)
#3 {main}
thrown
Error in Script C:\IP-Symcon\scripts\PHPSonos.inc.php on Line 2264

Die IP des Players ist eigentlich 192.168.1.25 und das Script versucht auf 192.168.1.21 eine Verbindung aufzubauen. Diese IP ist kein Sonos Player und ich habe keine Ahnung, von wo er diese nun auf einmal hat.

Hatte dieses Phänomen schon mal jemand von euch? Bin dankbar für jeden Tipp!

Gruss und Danke!


Hallo zusammen, habe das Problem soweit gelöst!
Problem A konnte ich durch die Angabe der Script ID direkt lösung (Lösung war bereits im Forum beschrieben).
Bei der IP Adresse habe ich gesehen, dass das Script im gesamten Stamm nach SONOS_IP sucht. Da hat es also ein paar alte Einträge gefunden. Daher die alte IP.

Moin zusammen,

nachdem mich endlich mal wieder die Bastellust übermannt hat, habe ich mir zu meinen bestehenden 2 SONOS Zonen 3 weitere gegönnt. Diese konnte ich auch in IPS einbinden. Jedoch bekomme ich bei keiner Zone, bis auf das Schlafzimmer, die Cover angezeigt. Auch die Controls funktionieren, bis wieder aufs Schlafzimmer, nicht. Die Lautstärke jedoch lässt sich bei allen regeln, genauso, wie sie sich alle muten lassen.

Im Anhang mal ein Bild von meinem Objektbaum. Hier die Fehlermeldungen:

br_sonos_update:

Notice:  Undefined variable: IPS_VARIABLE in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\br_sonos_update.php on line 5

Warning:  Wrong parameter type for IPS_GetObject() in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\br_obj_handling.inc.php on line 113

Warning:  fsockopen(): unable to connect to :1400 (Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.
) in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php on line 2217

Fatal error:  Uncaught exception 'Exception' with message 'Error opening socket: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.
 (10061)' in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php:2219
Stack trace:
#0 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php(339): PHPSonos->XMLsendPacket('POST /DevicePro...')
#1 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\br_sonos_update.php(48): PHPSonos->GetZoneAttributes()
#2 {main}
  thrown in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php on line 2219
Abort Processing during Fatal-Error: Uncaught exception 'Exception' with message 'Error opening socket: Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.
 (10061)' in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php:2219
Stack trace:
#0 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php(339): PHPSonos->XMLsendPacket('POST /DevicePro...')
#1 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\br_sonos_update.php(48): PHPSonos->GetZoneAttributes()
#2 {main}
  thrown
   Error in Script C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php on Line 2219

br_sonos_read:

  

Warning:  fsockopen(): unable to connect to 192.168.178.26:1400 (Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.
) in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php on line 2251

Fatal error:  Uncaught exception 'Exception' with message 'Error opening socket: Ein Verbindungsversuch ist fehlgeschlagen, da die Gegenstelle nach einer bestimmten Zeitspanne nicht richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.
 (10060)' in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php:2253
Stack trace:
#0 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php(1226): PHPSonos->sendPacket('POST /MediaRend...')
#1 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\br_sonos.inc.php(264): PHPSonos->GetTransportSettings()
#2 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\br_sonos.inc.php(126): br_sonos_read(56947)
#3 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\br_sonos_read.php(21): br_sonos_read_all()
#4 {main}
  thrown in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php on line 2253
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 richtig reagiert hat, oder die hergestellte Verbindung war fehlerhaft, da der verbundene Host nicht reagiert hat.
 (10060)' in C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php:2253
Stack trace:
#0 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php(1226): PHPSonos->sendPacket('POST /MediaRend...')
#1 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\br_sonos.inc.php(264): PHPSonos->GetTransportSettings()
#2 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\br_sonos.inc.php(126): br_sonos_read(56947)
#3 C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\br_sonos_read.php(21): br_sonos_read_all()
#4 {main}
  thrown
   Error in Script C:\Users\Admin\Desktop\IPS\IP-Symcon\scripts\PHPSonos.inc.php on Line 2253

Hoffe ihr könnt mir hier weiterhelfen.

Kennst du die IP Adressen deiner Sonos Devices?
192.168.178.26 versucht er zu verbinden und erhält keine Antwort. Bist du 100% sicher das diese IP stimmt?

Ich hatte das Problem, dass ich bei mir ein paar alte SONOSIP Einträge hatte. Das Script durchsucht den gesamten Stamm nach %SONOSIP%. Falls du also noch alte Einträge hast (ich hatte Platzhalter names xSONOSIP) versuchst das Script darauf zu verbinden.

Cheers und good luck!

Moin!

Tatsächlich handelt es sich bei der 26 um eine IP die nicht mehr aktuell ist. Leider weiß ich nicht, wo er diese her hat. Wenn Du mir sagen könntest, wo ich diese finde wär ich Dir sehr verbunden :slight_smile:

Leider ist das aber anscheinend nicht die Ursache meines Problems, dass mir keine Infos angezeigt werden bzw. ich die Controls nicht nutzen kann außer im Schlafzimmer :frowning:

Denke dass Script muss erst mals sauber durch, danach das Problem mit den Controls angehen (falls die dann überhaupt noch bestehen)

Wichtig ist einfach, dass das Zone_setup sauber läuft, das Update Script gibt auch bei mir einen Fehler, wenn ich es manuell starte.

Du musst irgendwo in deinem ProgramStamm eine Variable habe mit SONOS_IP im Namen haben welche noch auf die alte IP zeigt. Da musst du suchen :slight_smile:

Ok. Hab jetzt das Problem gelöst…und ein neues aufgetan :slight_smile:

Die 26er IP stand im Wert der Variable SONOS_ZONES. Hab diesen Wert nun komplett gelöscht und das Sonos Setup nochmals durchlaufen lassen. Allerdings habe ich nun auch, wie ein paar Posts zuvor, dieses „Previous“ Problem. Sobald ich einen Track skippe, bekomme ich kurz das neue Cover und den neuen Track angezeigt aber der laufende Song wird lediglich nochmal zurück gesetzt und fängt von vorne an. Verhält sich ebenfalls so, wenn ich den Track pausiere und wieder starte.

Hallo Sonosfreunde,
ich habe meine beiden Sonos Zoneplayer über Br-Sonos eingebunden und es läuft auch ganz gut.
Jedoch schalte ich einzelne Zoneplayer über Homematic aktoren aus, wenn sie nicht gebraucht werden.
Und hier gibt nun br_sonos-read.php einen Fehler aus, da es keine Antwort von dem Zoneplayer bekommt, der aus ist.

Hat einer von Euch eine Idee, wie ich das lösen kann?

Ralph

Hallo,

Könntest Du näher beschreiben was Du getan hast um das Problem zu beseitigen ???

Konntest Du die Ursache finden und/oder das Problem beheben ???

So ist br-sonos für mich nicht wirklich nutzbar … leider.

Gruß Proxima

Nee leider nicht. Wie zuvor besprochen, scheint es an dem aktuellen SONOS Update zu liegen

Klar:

Ich habe eine neue Integer Variable angelegt, mit 2 Assoziationen (1 und 2), siehe Bild

Die Variable hab ich unter die „Original Play Control“ im Webfront gehängt

Dann habe ich ein Skript gebaut, welches als eigene Aktion hinterlegt ist:

<?
include("PHPSonos.inc.php");

$sonos_ip = GetValue(40947 /*[Haussteuerung\Küche\SONOS_IP]*/);
$sonos = new PHPSonos("$sonos_ip"); //Sonos ZP IPAdresse

switch($IPS_VALUE){
					case 0: // vorwärts
			 $sonos->Previous();
break;
					case 1: // zurück
			$sonos->Next();
}
?>

Fertig…nun kann man mit Klick vor und zurück. Keine Lösung, aber ein funktionierender Workaround.

Viel Spaß
Martin

Hallo zusammen,

ich bin auch schon seit einer Weile sonosifiziert. :slight_smile:
Klasse die Dingelchens, oder? Nun möchte ich sie ebenfalls in meine IPS integrieren, scheitere aber an der WF Integrität. Was habe ich bisher gemacht?
Ich habe mir das zip-Paket herunter geladen. Ich habe es entpackt und wie in http://www.ip-symcon.de/wiki/Br_sonos beschrieben ins Systemverzeichnis kopiert. Die Icons schon gleich mit. Dann habe ich eine Kategorie erstellt und dort die br_sonos_setup ausgeführt. Danach habe ich in dem Raum (Raumkategorie) in dem ein Play:1 steht erst eine Variable (String) angelegt und mit der IP bestückt, dann ein br_sonos_zonesetup Script erstellt und ausgeführt. Zu guterletzt noch einmal das br_sonos_setup. Das sollte es doch gewesen sein, oder?
Leider kommt auf das br_sonos_read folgendes:

br_sonos_read: NOTICE Execution of zonesetup in this category is needed!

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 266

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 273

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 274

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 278

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 279

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 280

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 281

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 282

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 288

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 289

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 334

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 335

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 336

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 348

Warning: filemtime(): stat failed for C:\IP-Symcon\webfront\user\Album_cover_Bad DG.jpg in C:\IP-Symcon\scripts\br_sonos.inc.php on line 430

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 474

Warning: Variable #0 existiert nicht in C:\IP-Symcon\scripts\br_sonos.inc.php on line 477

br_sonos_read: NOTICE Execution of zonesetup in this category is needed!

Fatal error: Uncaught exception ‚Exception‘ with message 'Error sending command: HTTP/1.1 405 Method Not Allowed
Allow: GET, HEAD
Content-type: text/html
Server: Linux UPnP/1.0 Sonos/26.1-76230 (BR100)
Connection: close

Error 405Error 405Method Not Allowed’ in C:\IP-Symcon\scripts\PHPSonos.inc.php:2263
Stack trace:
#0 C:\IP-Symcon\scripts\PHPSonos.inc.php(1447): PHPSonos->sendPacket(‚POST /MediaRend…‘)
#1 C:\IP-Symcon\scripts\br_sonos.inc.php(190): PHPSonos->GetPositionInfo()
#2 C:\IP-Symcon\scripts\br_sonos.inc.php(126): br_sonos_read(23910)
#3 C:\IP-Symcon\scripts\br_sonos_read.php(21): br_sonos_read_all()
#4 {main}
thrown in C:\IP-Symcon\scripts\PHPSonos.inc.php on line 2263

Jemand eine Idee?

das hier http://www.ip-symcon.de/forum/threads/14938-br_sonos?p=217404#post217404 hast Du gemacht ?

Klasse! Das bringt mich schon mal gehörig weiter.
Nun ist alles da.

Irgendetwas scheint nun mit den controls nicht zu stimmen. Ich kann weder vor noch zurück skippen.

lies mal ab hier http://www.ip-symcon.de/forum/threads/14938-br_sonos?p=215486#post215486 und den workaround drei Posts weiter oben…

Das bringt mich weiter, aber erstmal nicht mehr heute Abend. Vielen Dank dafür.

Hallo Sonos Profis,

habe die Scripte kopiert, die Kategorie erstellt, die br_sonos_zonesetup.php" ab Zeile 100 geändert und die Kategorien pro ZP angelegt, die String Variable SONOS_IP mit der IP der ZP angelegt.
Wenn ich dann in der Kategorie zb. „Wohnzimmer“ das Script ausführe, bekomme ich folgenden Fehler:

Parse error: syntax error, unexpected ‚$id‘ (T_VARIABLE) in [SONOSLibs\br_sonos_zonesetup.php] on line 110
Abort Processing during Fatal-Error: syntax error, unexpected ‚$id‘ (T_VARIABLE)
Error in Script C:\IP-Symcon\scripts\br_sonos_zonesetup.php on Line 110

Irgendjemand eine Idee? Ich versuche es nun schon viele Stunden und komme zu keiner Lösung.
Danke!

Irgendein Klammer- oder Strichpunktfehler in Deinem Skript, wird aber so zum Glaskugelraten. :eek:

Gruß
Bruno

Du hast ja ab Zeile 100 geändert, also ist die Chance sehr groß, dass es sich um einen Schreibfehler dabei handelt…