Sonos Modul

Hallo,

das Ergebnis ist:

string(65) "//192.168.2.11/BackUps/Ivona/f3957228139a2686632e206478ad1c9e.mp3"

Gruß Proxima

P.S: Übrigens tolle Arbeit die Du hier machst. Riesen Respekt !!!

Moin,

hmmm…
Und dieser Pfad ist auch erreichbar, ohne Benutzer und Passwort angeben zu müssen?

„ERROR_AV_UPNP_AVT_INVALID_TRANSITION“ bekommst Du normalerweise, wenn keine Audioquelle gewählt ist.

Du kannst mal parallel die Sonos APP öffnen, da sieht man (auch wenn vom IPS ausgeführt) auch manchmal Fehlermeldungen.

Gruß,
Thorsten

Tach,

Grundsätzlich bin ich mir dessen bewusst.
Evtl. lag meine Reaktion auch daran, dass ich genau solche Diskussionen („ach dann nemen wird anstelle des Alternative Key einfach den Namen und ersetzen darin dann …“) führen musste und für den Scheiß jetzt den Support an der Backe habe :mad:

Ja, aber wenn man mal ehrlich ist, sollte man das nicht so oft machen…
Ausserdem wird dann eher Copy&Paste gemacht, anstelle es einzutippen. Du glaubst garnicht wie oft ich prio SEHR HOCH Fehlermeldungen habe, bei denen der Benutzer es nur falsch/ungenau bedient!

Gruß,
Thorsten

Du bist zu Support nicht verpflichtet! Es ist dein Modul und du kannst es so machen wie du es für richtig empfindest.
Andere (mich eingeschlossen) können dir sagen was sie gut finden, was sie schlecht finden, was sie gerne an Funktionen hätten, …
Aber du MUSST darauf NICHT reagieren! Weder innerhalb einer Stunde noch innerhalb einer Woche!

Ich habe mir Anfangs auch total den Stress gemacht bei meinen Projekten und wollte es allen recht machen usw…bis es einfach zu viel war für mich und da hat bei mir ein umdenken angefangen. Man kann es nicht allen recht machen! NIEMALS! Es ist unser Hobby, also sollten wir das alles viel entspannter sehen!
Will jemand etwas anders als du es machst, dann soll er es doch einfach selbst machen! Kann er es nicht, hat er Pech und soll „auf gut deutsch“ einfach die Klappe halten und froh sein, dass er überhaupt was bekommt!

Einer ist zu doof das Modul richtig zu bedienen? Dann kannst du entweder IRGENDWANN darauf reagieren…oder gar nicht! Mach dir nicht so einen Stress! Es soll Spaß machen! Allen! Auch dir!

Willst du nicht, dass man dir in dein Projekt „rein redet“, dann sag das einfach und alles ist gut.

Also > peace :slight_smile:

Grüße,
Chris

Super das du schon daran arbeitest, Daumen hoch!
Freu mich schon aufs Ergebnis :slight_smile:
Weiter so!

Ivona funktioniert jetzt auch ohne Probleme, Danke dafür!
Deswegen, wie du schon sagtest, besser hier. :smiley:

Ich nutze das Modul jetzt schon länger, vorher war es nicht. Glaube erst nachdem ich den Pfad in Linux(RaspPi) geändert hatte?! Kann das sein? Oder erst nach dem ich IPS von einem Pi B+ auf einem Pi 2 umgezogen habe. Bin mir nicht mehr ganz sicher. Ansonsten muss ich einmal in den sauern Apfel beißen und das Modul neu installieren und in die ganzen Skripte ändern.

Was mir noch auffällt. Ab und zu geht es ohne Problem, wieso auch immer?! Heute Morgen (Wecker) ging es zB nicht.


<?
//Sonos
 IPS_RunScript(55485 /*[Sonos\Uhrzeit]*/);
 SNS_SetVolume(54533 /*[Sonos\Schlafzimmer]*/, 5);
 SNS_SetRadio(54533 /*[Sonos\Schlafzimmer]*/, "1LIVE");
 
//HUE
 HUE_SetValue(29268 /*[Räume\Schlafzimmer\Schlafzimmer Strip]*/, 'COLOR', 11911423);
 HUE_SetValue(29268 /*[Räume\Schlafzimmer\Schlafzimmer Strip]*/, 'BRIGHTNESS', 50);
 HUE_SetValue(36106 /*[Räume\Schlafzimmer\Schlafzimmer1]*/, 'COLOR', 11911423);
 HUE_SetValue(36106 /*[Räume\Schlafzimmer\Schlafzimmer1]*/, 'BRIGHTNESS', 50);
 
IPS_Sleep(300000);

 SNS_SetVolume(54533 /*[Sonos\Schlafzimmer]*/, 25);
 HUE_SetValue(29268 /*[Räume\Schlafzimmer\Schlafzimmer Strip]*/, 'BRIGHTNESS', 180);
 HUE_SetValue(36106 /*[Räume\Schlafzimmer\Schlafzimmer1]*/, 'BRIGHTNESS', 180);
 
IPS_Sleep(600000);

 IPS_RunScript(50944 /*[Jalousie\Alle Jalousien Hoch]*/);
 IPS_RunScript(19034 /*[Sonos\Guten Morgen Wetter]*/);
 HUE_SetValue(29268 /*[Räume\Schlafzimmer\Schlafzimmer Strip]*/, 'BRIGHTNESS', 254);
 HUE_SetValue(36106 /*[Räume\Schlafzimmer\Schlafzimmer1]*/, 'BRIGHTNESS', 254);
?>

$Uhrzeit = date("H:i");  // Stunde:Minute:Sekunde
$aktuelle_Temperatur = GetValueFloat(40886 /*[Wunderground\Temperatur]*/);
$bedingung = GetValueString(23549 /*[Wunderground\Wetterbedingung]*/);
$feutigkeit = GetValueInteger(37904 /*[Wunderground\Luftfeuchtigkeit]*/);
 SNS_PlayFiles(54533 /*[Sonos\Schlafzimmer]*/, Array(IVNTTS_saveMP3(57700 /*[Sonos\Ivona]*/,"Guten Morgen! Es ist: ".$Uhrzeit."Uhr. Das aktuelle Wetter in kurzer Zusammenfassung.
 Die aktuelle Temperatur beträgt: ".$aktuelle_Temperatur."Grad.
 Die Wetterbedinungen sind: ".$bedingung.".
 Die Luftfeuchtigkeit beträgt: ".$feutigkeit."Prozent")), 30);

27869 ist eine Sonos, ich habe keine Paare.

Hi Thorsten,

heute mal dazu gekommen, dein Modul zu testen, und ich habe gleich meine TS_LCN2Sonos und TS_Sonosalarm an dein Modul angepasst, Die Funktionen, die ich nutze mit einer Play3 und Play1 gehen perfekt. Da ich die Sonos auch mal ganz abschalte, kommt TS_LCN2Sonos bei mir zum tragen, damit mache ich dann z.B. den Autostart, Trigger für Sleeptimer und Übertragung der Texte auf ein LCN-GT Display.

Moin!

Kannst du bitte bei Gelegenheit noch die Radiostation „planet radio“ mit einbauen? :slight_smile:

http://streams.planetradio.de/planetradio/mp3/hqlivestream.m3u

Danke und Grüße,
Chris

Hallo zusammen,

ich habe gerade ein update hochgeladen: Version 1.4.0

Unter anderem mit dem automatischen gruppieren vor PlayFiles und RampToVolume.

Ach ja, und dem von dansch vorgeschlagenen Detail HTML.

Schaut es euch mal an,

Gruß,
Thorsten

Hallo Thorsten,

besten Dank für SNS_RampToVolume. Es funktioniert perfekt.

Hier ein Beispiel wie ich es als Radiowecker nutze:

$FavoriteStation = IPS_GetProperty($idSNS, 'FavoriteStation');
SNS_SetRadio($idSNS, $FavoriteStation);
SNS_SetVolume($idSNS, 0);
SNS_SetMute($idSNS, false);
$DefaultVolume = IPS_GetProperty($idSNS, 'DefaultVolume');
SNS_RampToVolume($idSNS, 'SLEEP_TIMER_RAMP_TYPE', $DefaultVolume );

Ein Punkt ist mir noch aufgefallen: in der Befehlskontextliste im Editor fehlt SNS_RampToVolume noch.:slight_smile:

Gruß

Burkhard

Moin Burkhard!

Du meinst unter „rechte Maustaste > Befehl testen“? Hast du IPS neu gestartet? Dann sollte es kommen :slight_smile: Da stehen automatisch alle public Funktionen eines Moduls (nach einem IPS-Neustart).

@Thorsten:
Das hier:

public function RampToVolume($rampType,$volume)

Müsste in das hier geändert werden, damit man da unter „Befehl testen“ Werte eingeben kann:

public function RampToVolume(string $rampType, integer $volume)

Müsste auch bei anderen Funktionen in der module.php noch geändert werden. Hab ich auch nur durch Zufall mitbekommen, dass man die „Formate“ vor die Variablen schreiben muss und erst dann funktionieren die richtig unter „Befehle testen“.

Grüße,
Chris

Ich meinte eigentlich die „Verfügbaren Funktionen“, die mit CTRL+Leertaste angezeigt werden. :slight_smile: Da SNS_PlayFilesGrouping() bereits angezeigt wurde, dachte ich, dass beim Aktualisieren des Moduls auch die Liste aktualisiert wird. Wird aber wohl nicht und SNS_PlayFilesGrouping war wohl schon früher da.

Gruß

Burkhard

Hallo,

nö, kam im gleichen Update.
Ich habe auch noch nicht ganz verstanden, wann da was upgedated wird…

Gruß,
Thorsten

Vielen Vielen Dank!

EDIT: Kann es sein das Sonos den RampToVolume Stats speichert?
Hatte gerade mal damit in einem Skript rum gespielt. Wird bei mir nur auf den Koordinator angewendet in einer Gruppe. Nicht auf die Memeber. Habe dann die Funktion raus gelöscht, war „Alarm_Ramp“. Jetzt wird jedes mal wenn ich das Skript ausführe, die Lautstärke Stück für Stück runter gefahren. Aber immer nur beim Aufruf des Skripts!

Skript:

<?
SNS_PlayFilesGrouping(54533 /*[Sonos\Schlafzimmer]*/, array (27869 => array ("volume" => 30),
																				 29675 => array ("volume" => 30),
																			    50971 => array ("volume" => 30)), Array(IVNTTS_saveMP3(57700 /*[Sonos\Ivona]*/,"Radio wird gestartet")), 30);

SNS_SetGroup(50971 /*[Sonos\Bad]*/, 54533);
SNS_SetGroup(27869 /*[Sonos\Wohnzimmer]*/, 54533);
SNS_SetGroup(29675 /*[Sonos\Küche]*/, 54533);

SNS_SetRadioFavorite(54533 /*[Sonos\Schlafzimmer]*/);
SNS_SetGroupVolume(54533 /*[Sonos\Schlafzimmer]*/, 20);
?>

Editor Fenster mal geschlossen und neu das Script geöffnet ?
Weil dann tauchen neue Befehle eigentlich auf.
Und ein Neustart braucht es nie, wenn man über das Modul-Control ein Modul updated.
Michael

Hab ich gemacht. Immer noch. Ich versuche mal den Neustart

Da haben sich die Posts überschnitten. Ich meinte Burkhard :wink:
Michael

keine Ahung, hätte ich nicht festgestellt…

Also dieses Skript macht keinen Sinn…
Zumindest nicht in meiner Denkweise :rolleyes:

SNS_PlayFilesGrouping ist recht inperformant, da es alle mitgegebenen Instanzen einzeln abturnt, die Einstellungen speichert, pausiert, zu ein Gruppe zusammensetzt, die Ansage macht, und dann alle Einstellungen wieder herstellt.

Weiterhin könntest Du die Lautstärke der einzelnen Boxen auf den default setzen, dass ist es auch super aufeinander abgestimmt. (zumindest wenn Du es richtig in den instazen konfigurierst).

IVONA ruft jedes Mal ins Internetz. Wenn es immer der gleiche Text ist, würde ich ihn erzeugen, das MP3 irgendwo ablegen und dann immer nur die Datei angeben.

Wenn Du doch eh die Gruppen bildest, warum machst Du das dann nicht so:

<?
SNS_SetGroup(50971 /*[Sonos\Bad]*/, 54533);
SNS_SetGroup(27869 /*[Sonos\Wohnzimmer]*/, 54533);
SNS_SetGroup(29675 /*[Sonos\Küche]*/, 54533);

SetDefaultGroupVolume(54533 /*[Sonos\Schlafzimmer]*/);

SNS_PlayFiles(54533 /*[Sonos\Schlafzimmer]*/,  Array(IVNTTS_saveMP3(57700 /*[Sonos\Ivona]*/,"Radio wird gestartet")), 30);

SNS_SetRadioFavorite(54533 /*[Sonos\Schlafzimmer]*/);
?>

Und dann ist es fast so wie ich es habe :smiley:
Man könnte aber auch noch anstelle der „30“ in PlayFiles ein „+10“ verwenden, damm wird die Lautstärke um 10 Punkte angehoben. Egal wie laut es vorher war…

Gruß,
Thorsten

In der Tat macht PlayFilesGrouping dort wenig Sinn, wollte ein bisschen damit rum spielen. :stuck_out_tongue:

Feste Aktionen haben vorher die SetGroup Funktion und Durchsagen die PlayFilesGrouping.
Ich werde mal Anfangen die Standart Durchsagen zu speichern

Ich bekomme seit neusten eine Fehlermeldung, IPS bezieht sich auf Zeile 242


 $GroupVolume += GetValueInteger(IPS_GetObjectIDByName("Volume", $ID));

Die Meldung lautet:

17.03.2016 22:40:39*| ScriptEngine*| Result for Event 28502
Warning: Objekt mit dem Namen Volume konnte nicht gefunden werden in /var/lib/symcon/scripts/29766.ips.php on line 242

Warning: Variable #0 existiert nicht in /var/lib/symcon/scripts/29766.ips.php on line 242

Die Meldung tritt nur bei einer Sonos Box auf bei den anderen nicht. Das Einzige was diese von den anderen Sonosboxen ohne Fehlermeldung unterscheidet ist, das es sich bei der Sonos Box um ein Teil eines Stereo Paars handelt. Eventuell ist das ja die Ursache.