Sonos Modul

Moin,

ich mache es über den SonoSaver (shareware). Damit kann ich Playlisten sichern / laden und zusammenfügen.

Eine andere Möglichkeit habe ich leider nicht gefunden.

Vg
Dieter

Was ist mit den Sonos Modul passiert mit IPS v7?

Ich habe jetzt überall Fehler und kriege z.B. dies:
C:\ProgramData\Symcon\scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php on Line 24Abort Processing during Fatal-Error: Uncaught ArgumentCountError: Too few arguments to function IPSLogger_PhpErrorHandler(), 4 passed and exactly 5 expected in C:\ProgramData\Symcon\scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php:24
Stack trace:
#0 [internal function]: IPSLogger_PhpErrorHandler(2, ‚Objekt mit Iden…‘, ‚C:\ProgramData\…‘, 69)

Woran könnte das denn liegen und wie kriegt man das wieder hin? Danke für einen Tip.

Hat nix mit SONOS zu tun, liegt am IPSLogger.
Schau mal weiter oben…

Gruß,
Thorsten

Danke für den Tip. Ich versuche gerade die nicht sehr hilfreiche Anleitung zum fixen dieses Teils zu verstehen.
Man merkt erst immer, wie einem solche Funktionen wie die von Dir plötzlich fehlen.

Endlich gefunden und händisch editiert. Und es funktioniert wieder.
Wünsche das wäre etwas einfacher gewesen. Trotzdem Danke nochmals für den Tip.

Nächstes mal changelog vorher lesen. Dann hätte ein update der library gereicht.

Insbesondere Nutzer der IPSLibrary/IPSLogger sollten VOR dem Update auf IP-Symcon 7.0 diese aktualisieren. Notfalls können die notwendigen Änderungen manuell nachgepflegt werden (Details).

1 „Gefällt mir“

@Kugelberg
Wie kann ich erfragen, ob ein Sonosgerät eingeschaltet ist.
Ich habe einen mobilen Play1, der mal im Zimmer, mal auf der Terrasse steht oder ganz vom Stromnetz getrennt ist. Eine Gruppendurchsage versagt aber, wenn ein Gerät nicht verfügbar ist.
Ich hatte gehofft mit einem Rückgabewert von SNS_UpdateRINCON() etwas zu erfahren, doch die Funktion scheint nicht verfügbar

ich mache es so: $ping = Sys_Ping($id_adr, 1000);
Gruß, Peter

1 „Gefällt mir“

Moin.

Kann mir jemand sagen, warum ich bei den meisten Sendern (TuneIn) keine Logos angezeigt bekomme?

Bei anderen geht es aber:

Wenn ich mir den Link dazu in einem neuen Tab öffne, erhalte ich ein „Access Denied“

image

Wie kommt das zustande?
Besten Dank!

Hallo,
ich habe mal eine Frage zum Abspielen eigener Mp3s mit dem Befehl „SNS_PlayFiles“.
Besteht auch die Möglichkeit das Cover der eigenen Mp3 anzeigen zu lassen?

Obwohl ich in der Mp3 bei der Tagbearbeitung ein Cover hinterlegt habe, wird mir immer nur ein transparentes Cover angezeigt. Der Name der Mp3 lässt sich aber darstellen.

Viele Grüße
marvus

Hi,

wird das Cover denn in der App angezeigt?

Gruß,
Thorsten

Hallo Thorsten,
stimmt, in der Sonos App wird auch kein Cover angezeigt.
Geht das generell nicht oder hat das was mit meinem System zu tun?

Ips läuft auf einem Docker auf der Synology. Auf der Syno liegen die Audiodateien abgelegt.

Viele Grüße

Abend, ab und an bekomme ich bei verschiedenen Sonos boxen folgenden Fehler:

Hat hierzu jemand einen Tipp, oder eine Idee, an was es liegen könnte?

VG

Hallo,

schon…

In Zeile 155 geht die Discovery Instanz über alle Boxen drüber und ruft http://192.168.1.10:1400/xml/device_description.xml auf. Natürlich mit den jeweiligen IPs.

$xml = @file_get_contents((string) $zoneGroupMember->attributes()['Location']);

In dem Attribut Location steht die oben genannte URL.
Wenn da etwas zurückkommt werden aus dem XML einige parameter ausgelesen.

if ($xml) {
                                $description = new SimpleXMLElement($xml);
                                $SonosDevices[(string) $zoneGroupMember->attributes()['UUID']] = [
                                    'Name'      => strval($zoneGroupMember->attributes()['ZoneName']),
                                    'Model'     => strval($description->device->displayName),
                                    'RINCON'    => strval($zoneGroupMember->attributes()['UUID']),
                                    'IPAddress' => $ip_match[0]
                                ];
                            } else {
                                $this->SendDebug(__FUNCTION__, 'nothing returned from ' . (string) $zoneGroupMember->attributes()['Location'], 0);
                            }

Zeile 155 ist jetzt die erste Zeile nach dem if, wo $description gefüllt wird.

Scheinbar kommt da was zurück, aber kein valides XML…
Kann Du details des Fehlers sehen? was da unter hinter dem "W… " könnte interessant sein.

Gruß,
Thorsten

Hier der komplette Fehler:

Warning: SimpleXMLElement::__construct(): Entity: line 118: parser error : Premature end of data in tag serviceType line 118 in /mnt/data/symcon/modules/.store/de.kugelberg.sonos/SonosDiscovery/module.php on line 155

Warning: SimpleXMLElement::__construct(): urn:schemas-upnp-or in /mnt/data/symcon/modules/.store/de.kugelberg.sonos/SonosDiscovery/module.php on line 155

Warning: SimpleXMLElement::__construct(): ^ in /mnt/data/symcon/modules/.store/de.kugelberg.sonos/SonosDiscovery/module.php on line 155

Fatal error: Uncaught Exception: String could not be parsed as XML in /mnt/data/symcon/modules/.store/de.kugelberg.sonos/SonosDiscovery/module.php:155
Stack trace:
#0 /mnt/data/symcon/modules/.store/de.kugelberg.sonos/SonosDiscovery/module.php(155): SimpleXMLElement->__construct(‚<?xml version="…‘)
#1 /mnt/data/symcon/modules/.store/de.kugelberg.sonos/SonosDiscovery/module.php(38): SonosDiscovery->DiscoverDevices()
#2 /mnt/data/symcon/scripts/__generated.inc.php(6223): SonosDiscovery->Discover()
#3 /-(1): SNS_Discover(26381)
#4 {main}
thrown in /mnt/data/symcon/modules/.store/de.kugelberg.sonos/SonosDiscovery/module.php on line 155

VG und danke für die Hilfe :slight_smile:

Hallo,

Wenn ich das bei mir im Browser mal http://192.168.1.10:1400/xml/device_description.xml aufrufe, steht in Zeile 118 folgendes:

      <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>

„Premature end of data in tag serviceType“ verstehe ich so, dass bei Dir nicht die komplette Zeile ankommt.
Kannst Du mal versuchen, das für Deine Boxen nachzuvollziehen?
Wenn dem wirklich so ist, liegt der Fehler irgendwo außerhalb des Moduls…

Gruß,
Thorsten

Servus,

Habe es eben mal nachvollzogen.

Bei allen bis auf zwei Boxen steht <serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>

und bei den zwei steht folgendes <serviceType>urn:schemas-upnp-org:service:RenderingControl:1</serviceType> (Die laufen zu 99% in Gruppe, liegt es daran?)

VG

Guten Abend,

ich habe eine Frage, wenn ich per snsplayfile einen Sound an die Sonos übertrage (in dem Fall die Türklingel) funktioniert es auch soweit ohne Probleme. Auch wenn ich Radio auf der Box höre, klingelt es und danach wird Radio weiter gespielt. Problem ist jedoch, wenn über Spotify Connect was abgespielt wird. Dann wird der Klingelton wohl abgespielt aber danach läuft Spotify nicht mehr, dass muss ich dann neu verbinden und dann geht’s weiter.

Im Skript kommt dann folgende Meldung

Fatal error: Uncaught Exception: Error during Soap Call: UPnPError s:Client 402 (ERROR_AV_UPNP_AVT_INVALID_ARGS) in /var/lib/symcon/modules/.store/de.kugelberg.sonos/libs/sonosAccess.php:812
Stack trace:
#0 /var/lib/symcon/modules/.store/de.kugelberg.sonos/libs/sonosAccess.php(562): SonosAccess->processSoapCall(‚/MediaRenderer/…‘, ‚urn:schemas-upn…‘, ‚SetAVTransportU…‘, Array)
#1 /var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php(1436): SonosAccess->SetAVTransportURI(‚x-sonos-vli:RIN…‘, ‚<DIDL-Lite xmln…‘)
#2 /var/lib/symcon/scripts/__generated.inc.php(7547): SonosPlayer->PlayFiles(‚["\/\/192.168.2…‘, ‚50‘)
#3 /var/lib/symcon/scripts/30441.ips.php(4): SNS_PlayFiles(37636, ‚["\/\/192.168.2…‘, 50)
#4 {main}
thrown in /var/lib/symcon/modules/.store/de.kugelberg.sonos/libs/sonosAccess.php on line 812

Gib es dafür eine Lösung oder geht das leider nicht anders?

Mfg

Hallo Thorsten, mit meinem neuen Move2 habe ich gleich 2 Fragen bzw. Bitten:

1.) Kannst du den „Move 2“ auch aufnehmen? Erkannt wird nur der Vorgänger „Move“

2.) Mehr Sorge bereitet mir aber, dass der „Move 2“ nur mit der neuen App läuft, die wohl mal S2 hieß. Meine anderen älteren Geräte laufen dafür nur mit S1 - und alles neu kaufen will ich natürlich auch nicht. Das hat allerdings zur Folge, dass ich mit dem Sonos Modul so nicht weiter komme: Brauche ich jetzt 2 getrennte Splitter oder wie gehe ich vor? Sämtliche Steuerungsversuche quitiert das Sonos Modul, da kein Koordinator gefunden werden kann…

Danke,
Tom

Welche alten Geräte hast Du denn? Play:1, Play:3, Playbar und sub kann man auf die S2 Kompatibe Firmware upgraden. Play:5 nicht…

Du kannst auch mit dem Sonos-Modul keine S1 und S2 Gleichzeitig in eine Gruppe zusammenbringen.