Sonos Modul

nein, ist eine Sounddatei. Ich habe aber auch mit einer mp3 versucht.

Nein, so war das nicht gemeint das $ Zeichen bringt bei mir die Fehlermeldung :

Warning: Undefined variable $wecker_sound_form in C:\ProgramData\Symcon\scripts\xxxxx.ips.php 

ich hab jetzt mit einem andern Raum versucht und da gehts. Hab nun den betreffenden speaker vom Strom getrennt und alles neu geladen. Jetzt geht der wieder. Ich dachte, es sei wegen der aktuellen Fummelei von Sonos. Sorry für die Bemühungen.

Die Variable legt nur den Titel fest. diese sind in einer include aufgelistet.

Kann mir jemand einen Tip geben?
Hab von Server 2012 auf Linux/Ubuntu gewechselt und die ganze Konfig gut mitgenommen.
Sonos Modul läuft, aber bei jedem OS Neustart fehlen die Sender in der Auswahlliste welche über den Sonos Splitter gesetzt werden.
Wenn ich den Knopf Read Tunein Favs drücke, sind sie wieder da bist zum nächsten Neustart. Gibt es da was ich machen kann?

Hallo, folgendes Problem:

Diese Instanz ist kein Koordinator, aber der zuständige Koordinator konnte nicht ermittelt werden in /var/lib/symcon/modules/.store/de.kugelberg.sonos/SonosPlayer/module.php:2892

der betreffende Player ist ein Stereopaar aus zwei Play:5, aber in einer Gruppe sind die nicht. Muss ich irgendetwas beachten, wenn ich Stereopaare steuern möchte? Das RINCON ist bei beiden Playern gleich, ich habe aber nur eine Instanz angeleget.

Danke,
Tom

Lustig: Wenn ich das Stereopaar über die Discover-Instanz anlege, klappt es. Das ist insofern witzig, da im Feld Host die gleiche IP auftaucht. Der Fehler tritt anscheinend nur auf, wenn die Instanz manuell angelegt wird.

Kann mir bitte Jemand sagen wie ein Soundbar (Beam) mit verknüpftem Sub Mini angesprochen wird?
Also ist der Sub Mini dann extra oder gar nicht zu sehen bzw. zu steuern.
Die Discovery sieht nur den Beam…

Ja habe ich auch noch nichts gefunden.
In der Sonos App “verschwinden” Sub und Rear-Lautsprecher ja auch.
Wäre cool wenn man Sub und Rear auch über Symcon steuern könnte :loveips:

1 „Gefällt mir“

Hallo,

da ich so etwas nicht habe: Was kann man da denn steuern?

Es ist so:
Ich suche im Discovery die Boxen, indem ich auf einer beliebigen box GetZoneGroupState aufrufe und die dort enthaltenen Boxen analysiere.

<?

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);
$xml = $sonos->GetZoneGroupState();
$grouping = new SimpleXMLElement($xml);
$zoneGroups = $grouping->ZoneGroups->ZoneGroup;

foreach ($zoneGroups as $zoneGroup) {
  foreach ($zoneGroup->ZoneGroupMember as $zoneGroupMember) {
    var_dump($zoneGroupMember);
  }
}

Alle, die das Attribut [Invisible=„1“] gesetzt haben, werden ignoriert.
Bei mir sind das die 5.1 Boxen, die an der Soundbar hängen und der passive Lautsprecher meines Stereopaares:

Ich denke mal, das ist bei einem SUB auch so…

Aber hängt der nicht eh an einer anderen Box dran und wird somit darüber gesteuert?!

Gruß,
Thorsten

Der sub hängt da mit dran aber wäre cool wenn man den Pegel von Sub und Rear auch anpassen könnte :smiley:

Ist jetzt kein absolutes must have aber je nach Film oder Tageszeit kann man da mal ein paar dB nach korrigieren ohne die App auf zu machen😉


Moin, ich stelle gerade von Itunes auf mytunes um, weil mich die Werbung bei itunes nervt. Das ist zwar bei mytunes weg - aber die cover der Radiostationen werden leider auch nicht mehr angezeigt. In der App und Desktop-Version sind die aber da. Der „Cover-url“ String ist leider leer - bei itunes zeigte der auf das Senderlogo.

Es ist zwar nur ein kosmetisches Problem - aber lässt sich das beheben?

Danke,
Tom

Das Problem mit den Covern habe ich auch, und verstehe nicht so ganz warum.
Ist selbst bei Sonos Radio-Sendern so, bei manchen geht es, bei anderen nicht.

Nehme ich dann die Cover-url und öffne sie im Browser bekomme ich ein
AccessDenied
Was erklärt, warum ich sie nicht angezeigt bekomme. Der Grund dafür erschließt sich mir jedoch nicht.

Bin mir sicher, dass es nicht am Modul liegt, aber das nervt bei den Sonos…

Hier mal noch ein Beispiel:
Ich habe im Sonos-Splitter den Sender WDR2 als Radiosender eingetragen.
Die zugehörige Cover URL lautet:

s99169q.png (145×145) (tunein.com)

Diese lässt sich öffnen und anzeigen.
Wird der Sender abgespielt, steht in der Cover-URL:

cdn-profiles.tunein.com/s99169/images/logod.png?t=1

und dort kommt der Access denied…
:man_shrugging:t2:

Ist bei mir ähnlich, allerdings ist die Cover-url häufig auch einfach leer - obwohl in der App schon das Cover zu sehen ist. Kann man die URL rauskriegen, die da in der App benutzt wird?

Ja, du nimmst einfach den Link
http://cdn-radiotime-logos.tunein.com/XXXXX.png
und ersetzt die XX durch die Sender ID.
Diese wird z.B. auch im Symcon in einer Variable angezeigt:

image

Hallo,

wenn es nur so einfach wäre…
Je nachdem was abgespielt wird, versuche ich das Cover zu ermitteln.
$mediaInfo = $sonos->GetMediaInfo();
$positionInfo = $sonos->GetPositionInfo();

  1. Wenn $mediaInfo[‚CurrentURI‘] in den Radiosendern im Splitter vorhanden ist, wird das Image von da gekommen
  2. Wenn $mediaInfo[‚title‘] gesetzt ist, versuche ich per regex die Sender ID zu bekommen:
    $stationID = preg_replace(„#(.)x-sonosapi-stream:(.?)?sid(.*)#is“, ‚$2‘, $mediaInfo[‚CurrentURI‘]);
    Wenn das dann mit „s“ anfängt, wird das Image darauf gesetzt:
    $image = ‚https://cdn-profiles.tunein.com/‘ . $stationID . ‚/images/logod.png?t=1‘;
  3. Wenn $positionInfo[‚albumArtURI‘] gesetzt und nicht leer ist, nehme ich das.
  4. Wenn da überall nichts gefunden wird, wird es gecleared.

Wenn jemand einen Verbesserungsvorschlag hat, ich bin offen für alles.

Schaut euch doch mal in den Situationen an, was in $mediaInfo und $positionInfo so alles drin steht, und sagt mir:

  1. Welche Quelle war wie gesetzt (z.B. Spotify, direkt über die Spotify APP)?
  2. Wie kann ich die Situation erkennen (möglichst in $mediaInfo und $positionInfo)?
  3. Woher bekommt man dann das Cover?

Danke,
Thorsten

PS: Wen Details interessieren es passiert in der Funktion updateStatus().

Moin Thorsten.

Danke für die Erläuterungen. Ich denke dass deine Logik sehr gut funktioniert, denn eine leere Cover URL habe ich bislang nicht oder extrem selten gesehen.
Das Problem ist bei mir ja eher, dass dann auf diese URL nicht zugegriffen werden kann, und somit keine Anzeige möglich ist.
Daher ist ja die Frage, liegt es überhaupt am Modul?
Wie läuft denn die Authentifizierung gegen cdn-radiotime-logos.tunein.com ?
Denn offensichtlich meint der Service ja, dass ich dort nicht zugreifen kann.

Moin Thorsten,

sorry, muss nochmal nerven.
Wäre es möglich das Modul dahingehend anzupassen, dass bei den Radiostationen, die im Sonos-Splitter eingetragen werden, die Cover auch von der dort eingetragenen URL priorisiert werden? Oder evtl. ein Schalter mit dem man wählen kann (Auto/URL)?
So könnte ich zumindest für die Favoriten sicherstellen, ein Logo zu haben. Ggf. durch andere Quellen oder lokale Images…
Danke dir!!!

Christian

mich macht dieses Sonos seit diesen Superupdates halb wahnsinnig. Ich kann Radiostationen nur noch als Playlisten abspielen. Erhalte keine Titelanzeige mehr und dauernd erhalte ich Fehlermeldungen und es wird gar nichts mehr wiedergegeben.

Das hier kommt des öftern. Wenn ich dann das gleiche Script nochmals manuel ausführe, wird der Sender abgespielt. Ich weis aber nicht, was ich mit dieser Meldung anfangen soll. Vielleicht hat mir ja jemand eine Lösung.

Fatal error: Uncaught Exception: Error during Soap Call: UPnPError s:Client 800 (UNKNOWN) in C:\ProgramData\Symcon\modules\SymconSonos\Sonos\sonosAccess.php:577
Stack trace:
#0 C:\ProgramData\Symcon\modules\SymconSonos\Sonos\sonosAccess.php(15): SonosAccess->processSoapCall('/MediaRenderer/...', 'urn:schemas-upn...', 'AddURIToQueue', Array)
#1 C:\ProgramData\Symcon\modules\SymconSonos\Sonos\module.php(954): SonosAccess->AddToQueue('x-sonosapi-stre...', '<DIDL-Lite xmln...')
#2 C:\ProgramData\Symcon\scripts\__generated.inc.php(3475): Sonos->SetPlaylist('MOROW')
#3 C:\ProgramData\Symcon\scripts\45215.ips.php(20): SNS_SetPlaylist(17390, 'MOROW')
#4 {main}
  thrown in C:\ProgramData\Symcon\modules\SymconSonos\Sonos\sonosAccess.php on line 577

Hier der Teil des Scriptes:

	$morow_s2 	= 'MOROW';	
	SNS_SetPlaylist(17390, $morow_s2);
	SNS_PLAY(17390);

Guten Morgen,

ich bekommen bei einer Sonos Play:1 ständig solche Fehlermeldungen:

Kann mir da wer helfen?
Danke