ich nutze voller Liebe und Leidenschaft IPSSonos. Funktioniert auch alles wunderbar.
Nun möchte ich meiner „Willkommen zu Hause“- Funktion noch eine „Willkommen zu Hause mit Musik“- Funktion hinzufügen.
Nun meine eigentliche Frage. Wenn ich in meinem „Willkommen…“- Skript den Sonos steuern möchte (z.B. alle an oder alle aus) was muss in dem Skript alles stehen (function… etc), damit ich an- oder ausschalten kann.
Sorry für die sicher simple Frage, aber beim Forum durchforsten habe ich nichts gefunden.
Liebe Grüße
Lieschen
Soooo simple ist das gar nicht… Das Problem ist das gruppieren der Sonos Boxen. Wenn sie vorher schon gruppiert sind, dann alle auftrennen? Merken wer mit wem gruppiert war und wiederherstellen danach? Dann musst du dir überlegen was du abspielen willst (Radio/Playlist/MP3-Datei/…) - diese Befehle sind dann einfach. Auch das setzen der Lautstärke usw.
Deshalb laufen bis heute bei mir die Sprachausgaben „einzeln“ und nicht über alle Sonos in einer Gruppe. Der Gruppenkram steht schon ewig auf meiner 2do Aber vlt. hat jemand anderes ja ein paar Beispiele.
Damit du wenigstens ein kleines Beispiel hast (ohne gruppieren):
<?
IPSUtils_Include ('IPSSonos.inc.php', 'IPSLibrary::app::modules::IPSSonos');
$roomName = "Bad oben";
$EinschaltRadiosender = GetValue(48700 /*[Skripte & Variablen\MediaPlayer\Sonos\Bad oben\Variablen\Einschalt-Radiosender]*/);
$EinschaltLautstaerke = GetValue(56888 /*[Skripte & Variablen\MediaPlayer\Sonos\Bad oben\Variablen\Einschalt-Lautstärke (Allgemein)]*/);
// Wenn Sonos ausgeschaltet, dann einschalten
if (IPSSonos_GetRoomPower($roomName) != 1) {
IPSSonos_SetRoomPower($roomName, true);
}
// Im WebFront voreingestellte Einschaltlautstärke einstellen, falls nicht eingestellt
if (IPSSonos_GetVolume($roomName) != $EinschaltLautstaerke)) {
IPSSonos_SetVolume($roomName, $EinschaltLautstaerke);
}
// Im WebFront voreingestellten Radiosender abspielen
IPSSonos_PlayRadiostationByID($roomName, $EinschaltRadiosender);
?>
$RadiostationID = 1; // welcher Sender welche ID hat siehst du im Variablenprofil "IPSSonos_Radiostations"
IPSSonos_PlayRadiostationByID($roomName, $RadiostationID);
Wenn du die letzte Radiostation willst, dann musst du diese aus der Variable „RADIOSTATION“ des jeweiligen Raumes mit „GetValue“ auslesen. Oder einfach einen „Einschalt-Radiosender“ festlegen.
Und damit du auch noch ein wenig selbst denken darfst, hier eine Vorlage, wie man mit X Sekunden Verzögerung etwas ausführen/schalten kann >> Sauna Aus wenn Tür 15 sek. offen