Leider nein, da ich zur Zeit keine Sonos vor Ort habe. Aber da kann auch am ehesten Thorsten was dazu sagen wann denn momentan ein Cover bei einem Radiosender in der Detailanzeige vom Modul angezeigt wird und wann nicht.
Die Kommunikation mit den Boxen läuft immer über den gleichen Port. Daher ist es eher unwarscheinlich, dass es erst geht, dann nicht mehr.
Wenn ich Deine Logs richtig lesen, läuft Dein IPS auf einem windows Kiste. Die haben schon mal Firewalls installiert…
Das Sonos Modul macht recht oft einen Request um herauszufinden was da gerade auf der Box so abgeht.
Da kann es gut vorkommen, dass eine Firewall das als DOS erkennt…
Der Fehler ist eindeutig:
„Es konnte keine Verbindung hergestellt werden, da der Zielcomputer die Verbindung verweigerte.“ --> Die Box antwortet nicht.
Entweder ist die Adresse/IP falsch, oder der port 1400 wird dorthin geblockt.
Hast Du mal versucht in einem Browser von Deinem IPS Host aus z.b. „http://<sonos ip>:1400/status/topology“ zu erreichen? Geht das?
wenn ich diese finde rufe ich die Infos von Radiotime ab und lese das Logo aus.
Als Fallback habe ich noch ein Image in der ausgelieferten Senderliste drin.
Und nur wenn da etwas gefunden wird, wird das Logo angezeigt.
Hift Dir das?
Wenn nicht poste mal die rückgabe von:
include_once("../modules/SymconSonos/Sonos/sonosAccess.php");
$sonos = new SonosAccess("<Deine Box IP oder Hostname>");
var_dump($sonos->GetMediaInfo()['CurrentURI']);
vielen Dank für deine Unterstützung.
Habe dien Script mal ausgeführt.
Wenn ich Bayern 3 über die Sonos App oder die Favoriten im Webfront starte, bekomme ich folgende Ausgabe (kein Cover):
ich bin noch in der Arbeit.
Wie kann ich es testen, ob IPS radiotime.com abrufen kann?
Reicht es aus, wenn ich auf IPS-Rechner über den Browser radiotime aufrufe?
Upps, hab nicht bemerkt,dass du schon geantwortet hast, sorry.
Direkt vom IPS-Server kommt:
URI: string(41) „x-sonosapi-stream:s14991?sid=254&flags=32“
StationID: string(6) „s14991“
Result: bool(false)
Image: string(0) „“
Gruß Alex
Edit: Gerade noch vom Server, als auch am zweiten Rechner getestet. Beide zeigen jetzt das Ergebnis aus diesem Post.
Bayern3 läuft auf der Sonos Box. Sender am Pad (Sonos-App) gestartet.
Also, wenn die Box netzwerktechnisch nicht erreichbar ist, wird nicht mehr alle 5 Sekunden nachgefragt, sondern alle 5 Minuten. Sobald die Box wieder verfügbar ist geht es mit alle 5 Sekunden weiter.
Fürs Grouping sind es entsprechend längere Zeiten (120 und 900 Sekunden).
Wenn das Cover von Radiosendern ermittelt wird, steht das jetzt auch in der Variablen CoverURL
Es gibt eine neue Variable „Station ID“. Nur wenn diese sich ändert, wird das Cover erneut von radiotime abgerufen.
Zusätzlich wird die Station ID immer um 5 Minuten nach der vollen Stunde geleert, damit man ein evtl. geändertes Cover bekommt.
Gestern Abend habe ich eigentlich die Firewall ausgeschaltet und trotzdem kam kein Cover.
Mir ist gestern aber auch aufgefallen, dass meine Soundkarte nicht erkannt wurde. Im Gerätemanager war alles richtig und aktiv, allerdings kam beim Lautstärkeregler die Nachricht, dass keine Soundkarte vorhanden ist. In einigen Foren wurde darauf hingewiesen, dass evtl. einige Dienste nicht gestartet sind. So war es auch bei mir, warum auch immer.
Vielleicht hat sich dadurch auch mein Coverproblem gelöst. Werde es später, wenn ich zu Hause bin noch mal ausgiebig testen.
Noch eine Frage:
Ist es möglich das Cover auch anzuzeigen, wenn ich auf Pause oder Stop drücke (Radio und Playlist). Aktuell wird das Cover ja ausgeblendet. In der Sonos-APP bleibt das Cover des letzten Senders, oder Album angezeigt.
Wenn Du das willst müsstest Du momentan eine Hilfsvariable anlegen.
Fände ich ansich auch gut das die Variable nicht geleert wird sondern der letzte Wert stehen bleibt, denn dann weis man wie bei der Sonos App was läuft wenn man einfach auf Play drückt.
Hallo zusammen, habe heute das Modul neu upgedatet, seit dem wirft mein Log (Meldungen) alle 5 sec. folgendes für alle 4 Boxen aus:
26.10.2016 19:17:34*| ScriptEngine*| Ergebnis für Ereignis 58454
26.10.2016 19:19:05*| ScriptEngine*| Ergebnis für Ereignis 36585
26.10.2016 19:19:26*| ScriptEngine*| Ergebnis für Ereignis 35004
26.10.2016 19:19:51*| ScriptEngine*| Ergebnis für Ereignis 19946
Da ist eine Leerzeile nach dem ?> in der _updateStatus.php
Zumindest im commit 038f8567c8268fba49c8794f8b77928dce1a38aa, weiter habe ich nicht gesucht
Michael