ich habe gerade Version 2.5 als Beta bereitgestellt.
Könntet ihr mal testen und schauen ob noch alles geht?
Meine tests waren erfolgreich, aber vielleicht habt ihr ja noch was anderes…
Wenn ich positives Feedback bekomme, würde ich es gerne als „stable“ veröffentlichen.
Es sind vor allem Anassungen in Vorbereitung auf die ISP Version 7.
Da ich eine komplett eigene Visualisierung gebaut habe, hat bei mir erstmal gar nichts richtig funktioniert, da sich wohl die Status-Werte komplett geändert haben…
Sowas wie einen „Transistion“ state gibt es nicht mehr? Hatte in der früheren Version den int-Wert 5
ja, das war ein Wunsch von Niels. Jetzt verwende ich das von IPS ausgelieferte Profil.
Weiterhin hatte er den Transition Wert entfernt. Dieser ist im IPS Profil einfach nicht vorhanden.
Wir waren uns aber nicht ganz sicher wie gut das ist.
Alternativ hatten wir darüber nachgedacht, einen negativen Wert zu setzen, dann ist keine Assoziation ausgewählt…
Fände das mit dem negativen Wert auch völlig in Ordnung. Für mich wäre es nur schade, wenn dieser Wert komplett verschwinden würde, da meine Oberfläche visuell diesen Zustand darstellt (pulsierend).
<?php
//Abzuspielender Wiedergabeliste Spotify
$StatusWiedergabeliste = GetValue(17210);
//Sonos Bad Radio AUS
EIB_Switch(12776, false);
//Sonos BAD Radiosender setzen
SNS_SetPlaylist(21342,"$StatusWiedergabeliste");
//Sonos BAD Radiosender Play
SNS_Play(21342);
//Sonos BAD Lautstärke einstellen
SNS_SetVolume(21342, getvalue(56099));
?>
folgenden Fehler:
Fatal error: Uncaught TypeError: preg_replace(): Argument #3 ($subject) must be of type array|string, SimpleXMLElement given in C:\ProgramData\Symcon\modules\.store\de.kugelberg.sonos\SonosPlayer\module.php:1988
Stack trace:
#0 C:\ProgramData\Symcon\modules\.store\de.kugelberg.sonos\SonosPlayer\module.php(1988): preg_replace(Array, Array, Object(SimpleXMLElement))
#1 C:\ProgramData\Symcon\scripts\__generated.inc.php(7759): SonosPlayer->SetPlaylist('Release Radar')
#2 C:\ProgramData\Symcon\scripts\10488.ips.php(10): SNS_SetPlaylist(21342, 'Release Radar')
#3 {main}
thrown in C:\ProgramData\Symcon\modules\.store\de.kugelberg.sonos\SonosPlayer\module.php on line 1988
@Kugelberg, könntest du einbauen, dass man Sonos Instanzen deaktivieren kann? Ich habe aktuell eine Sonos Box nicht angeschlossen und möchte die Instanz dazu aber nicht löschen. Und ich glaube dadurch erhalte ich folgdene Fehler im Log:
31.05.2023, 07:55:44 | TimerPool | Sonos Splitter (Sonos Update Grouping):
Fatal error: Uncaught Exception: Error during Soap Call: Could not connect to host HTTP in /mnt/data/symcon/modules/.store/de.kugelberg.sonos/libs/sonosAccess.php:803
Stack trace:
#0 /mnt/data/symcon/modules/.store/de.kugelberg.sonos/libs/sonosAccess.php(435): SonosAccess->processSoapCall('/ZoneGroupTopol...', 'urn:schemas-upn...', 'GetZoneGroupSta...', Array)
#1 /mnt/data/symcon/modules/.store/de.kugelberg.sonos/SonosSplitter/module.php(390): SonosAccess->GetZoneGroupState()
#2 /mnt/data/symcon/scripts/__generated.inc.php(7503): SonosSplitter->updateGrouping()
#3 /-(1): SNS_updateGrouping(27318)
#4 {main}
thrown in /mnt/data/symcon/modules/.store/de.kugelberg.sonos/libs/sonosAccess.php on line 803
Es wäre super, wenn man die Instanzen inaktiv schalten könnte.
Es hat sich herausgestellt dass meine SymBox welche per Ethernet-Kabel am Router angeschlossen ist keine SSDP/UPnP-Requests ins WLAN Netz schicken kann (Sonos Gerät ist im WLAN).
Dementsprechend funktioniert es dann auch nach manuellem Anlegen nicht richtig.
Das Subnetz ist das gleiche, aber bei SSDP/UPnP macht mein Router wohl doch Unterschiede ob das Gerät drahtlos oder per Kabel verbunden ist.
Einstellen kann ich das wohl nicht, aber wenn beide auf die gleiche Art angeschlossen sind funktioniert die Kommunikation so wie sie soll.
@somm
So wie ich das sehe wurde nichts geändert was das verursachen könnte.
Der Wert der bei dir Probleme macht wird im Debug-Protokoll der entsprechenden Instanz geloggt.
Steht da etwas wenn du „Playlisten neu einlesen“ ausführst?
Direkt nach dem Eintrag BrowseContentDirectory(‚A:PLAYLISTS‘) (gelb markiert) sollte bei dir ein Eintrag UpdatePlaylists: Found PlayList kommen. Da sollte in der Spalte „Daten“ eigentlich der Name der importierten Playlist drin stehen.
Fatal error: Uncaught TypeError: Argument 1 passed to SonosPlayer::PlayFiles() must be of the type string, array given, called in /var/lib/symcon/scripts/__generated.inc.php on line 9499 and defined in /var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php:1313 Stack trace: #0 /var/lib/symcon/scripts/__generated.inc.php(9499): SonosPlayer->PlayFiles(Array, 20) #1 /var/lib/symcon/scripts/19088.ips.php(3): SNS_PlayFiles(10793, Array, 20) #2 {main} thrown in /var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php on line 1313
Kannst du mir bitte noch einmal genau erklären, wie ich eine mp3 lokal auf dem Raspberry pi abspeichern und abspielen kann?
Es wird kein php array, sondern ein JSON array erwartet.
wen Du also ein json_encode(array("http://192.168.2.185:3777/home/pi/sonos/mp3/Waesche-fertig.mp3"))
übergibst, sollte es funktionieren.
Gruß,
Thorsten
EDIT:
Ich sehe gerade, dass Du die Datei im Home Verzeichtnis liegen hast, das kann nicht gehen! Darauf hat der Webserver keinen Zugriff (es sei denn Du hast einen extra so konfiguriert).
Ich habe es bei mir so gemacht, das ich die Dateien nach „/var/lib/symcon/webfront/user/sonos“ (bzw. in Unterverzeichnisse) lege, und dann über „http://symcon.fritz.box:3777/user/sonos/datei.mp3“ abspiele.
ich verstehe nicht ganz, wie das passieren kann.
in dem code lasse ich mir
alle bekannten Sonos Instanzen geben.
mache einen Sys_Ping() auf die IP
bei der ersten, bei der das funktioniert lese ich das Grouping aus.
Das Einzige was ich mir vorstellen kann ist, dass die Eingetragene IP mittleiweile neu vergeben wure, was allerdings fatal wäre. Die Sonos Boxen sollten eine fixe IP bekommen.
Ich zeige nur das, was Sonos mir zurückliefert. Und wenn es da eine Playliste zurückschickt, ist da auch eine.
Ich denke mal, Du sprichst von der Bravi Hits 94…
Irgendwo in Deiner Musikbibliothek scheint es da die m3u Dataei aus dem Debugging log zu geben.
Ich würde mal auf OS Ebene danach suchen.
Bei den von mir bevorzugten Betriebssystemen gibt es das „find“ Kommando…