Gibt es eine Möglichkeit an die im Splitter angelegten Radiosender/Bild-URLs zu kommen?
Ich habe eine eigene auf Vue.js basierende Visualisierung und würde gerne die zu Verfügung stehenden Radiosender mit Bild automatisiert anzeigen können.
erstmal vielen Dank an Dich, dass Du das Sonos Modul entwickelt hast. Ich habe dies seit ein paar Tagen im Einsatz und bin sehr angetan davon.
Bei einem Punkt benötige ich Deine Hilfe. Eine Sonos ist vom Typ „ROAM“. Diese habe ich heute Morgen an das Ladegerät angeschlossen und erhalte seit dem diese Fehlermeldungen:
schick mir mal, wie Du das Radio einstellst.
Über Symcon? Dann bitte auch welche URL Du verwendest. Oder gehst Du über die App?
Ich habe kürzlich das etwas „verbessert“, zumindest so dass bei mir alles geht…
Leider kann man da die Sendereinstellungen auf zu viele unterschiedliche Arten machen.
Hello!
Bekomme seit heute alle 6 Sekunden die Fehlermeldung - bitte um Hilfe!
30.01.2022, 18:11:49 | TimerPool | Schlafzimmer (Sonos Update Status):
Fatal error: Uncaught Exception: Error during Soap Call: UPnPError s:Client 803 (UNKNOWN) in C:\ProgramData\Symcon\modules.store\de.kugelberg.sonos\libs\sonosAccess.php:801
Stack trace: #0 C:\ProgramData\Symcon\modules.store\de.kugelberg.sonos\libs\sonosAccess.php(231): SonosAccess->processSoapCall(’/MediaRenderer/…’, ‚urn:schemas-upn…‘, ‚GetOutputFixed‘, Array) #1 C:\ProgramData\Symcon\modules.store\de.kugelberg.sonos\SonosPlayer\module.php(2226): SonosAccess->GetOutputFixed() #2 C:\ProgramData\Symcon\scripts__generated.inc.php(2867): SonosPlayer->updateStatus() #3 C:\Windows\System32-(1): SNS_updateStatus(17642) #4 {main}
thrown in C:\ProgramData\Symcon\modules.store\de.kugelberg.sonos\libs\sonosAccess.php on line 801
IPS 6.0
Sonos Modul 2.3 (?)
2 IKEA einer davon „Schlafzimmer“ (siehe oben)
1 Playbar (LAN)
Heute auf allen Lautsprechern gespielt, keine Probleme, Letzte Version Sonos installiert.
Kein Update bei IPS Modulen anstehend
das ist seltsam.
Also: Es gibt ein paar boxen, bei denen man die Lautstärke nicht ändern kann, wenn sie z.B: ein SPDIF eingang gesetzt haben.
Dann gibt es eine Exception, wenn man versucht die Lautstärke anzupassen.
Um genau das zu verhindern wird im UpdateStatus ganz am Anfang dieses Attribut der Box abgefragt:
if ($sonos->GetOutputFixed()) {
if ($this->ReadAttributeBoolean('OutputFixed') == false) {
$this->WriteAttributeBoolean('OutputFixed', true);
$this->DisableAction('Volume');
}
} else {
if ($this->ReadAttributeBoolean('OutputFixed') == true) {
$this->WriteAttributeBoolean('OutputFixed', false);
$this->EnableAction('Volume');
}
}
Und genau an dieser Stelle kommt jetzt die Exception von Sonos. Scheinbar hat Deine Box ein Problem damit diese Information zurückzugeben.
Ich habe auch IKEA Boxen, und die machen das ohne zu mucken.
Hat sich da etwas an Deiner Box geändert? Ist sie evtl. jetzt teil eines Stereo Paares?
mit diesem Script (IP anpassen nicht vergessen!) bekommst Du eine Liste all Deiner Boxen:
<?
if(file_exists('../modules/SymconSonos/Sonos/sonosAccess.php')){
include_once '../modules/SymconSonos/Sonos/sonosAccess.php';
}elseif(file_exists('../modules/Sonos/libs/sonosAccess.php')){
include_once '../modules/Sonos/libs/sonosAccess.php';
}elseif(file_exists('../modules/.store/de.kugelberg.sonos/libs/sonosAccess.php')){
include_once '../modules/.store/de.kugelberg.sonos/libs/sonosAccess.php';
}else{
die('sonosAccess.php not found');
}
// enter your IP here
$ip = '192.168.1.10';
//
$sonos = new SonosAccess($ip);
$grouping = new SimpleXMLElement($sonos->GetZoneGroupState());
$zoneGroups = $grouping->ZoneGroups->ZoneGroup;
foreach ($zoneGroups as $zoneGroup) {
foreach ($zoneGroup->ZoneGroupMember as $zoneGroupMember) {
if (isset($zoneGroupMember->attributes()['Invisible'])) {
$invisible = true;
}else{
$invisible = false;
}
if (preg_match('/\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}/', (string) $zoneGroupMember->attributes()['Location'], $ip_match)) {
if (Sys_ping($ip_match[0], 1000)) {
$xml = @file_get_contents((string) $zoneGroupMember->attributes()['Location']);
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],
'Invivble' => $invisible
];
}
}
}
}
}
var_dump($SonosDevices);
Kannst Du bitte mal schauen, ob die Box mit dem Fehler als „Invisible“ markiert ist?
Gerne kannst Du mir auch den Output zuschicken.
Dann würde ich den Fehler erwarten…