Sonos Modul

Danke für das tolle Modul. Habs heute mal ausgiebig getestet (inkl. TTS) Funktioniert soweit ganz gut.

Nun würde ich allerdings ganz gerne meine Musikdatenbank von der Syno irgendwie abgespielt bekommen. Alles das was ich mit der Sonos App könnte.
Jetzt könnte man sich fragen, warum ich dann nicht die entsprechende App dafür nehme?! Eigentlich genau so klar, wie die Möglichkeit Hue Lampen aus IPS heraus zu steuern. Alles fliesst zusammen… und nicht x verschiedene Apps.

Gibt es da schon irgendwas, was vllt. sehr leicht hier anzukoppeln ist? Man brauch ja eigentlich nur den Netzwerklink auf die entsprechende MP3 Datei übergeben?

Was sagt der Author dazu?

Hallo,

ins Modul habe ich kurzfristig noch das Folgende vor:

[ul]
[li]Playlisten einfacher absppielbar machen
[/li][li]Wahlmöglichkeit ob Radioliste aus mitgelieferter Liste oder „Meine Radiosender“ kommt
[/li][/ul]

Mittelfristig würde ich gerne eine Splitter oder Konfigurationsinstanz einführen, wo man allgemeine Konfigurationen (z.B. Radio oder Playlisten) machen kann. Muss man je nicht in jeder Instanz machen.
Evtl. könnte man dann auch einen eigenen Instanztypen für Gruppen machen, denen man dann einen Koordinator und Teilnehmer zuordnen könnte… Da muss ich aber noch mal drüber nachdenken.

Bezüglich Dateien aus der Bibliothek in die Queue aufzunehmen habe ich nichts geplant. Das halte ich auch nicht für richtig. Oder ich kann es mir einfach nicht vorstellen wie so etwas aussehen könnte.
Außerdem gibt es dafür (wie Du ja schon bemerkt hast) die App. Aber vielleicht wäre der Ansatz mit den Playlisten ja eine kleine Hilfe.

Wenn Du da was machen willst:
Du kannst mit den Funktion BrowseContentDirectory der sonosAccess Klasse auch nach Titeln in der Bibliothek suchen und bekommst den Link zurück.
Und mit AddToQueue könntest Du es dann hinzufügen.

Die genaue Syntax müsste ich auch ausprobieren. Wenn Du aber alleine nicht weiter kommst, kann ich Dir zumindest mal zusammenschreiben was ich schon so alles rausgefunden habe :wink:

Wenn Du etwas hast wovon Du denkst, dass es gut fürs Modul wäre… Ich bin zu allem bereit, sofern ich davon überzeugt bin :smiley:

Gruß,
Thorsten

Hallo Thorsten,

dein Modul ist super. Habe es gestern Abend häufig als Referenz für mein erstes eigenes Modul verwendet (Wunderground (Testversion)).

Nun aber zu deinem Sonos Modul:
Habe bei mir aktuell zwei Sonos Play 1 installiert und mit deinem Modul getestet. Die Lautstärke ist in beiden Räumen jeweils um die 10 bis 15% gesetzt. Dieser Wert lässt sich im Slider leider via Touchscreen sehr schwierig setzen. Wäre es möglich, in der Konfig eine Option einzubauen, welche die maximal Sonos Maximallautstärke definiert? Der Slider soll dann diesen Wert als Grundlage für die Anzeige / das Setzen der Lautstärke nehmen.

Maximal Sonos Lautstärke beispielsweise: 30%

Eine eingestellte Lautstärke von Sonos 15% wären im Slider 50%.
Eine eingestellte Lautstärke im Slider von 40% wären im Sonos 12%.

Gruß,
Tobi

Hi,

für mich hört sich das eher nach einem Prameter „Volume-Faktor“ an. Beim auslesen muss der Wert von Sonos damit Multipliziert werden, beim setzen muss der angegebene Wert dadurch dividiert werden. Natürlich dann immer aufgerundet.

Und wenn irgendwann was über 100 rauskommt, wird es halt auf 100 gesetzt.
Wären aber einige Stellen anzupassen. Ich behalte es mal im Hinterkopf.

Gruß,
Thorsten

Hi Thorten,

Habe mich grade mal mit dem Sonos Modul beschäftigt und muss sagen super sache. Lief alles auf Anhieb.

Ist es auch möglich das du Radio 91,2 (Dortmund) auch hinzufügt.
Windows Media Stream : http://www.inparty-fm.de/streams/dortmund/radio912.asx
MP3 Stream: http://livestream.radio912.de

Gruß Stephan

Hallo,

ist drin, allerdings mit der URL http://lokalradiostream.de:8004, die anderen haben irgendwie nicht richtig funktioniert.

Wenn Du eine bessere hast, nur her damit.

Gruß,
Thorsten

Hi Thorsten,

ich habe schon mal überlegt, die Radioliste anders anzulegen, so dass jeder selber ändern kann,
Was hälst du da von ?
Idee wär, es gibt eine „user_radio“ PHP, dann hole die Daten da weg.

Es wäre aus meiner Sicht besser die Radiosender einfach in ein separates Formular zu überführen. Dort kann dann der User die Sender ergänzen. Die einzelnen Sonos Instanzen ziehen sich dann die Daten vom Parent dann braucht es auch keine separaten Konfiguationsscripte.

Hallo Thorsten,

vielen Dank für das Einfügen von unserem Örtlichen Radiosender. Funktioniert soweit einwandfrei. Er taucht nur nicht in der Favoritenliste auf. Ist aber weiterhin nicht schlimm.

Ich habe aber noch zwei ganz andere Fragen.

Als erstes habe ich das Problem wenn ich über die Sonos app mal Kurzfristig zwei Sonos Player zusammenfüge (in eine Gruppe) bekomme ich in IPS folgende Fehlermeldung:

Error: Uncaught exception 'Exception' with message 'Error during Soap Call: UPnPError s:Client 800 (UNKNOWN)' in C:\Program Files\IP-Symcon\modules\SymconSonos\Sonos\sonosAccess.php:437
Stack trace:
#0 C:\Program Files\IP-Symcon\modules\SymconSonos\Sonos\sonosAccess.php(168): SonosAccess->processSoapCall('/MediaRenderer/...', 'urn:schemas-upn...', 'GetRemainingSle...', Array)
#1 C:\Program Files\IP-Symcon\scripts\54485.ips.php(41): SonosAccess->GetSleeptimer()
#2 {main}<BR>   thrown<BR>    Error in Script C:\Program Files\IP-Symcon\modules\SymconSonos\Sonos\sonosAccess.php on Line 437
134 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger.inc.php (call IPSLogger_Out)
33 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_Err)
121 in scripts\IPSLibrary\app\core\IPSLogger\IPSLogger_PhpErrorHandler.inc.php (call IPSLogger_PhpErrorHandler)
in IPSLogger_PhpFatalErrorHandler

Was mache ich falsch oder ist es nicht mehr möglich Player zusammen zu fügen?

Meine zweite Frage ist wie folgt. Ich würde gerne die Sonos-Player im IPS-Wecker mit einbinden so dass sie als Radiowecker funktionieren. Soweit alles kein Problem. Nun befinden sich im Obergeschoss 4 Player und wenn alle anfangen den gleichen Radiosender abzuspielen ohne die Player in einer Gruppe zu haben hört sich das irgendwie bescheiden an.

Wie kann ich es hin bekommen, das wenn z.B. zwei oder mehrere Play den gleich Radiosender Abspielen die Player automatisch in eine Gruppe zusammengefasst werden.

Über Ideen oder Lösungsansätze würde ich mich freuen.

Gruß Stephan

Hi,

das war einfach. Ist jetzt drin.

Das scheint beim auslesen des Sleeptimers zu sein. Evtl. überprüfe ich den Sleeptimer immer von jeder Box, müsste aber auf die Gruppe gehen.
Der Fehler sollte weg sein, wenn Du den Sleeptimer fürs erste mal deaktivierst. Ich schaue mir das dann am Wochenden mal genauer an.

Immer wenn sie zufällig das gleiche spielen? Puh…
Man könne über die CurrentURI aus der MediaInfo feststellen (per GetMediaInfo() aus der sonosAccess Klasse) wer den gleichen Stream spielt. Das gilt dann aber nur für Radiosender. Playlisten nicht.
Wenn man damit dann eine Gruppe bilden möchte, müsste man allerdings eine der Boxen dynamisch als GroupCoordinator machen und die anderen zuweisen. Könnte gehen…
Es sei den man hat eine, die immer Koordinator sein könnte. Das wäre einfacher.

Das mit dem Gruppenkonzept gefällt mir nich nicht so ganz. Evtl. muss ich in der Version 2.0 eine SonosGruppenInstanz einführen, mit dem das dann deutlich einfacher ginge…
z.B. SNSGROUP_SetKoordinator(); oder so.
Aber wie gesagt: Zukunftsmusik.

Ich werde aber relativ bald detaillierte Statusinfos anbieten (Album, Artist, Titel, …) warum nicht auch CurrentURI…

Gruß,
Thorsten

Hi Thomas,

Vielen Dank, der Radiosender ist jetzt unter den Favoriten, auch die Fehlermeldung ist verschwunden wenn ich den Sleeptimer deaktiviere.

Das mit dem Gruppe zusammenfassen würde ich aber nur machen wenn ein Radiostream abgespielt wird. Das ist schon eine gute Idee wenn zwei Player das gleiche spielen einen der Player als als Master setzten.

Wäre super wenn du da hinbekommen würdest mit dem SNSGROUP_SetKoordinator(); oder so.
Gruß Stephan

Hallo Thorsten,

erstmal vielen Dank für Deine super Arbeit! Alles funktionierte sofort :smiley:

Könntest Du bitte noch folgende Radio Stationen mit rein nehmen:

Hitradio N1 x-rincon-mp3radio://webstream.hitradion1.de/hitradion1
Energy x-rincon-mp3radio://energyradio.de/nuernberg

Vielen Dank!

Schöne Grüße,
Dennis

Moin,

ich habe das mal hinzugefügt, konnte es aber nicht testen, da ich mich nicht in Reichweite meiner Boxen befinde.

Ein kurzer Test mit feedback wäre super.

Gruß,
Thorsten

Hallo Thorsten,
bitte auch 1live Digi als Radiosender hinzufügen. Danke!

http://1live.akacast.akamaistream.net/7/706/119434/v1/gnl.akacast.akamaistream.net/1live

Gruß,
Tobi

Hi,

unterscheidet sich das vom „normalen“ 1Live? Ich habe gerade mal reingehört, und es war das gleiche.

Gruß,
Thorsten

Anderes Programm, andere Moderatoren und viel mehr Musik. Es ist nicht das Gleiche. Selbst die Musik ist nicht identisch.

Aaaabend :slight_smile:

Hab eben das aktuelle SonosModul-Update geladen und wurde mit Fehlern in 2 Räumen „empfangen“ :smiley: Die anderen Räume wurden nicht angemeckert und die Fehler kamen auch nur 1x und danach nicht mehr :confused:

Das Event ist der Timer unter „_updateStatus“. Beide Fehlermeldungen sind gleich, nur mit anderen IDs:

12.01.2016 22:02:24*| ScriptEngine*| Result for Event 44344
<br />
<b>Warning</b>:  InstanceInterface is not available in <b>/usr/share/symcon/scripts/28059.ips.php</b> on line <b>5</b><br />
<br />
<b>Warning</b>:  InstanceInterface is not available in <b>/usr/share/symcon/scripts/28059.ips.php</b> on line <b>6</b><br />
<br />
<b>Fatal error</b>:  Uncaught exception 'Exception' with message 'Error during Soap Call: Unable to parse URL HTTP' in /usr/share/symcon/modules/SymconSonos/Sonos/sonosAccess.php:439
Stack trace:
#0 /usr/share/symcon/modules/SymconSonos/Sonos/sonosAccess.php(180): SonosAccess->processSoapCall('/MediaRenderer/...', 'urn:schemas-upn...', 'GetTransportInf...', Array)
#1 /usr/share/symcon/scripts/28059.ips.php(12): SonosAccess->GetTransportInfo()
#2 {main}
  thrown in <b>/usr/share/symcon/modules/SymconSonos/Sonos/sonosAccess.php</b> on line <b>439</b><br />
Abort Processing during Fatal-Error: Uncaught exception 'Exception' with message 'Error during Soap Call: Unable to parse URL HTTP' in /usr/share/symcon/modules/SymconSonos/Sonos/sonosAccess.php:439
Stack trace:
#0 /usr/share/symcon/modules/SymconSonos/Sonos/sonosAccess.php(180): SonosAccess->processSoapCall('/MediaRenderer/...', 'urn:schemas-upn...', 'GetTransportInf...', Array)
#1 /usr/share/symcon/scripts/28059.ips.php(12): SonosAccess->GetTransportInfo()
#2 {main}
  thrown
   Error in Script /usr/share/symcon/modules/SymconSonos/Sonos/sonosAccess.php on Line 439

Vlt. kannst du etwas damit anfangen und das irgendwie abfangen. Beide Sonos Playern waren „online“, aber keiner hat was abgespielt. Stehen also auf STOP. Beim beiden wurde zuletzt Online-Radio abgespielt…falls das relevant ist :slight_smile:

Vmtl. sind die Timer genau in dem Moment „gestartet“, als ich das Update vom Modul gemacht hab und dann hat es geknallt…

Grüße,
Chris

Hi,

Tolles Modul, danke dafür!

Eine Frage zu den Radiosendern. Gibt es irgendwie die Möglichkeit, eigene Radiosender „updatesicher“ hinzuzufügen?

Als Ösi, hören wir hier unten doch andere Sender als in Deutschland :wink:

lg
Andreas

Hallo,

erstmal kannst Du mir die benötigten Sender senden und ich nehme sie auf. Dann können auch andere Ösis davon profitieren;)
Bin morgen wieder zu Hause, dann werde ich eh noch 1live digi hinzufügen…

Da dieses Thema immer wieder hochkommt, muss ich mir wohl was überlegen…

Gruß,
Thorsten

Moin… wenn Du schon dabei bist… 91.7xfm (Hamburger Sender) wäre top!!! :slight_smile:
Danke und morgendliche Grüße aus dem Bus,
Peter