Sonos Modul

So, habe mein Problem gelöst - war eigentlich total banal.

Ich habe einfach die Playliste die bei Favorites war als Sonos Playliste abgelegt und dann konnte man einfach über das Modul steuern.

Nun kann ich Alexa per Sprache anweisen folgende Szene zu starten:

[ul]
[li]Sonos auf 20% Lautstärke
[/li][li]Sonos Playliste Schlafen wählen
[/li][li]Sonos Sleeptimer 60 Minuten stellen
[/li][li]Sonos Play
[/li][li]Dachfenster öffnen (nur wenn nicht regnet)
[/li][li]Dachfenster nach einer Stunde wieder schließen
[/li][/ul]

Und alles bequem aus dem Bett ohne irgendwas in die Finger nehmen zu müssen.

Alexa - du gefällst mir (und natürlich IPS, die Alexa erst „antrainieren“) :).

Hallo Community,

ich will eine über Amazon Polly erzeugte Meldung (im Beispiel „Das Essen ist fertig. Bitte zu Tisch“) auf allen Sonos Geräten gleichzeitig ausgeben.

Wie mache ich das am Besten. Gibt es eine Möglichkeit dass ich über einen Befehl eine MP3 auf beliebigen Sonos Geräten ausgebe, oder muss ich es wirklich so wie in meinem Beispiel machen.

Wenn man das so macht wie im folgenden Beispiel, dann wird erst der text auf dem ersten Sonos ausgegeben, erst wenn das fertig ist geht es zum zweiten usw.

	$a[] =  "//VM-IPS/SonosTTS/default/Das Essen ist fertig.mp3";
	$a[] =  "//VM-IPS/SonosTTS/default/Bitte zu tisch.mp3";

	$instanceId = 54432 /*[Devices\_\Sonos\OG Büro\OG Büro]*/;					
	SNS_PlayFiles($instanceId, $a, 30);
	
	$instanceId = 33897 /*[Devices\_\Sonos\_AUS\Party\Party]*/;					
	SNS_PlayFiles($instanceId, $a, 30);

	// usw.

Habt Ihr hier eine Idee?

VG Heinz

SNS_PlayFilesGrouping(integer $InstanceID, array $instances, array $files, $volume)

Siehe Doku

Das folgende?!?

SNS_SetAnalogInput(integer $InstanceID, integer $InputInstanceID)

Selektiert den Analogen Input einer Instanz als Audioquelle.
Sollte die Instanz sich gerade in einer Gruppe befinden, wird sie automatisch aus der Gruppe genommen und danach die neue Audiquelle gesetzt.
Sollte diese Funktion auf einem Gruppenkoordinator ausgeführt werden gilt die neue Audioquelle für die ganze Gruppe.

Quelle: https://github.com/tkugelberg/SymconSonos/blob/master/README.md

Habe ich noch nicht genutzt aber was muss ich da genau an geben das ist mir nicht klar. $InstanceID ist die ObjectID der Sonos Instanz aber was muss ich bei $InputInstanceID eintragen?

SNS_SetAnalogInput(55462 /[Sonos\SonosKueche]/, 55462 /[Sonos\SonosKueche]/);
Eingang und Ausgabe am gleichen Gerät

Hi,

Kann man den Wecker auch nutzen und setzen?
Würde gerne Alexa beauftragen einen Wecker auf Sonos zu setzen.

Über einen Symcon Wecker mit Ausgabe auf Sonos gings natürlich auch…

Sebastian

Hallo Community

ein super geniales Modul! Herzlichen Dank dafür!

Grundsäzliche Sonos Frage: kann man bei den Sonos-Boxen auch eine statische IP-Adresse setzen? oder wie habt Ihr das Problem gelöst, dass sich die IPs von zeit zu zeit, besonders bei Stromausfällen ändern?
Ich habe viele Play1 Boxen und dann anhand der IP herauszufinden, welche nun welche ist, das ist recht mühsahm.

An einer Wecker-stellen-Funktion wäre ich auch interessiert, da Alexa auch bei mir nächste Woche einziehen wird :slight_smile:

Herzliche Grüsse
Patrick

Die meisten Router mit DHCP haben eine Einstellungsmöglichkeit wie „immer die gleiche IP-Adresse zuweisen“ oder aber im DHCP Server einstellen das immer die gleiche IP zugeteilt werden soll. Dann ist die Sonos Box auch immer unter der gleichen IP zu erreichen.

Hallo Fonzo
merci für diesen Tipp!
habs nun so eingestellt. bin gespannt wie lange die IPs nun nicht ändern werden…
Gruss Patrick

Grundsäzliche Sonos Frage: kann man bei den Sonos-Boxen auch eine statische IP-Adresse setzen?

Ich löse das Problem mit einem Script. Dies list nach einem Stromausfall oder mit einem Timer die SonosBoxen
automatisch aus und schreibt die IP Adresse bei einer Aenderung selbst in die Instance.

mfg ESO

habe in sonos subsonic eingerichtet leider zeigt es mir bei Abspielung keine covers an, wo kann man dies einstellen?

eine frage habe ich noch bei den Radio covers. kann man die grösse der covers ändern?

Das Cover ist in einer bestimmten Größe in Sonos abgelegt. Die Originalgröße siehst Du wenn die die Cover URL z.B. in einen Browser eingibst. Wenn Du das Bild dann noch größer haben willst müsstest Du Dir das mit PHP Funktionen neu berechnen lassen dabei hast Du aber dann halt einen Qualitätsverlust. In Programmen wie IPS Studio kannst Du die Größe so einfach anpassen.

Hi Thorsten,

Dein Modul finde ich nach wie vor Klasse - ich habe nur einen Mini-Wunsch -???

Ich habe eine Box welche zwangsläufig häufig stromlos ist (da ich sie im Garten benutze), diese verzögert signifikant den IPS-Start:


08:51:01 | 11313 | MESSAGE | Sonos                | Erstelle...
08:51:22 | 11313 | ERROR   | InstanceManager      | Error: "Failed to connect to 192.168.4.131 port 1400: Timed out" - Code: 7
08:51:22 | 33034 | MESSAGE | Dummy Module         | Erstelle...

Ich habe das Timeout schon auf ein Minimum eingestellt, was kann ich noch tun?

SonosStartVerzögerung.JPG

Schönen Ostermontag noch :wink:

HerbertF

Könntest du dieses Script mal veröffentlichen?
Danke!

Gesendet von meinem Nexus 5 mit Tapatalk

Hallo,

ich bevorzuge es ja Hostnamen zu verwenden. Und mit einer Fritz Box geht das wunderbar!

Gruß,
Thorsten

Hallo,

bislang wurde der Timeout beim erstellen der SONOS Instanz nicht berücksichtigt.
Ist jetzt (Version 1.5.3) drin.

Zusätzlich habe ich noch eine Funktion für Alexa hinzugefügt, die die Inhalte einiger Variablen ausgibt. Sollte aber für den Endanwender egal sein…
Könnte sich inhaltlich auch noch ändern!

Gruß,
Thorsten

Hi Thorsten,

You made my day :smiley:


12:27:48 | 11313 | MESSAGE | Sonos                | Erstelle...
12:27:48 | 11313 | ERROR   | InstanceManager      | Error: "Connection timed out after 16 milliseconds" - Code: 28
12:27:48 | 33034 | MESSAGE | Dummy Module         | Erstelle...

DANKE !!!

HerbertF

Hat jemand das gleiche Problem wie ich? In der Meldungsübersicht kommen in unregelmäßigen Abständen Fehlermeldungen von unterschiedlichen Sonos-Boxen im Haus. Funktionieren tut das Modul aber. Ich kann auch MP3-Files per Skript in allen Räumen abspielen.

18.04.2017 19:41:59*| ScriptEngine*| Ergebnis für Ereignis 16009
Sonos instance 192.168.1.172 is not available

18.04.2017 19:11:20*| ScriptEngine*| Ergebnis für Ereignis 26063
Sonos instance 192.168.1.171 is not available

Hallo,

Diese Meldung kommt, wenn die Box innerhalb des eingestellten Timeouts nicht antwortet.
Bei Dir kommt es dann wohl aus dem GetStatus Script…

Wie steht denn Dein Timeout?
Bei hohen Latenzen im Netzwerk könnte es sinnvoll sein, diesen hochzustehen.
Sind Millisekunden, gell?

Gruß,
Thorsten