br_sonos

Hallo Rainer,
vielen Dank für Deine Hilfe!
Bei der bloßen Ausgabe klappt bei mir alles wie zuvor (mit dem utf8_decode), mal schauen was Jürgen/ immergut berichtet.

Viel Grüße, Benjamin

Hallo Rainer und Benjamin,
wenn ich die Zeile ( SetValueString($id_Info, utf8_decode($HTMLInfo)); ) von Rainer nehme, werden Artist und Titel zwar richtig angezeigt, jedoch ist kein Cover mehr da und meine Zone „Küche“ wird als „K?“ ausgegeben (Bild 1).
Wenn ich nach der besagten Zeile meinen Code einfüge, wird alles richtig angezeigt (Bild 2). Da ich die Variable „Info“ jedoch direkt per ID (52436) angebe, müsste ich den gleichen Code für jede weitere Zone nochmal einfügen. Es werden im WF auch nach jeder Variablenaktualisierung ganz kurz die Sonderzeichen angezeigt und dann wird es geändert.
Im Firefox (Bild 2) ist die Anzeige auch nicht so schön angeordnet wie im IE9 (Bild 3). Das war jedoch auch vor der Änderung schon so.

Vielen Dank nochmals für Eure Hilfe,
Jürgen

P.s.: Bei mir ist es jedoch nicht Zeile 334, sondern 441.

Das sieht doch fast so aus, als würde der HTML-Code nicht ganz stimmen.

Hi bengie,

ich bekomme im Log ständig folgende Einträge (nach Aufruf der br_sonos_read)


===192.168.xxx.xxx===
NORMALNOT_IMPLEMENTED
===

läuft hier was falsch/was muss ich da anpassen? Die betroffene Sonos-Box ist eine ZP90 und steht auf „festgelegtem Ausgangspegel“ 100% - das sind so die Besonderheiten die mir zur Konfig einfallen

Hallo Rainer, hallo Jürgen,

ich hab jetzt extra meinen geliebten Boden in „Boden Küche“ umbenannt und mit Rainers Idee getestet. :smiley: Bei mir kommt jetzt auch das Coverbild (der Link zum Bild war falsch codiert). Wird der Name korrekt als Küche angezeigt mit beigefügtem Code? Ich vermute Du hast jetzt Bild 1 MIT richtigem Cover?

Grüße, Benjamin

br_sonos.zip (49.1 KB)

Hum da kommt in der Tat „NOT_IMPLEMENTED“ zurück (RecQualityMode bei GetTransportSettings), aber eigentlich sollte diese DEBUG Zeile in der aktuellen PHPSonos Klasse auskommentiert sein.

Allgemein ist das kein Problem.
Hast Du die aktuelle Klasse verwendet? Ansonsten mal die aus dem br_sonos.zip verwenden.

Viele Grüße, Benjamin

Falls Du den Unterschied FF zum IE 9 meintest, das sieht bei mir auch sehr gleich aus.

Edit: Mir ist just aufgefallen die Uhrzeit wird in unterschiedlichem Format dargestellt in diesem Screenshot. Das sollte doch so auch nicht sein… ist aber ggf. der portablen FF Version anzukreiden.

Hallo Benjamin,

wer generiert denn den HTML-Code. Kommt dieser schon so vom Gerät oder selbst zusammen gestellt.

Bei dir scheint es ja zu passen.

Eventuell, sollte Jürgen mal den Cache löschen.

Hallo Rainer,
der HTML Code kommt primär vom IPS Webfront und der Inhalt der Info Box wird per Skript zusammengebaut (von mir bzw. br_sonos - kein Html etc. direkt vom Device).

Reload und Cache Löschen ist sicher eine gute Idee. Der Inhalt der Htmlbox arbeitet meist nur mit relativen Größen um eine gute Darstellung für die unterschiedlichen Webfront Geräte zu ermöglichen. Bisher sieht es bei mir auf Iphone, Ipad und div. PCs sehr ähnlich und gut aus (wird auf kleineren Geräten sinnvoll zusammengeschoben). :confused:

Viele Grüße, Benjamin

Edit: Ich könnte mir auch vorstellen: Wir Testen mit unterschiedlichen IE9, FF und IPS/WF-Versionen?!

Zu den Browsern kann ich nichts sagen. Deine IPS_Version ist zwar neuer wie Jürgen seine aber das WF ist das gleiche.

:cool:
Ich habe schon bzgl. der Sonderzeichen einen Fehler gesucht, den ich so nicht reproduzieren kann - sowas ist echt eine schwere Nummer!

Hi bengie,

ich dachte schon die neueste Klasse zu verwenden. Hab mir jetzt die Scripte aus Post 45 drübergebügelt - Problem scheint behoben. Allerdings bekomme ich nach jedem Scriptupdate immer Massen von diesen Fehlermeldungen:


21 in br_sonos_read.php (call br_sonos_read_all) IPS-Err-PHP  2011-08-08 21:34:00.674  Warning: Division by zero
   Error in Script C:\IP-Symcon\scripts\br_sonos.inc.php on Line 331


ich hau mir immer ein „@“ vor die Zeile, wär das machbar das Du das in Deinen „Quellcode“ übernimmst?


	@$Percent_Played= (int) (time_to_sec(br_objGetVar($ParentID ,"Position")) / time_to_sec(br_objGetVar($ParentID ,"Duration")) *100);

Danke für den Hinweis!

Ich würde aber lieber die Quelle des Problems ausmerzen und verstehen, insofern packe ich in meinen Code kein „@“ wie von Dir gewünscht nur um den Fehler zu vermeiden.

Hallo Benjamin,
habe jetzt die zwei Dateien „br_sonos.inc.php“ und „br_sonos_read_cover.php“ aus deinem Post 45 ausgetauscht. Erhalte im WF jetzt Bild 1 mit Cover, welches jedoch nie aktualisiert wird. Es bleibt immer das gleiche Bild.
Vielleicht ist ja bei mir doch etwas nicht in Ordnung bei den Dateien, die fürs WF zuständig sind. Könntest du mir mal diese Dateien von dir zur Verfügung stellen, damit ich das ausprobieren kann?

Gruß, Jürgen

Moin, habe alles installiert laut deiner Anleitung und klappt auch super. Einzig und allein „Control“ funktioniert nicht, hier wird statt der Symbole Visualization not possible ! ausgegeben.

Idee ?

hi roadster,

das Thema hatten wir weiter oben schon mal, schau mal rein: link:wink:

hi bengie,

ich hab leider reichlich Fehlermeldungen (bezgl. Häufigkeit) seit dem ich die Klasse und Scripte aus Post #45 übernommen habe:


Notice:  Undefined variable: IPS_VARIABLE in C:\IP-Symcon\scripts\br_sonos_update.php on line 5
DEBUG: PId: 0
DEBUG:0
Warning:  Wrong parameter type for ips_getobject() in C:\IP-Symcon\scripts\br_obj_handling.inc.php on line 113
DEBUG:0
Warning:  fsockopen() [function.fsockopen]: unable to connect to :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:\IP-Symcon\scripts\PHPSonos.inc.php on line 1403

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:\IP-Symcon\scripts\PHPSonos.inc.php:1405
Stack trace:
#0 C:\IP-Symcon\scripts\PHPSonos.inc.php(189): PHPSonos->XMLsendPacket('POST /DevicePro...')
#1 C:\IP-Symcon\scripts\br_sonos_update.php(42): PHPSonos->GetZoneAttributes()
#2 {main}
  thrown in C:\IP-Symcon\scripts\PHPSonos.inc.php on line 1405


ich hab mir meine Sonossis angeschaut, kann aber bei denen keinen Fehler finden (die sprechen eigentlich alle mit IPS) :confused:

Hi Raketenschnecke,
das Skript br_sonos_update hat keine IPS_VARIABLE als Aufrufer erhalten - Rufst Du es irgendwie anders auf, als über die Ereignisse bei Variablenänderung? Z.B. Manuell?

Ohne Aufrufer findet das SKript die Kategorie Deines Raumes nicht (Meldung DEBUG: PId: 0") und somit auch keine SONOS_IP und die PHPSonos kann sich nicht mit „“ verbinden und wirft die Exception.

Grüße, Benjamin

Hallo Jürgen!

Welche Dateien liegen unter C:\IP-Symcon\webfront\user (Name und Änderungsdatum)? Enthalten diese Dateien nach einem Liedwechsel das richtige Bild - also werden bloß im Webfront nicht aktualisiert?

Webfront mit der rechten Maustaste auf das Bild klicken -> Eigenschaften -> Adresse - was steht dort (bitte einmal altes Bild und einmal Bild ~10s nach Liedwechsel)?

Vielleicht ist ja bei mir doch etwas nicht in Ordnung bei den Dateien, die fürs WF zuständig sind. Könntest du mir mal diese Dateien von dir zur Verfügung stellen, damit ich das ausprobieren kann?

Ich denke das ist übers Forum schwierig zu veröffentlichen, da die WF Dateien ja als IPS Bestandteil sicher einem Copyright unterliegen.
In Deinem Webfront Ordner sollte sich aber eine Webfront.zip mit diesen Dateien finden. Grüße, Benjamin

Gab es eigentlich Fehler bei der Ausführung des br_sonos_setup (dort sollte das Profil erzeugt werden)?