Hallo Thorsten, gibt es eventuell zum Abbrechen der Funktion SNS_PlayFilesGrouping schon eine Lösung?
Tom
Hallo Thorsten, gibt es eventuell zum Abbrechen der Funktion SNS_PlayFilesGrouping schon eine Lösung?
Tom
Hallo zusammen,
Kann mir jemand sagen wie ich Gruppen löschen kann?
Ich habe drei One in drei Räumen betrieben. Dann habe ich mein Netzwerk umstrukturiert und die Ones wurden in anderen Räumen verwendet.
Kurz gesagt, die Namen und die IP Adressen haben sich geändert.
Kann ich die „alten“ Einträge irgend wie löschen?
Vielen Danke im Voraus
Christoph
Hallo Thorsten und alle,
ich bekomme die Coverbildchen in der „Cover URL“ nicht mehr als 640x640 Bildchen, sondern nur noch als 64x64, was ziemlich verpixelt aussieht. Hat sich dahingehend etwas im Modul geändert ? Bekomme ich irgendwie die coverbilder wieder in besserer Auflösung ?
Danke,
Tom
[EDIT] Hab ein bisschen experimentiert. Ich habe eigtl. alles in Sonos Playlisten abgelegt, diese enthalten Spotify Tracks. Wenn ich die Playliste über Symcon auswähle, bekomme ich nur noch Mini Cover 64x64. Wenn ich aber über Spotify auswähle, kriege ich auch in der „Cover URL“ links, die 640x640px Bilder wiedergeben. Das war vor wenigen Wochen garantiert nicht so.
[EDIT2] Okay, das hat wohl weniger mit dem Modul zu tun, aber ist ja vielleicht schon anderen aufgefallen. Zumindest scheint dieses Problem bekanntund ein aktueller Bug der API zu sein:
https://en.community.sonos.com/music-services-and-sources-228994/spotify-album-artwork-is-distorted-6876690?postid=16622439#post16622439
Hallo,
sorry, ich hatte die letzte Zeit echt wenig Zeit…
Nun ja, „[44104]“ ist ein JSON Array. Halt nur mit einem Eintrag. Wenn Du mehrere Member hast, sieht es z.B: so aus:
string(31) „[20587,23466,25386,49825,52124]“
Das sind die Object IDs der Member (ohne Coordinator).
Bei den Funktionen bei denen ich es für Sinnvoll erachtet habe, habe ich es bereits so implementiert, dass das Kommando an den Coordinator weitergeleitet wird. das Gilt für:
Du kannst diese Aktionen also einfach auf jeden Member ausführen. Reicht das nicht?
Das musst Du SONOS fragen
Ich bilde nur ab, was ich von abfrage. Wenn ein Player alleine ist, ist dieser seine eigene Gruppe.
Natürlich könnte man einfach alle Boxen aus der Gruppe schmeißen, wenn man auf den Coordinator ein „SNS_SetGroup($instanceID, 0);“ ausführt. Das würde dann aber alles anhalten.
Irgendwie fände ich das aber seltsam…
Und wenn man nur die eine Box rausnimmt, wer is dann der neue Koordinator?
Ich bin eher ein Freund von expliziten Anweisungen:
Gruß,
Thorsten
Hallo,
nein, das geht leider nicht. Zumindest habe ich keine Ahnung, wie man das erkennen könnte.
Gruß,
Thorsten
Hallo,
Dazu bräuchte ich die genaue Bezeichnung im System.
Könntest Du mal bitte folgendes Script bei Dir ausführen:
<?
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);
Das gibt Dir eine Liste all Deiner Geräte zurück. Ich brauche das, was bei der Ray unter „Model“ steht.
Danke,
Thorsten
Hi Thorsten,
anbei der Output:
["RINCON_F0F6C1F2D5EE01400"]=>
array(5) {
["Name"]=>
string(17) "Schlafen Soundbar"
["Model"]=>
string(3) "Ray"
["RINCON"]=>
string(24) "RINCON_F0F6C1F2D5EE01400"
["IPAddress"]=>
string(9) "10.0.0.81"
["Invivble"]=>
bool(false)
}
Hi,
ich habe die Ray aufgenommen und erstmal als Beta version 2.4 bereitgestellt.
Könntest Du das bitte testen? Wenn alles OK ist, schicke ich es als stable.
Gruß,
Thorsten
Hallo,
in beiden Problemen Von Dir steht „Could not connect to HTTP“. Das bedeutet schicht und einfach, dass IPS nicht an die Boxen kommt. Dafür gibt es viele mögliche Ursachen:
Besteht das Problem noch, oder läuft es mittlerweile wieder?
Gruß,
Thorsten
Hallo,
die Gruppen werden aus den Boxen gefüllt, die gerade keiner Gruppe als member zugewiesen sind.
Ich suche alle SonosPlayer Instanzen und schaue ob sie Coordinator sind.
Wenn ja, werden sie dem Profil SONOS.Groups zugewiesen.
Wenn Du die alte / falsche Instanz löschst, sollte die Gruppe bei der nächsten Gruppenänderung automatisch verschwinden.
Alternativ kannst Du aber auch das Profil bearbeiten.
Gruß,
Thorsten
Das funktioniert!
Das hier dürften SONOS Fehler sein :
Meine Installation läuft eigentlich problemlos aber die Fehler hier stehen im Statusprotokoll und sollten falls möglich behoben werden
Hallo,
nein. Hier scheint das „__generated.inc.php“ nicht richtig generiert worden zu sein.
Bei mir hat bei diesem Fehler immer ein neustart von IPS geholfen.
Das ist ein SOAP Fehler der bei einem Aufruf in die Box geworfen wurde.
Wenn es immer der gleiche Callstack ist, ist es vielleicht etwas, was Deine Box nicht unterstützt.
Kannst Du mehr details bereitstellen?
Ein „Expand“ auf die Meldung sollte mehr anzeigen.
Danke,
Thorsten
Moin Leute,
ich taste mich gerade an das Thema Sonos ran weil ich über Sonos ein paar Durchsagen machen möchte. Hierbei bin ich über ein paar Probleme gestolpert …
Wäre schön wenn ihr mir bei den ersten Hürden helft.
Übrigens grosses Lob an Thorsten für das Modul.
Moin,
Doch, das sollte eigentlich so sein:
var_dump(YC_SearchDevices(IPS_GetInstanceListByModuleID('{FFFFA648-B296-E785-96ED-065F7CEE6F29}')[0], 'urn:schemas-upnp-org:device:ZonePlayer:1'));
Stimmt:
$knownModels = [
['caption' => 'Arc', 'value' => 'Arc'],
['caption' => 'Amp', 'value' => 'Amp'],
['caption' => 'Beam', 'value' => 'Beam'],
['caption' => 'Connect', 'value' => 'Connect'],
['caption' => 'Connect:Amp', 'value' => 'Connect:Amp'],
['caption' => 'Move', 'value' => 'Move'],
['caption' => 'One', 'value' => 'One'],
['caption' => 'One SL', 'value' => 'One SL'],
['caption' => 'Play:1', 'value' => 'Play:1'],
['caption' => 'Play:3', 'value' => 'Play:3'],
['caption' => 'Play:5', 'value' => 'Play:5'],
['caption' => 'Playbar', 'value' => 'Playbar'],
['caption' => 'Playbase', 'value' => 'Playbase'],
['caption' => 'Ray', 'value' => 'Ray'],
['caption' => 'Roam', 'value' => 'Roam'],
['caption' => 'SYMFONISK', 'value' => 'SYMFONISK']
];
Ich brauche aber zur Sicherheit was da exakt zurückkommt (siehe oben):
Wichtig ist das [„Model“]"
Du meinst, dass das Modul Text in Sprache umwandelt?
Das ist bewusst so.
Aber Du kannst ja einfach per TTS Lösung (da gibt es ja diverse) ein MP3 erzeugen und abspielen lassen. Hat mehrere Vorteile/Gründe:
Es gibt aber z.B. auch ein Polly Modul, das sich wunderbar integrieren lässt.
Danke.
Gruß,
Thorsten
Moin Thorsten und Danke für deine schnelle Reaktion.
Job 1 … der Output vom Five und Port
array(8) {
[„RINCON_347E5CE17C9401400“]=>
array(5) {
[„Name“]=>
string(6) „Küche“
[„Model“]=>
string(4) „Five“
[„RINCON“]=>
string(24) „RINCON_347E5CE17C9401400“
[„IPAddress“]=>
string(14) „192.168.178.82“
[„Invivble“]=>
bool(false)
}
[„RINCON_48A6B825858E01400“]=>
array(5) {
[„Name“]=>
string(10) „Wohnzimmer“
[„Model“]=>
string(4) „Port“
[„RINCON“]=>
string(24) „RINCON_48A6B825858E01400“
[„IPAddress“]=>
string(14) „192.168.178.83“
[„Invivble“]=>
bool(false)
}
}
Job 2 … das Ergebnis bezüglich Discovery sieht mau aus
array(0) {
}
Bei meinem dritten Punkt bin ich noch nicht weiter.
Sind beide Module nutzbar um Meldungen und Durchsagen über Sonos auszugeben?
Wäre bei Einstiegshilfe oder Alternativen dankbar.
ziemlich am Anfang war mal die Frage nach Fade In und Fade Out. Ist dies inzwischen möglich? Ich finde nichts dazu.
Ich möchte gerne die Geister-Player löschen.
Ich habe schon versucht, das Modul zu deinstallieren und wieder zu installieren.
Als folge tauchen immer mehr Geisterplayer auf, welche dann beim Auswählen eine Fehlermeldung generieren.
Ich habe 4 Sonos Player im Einsatz.
Ich verwende die aktuellste Version Symcon und Sonos Modul.
Weis jemand Rat?