Zitat von Robert
Beitrag anzeigen
Wenn ein Alarm auslöst und die SB gerade irgend eine Musik abspielt, wird diese in einer Temp gespeichert. Dann wird das "Alarmfile" abgespeielt (je nach Zeitvorgebe), und später das Temp wieder geladen.
Code:
// Squeezebox
// @date 11.01.2012
// @version 1
// @author Enertex Bayern GmbH
:begin SignalVar(PlayerID, Var, Zeit, Signal)
:info $Wenn die Variable den Wert EIN annimmt, spielt die Squeezebox das Signal ab. Davor wird die aktuelle Playlist gespeichert und danach wieder geladen und die Variable auf AUS gesetzt. Kann man z.B. als Alarmsignal benutzen. Um dieses Makro verwenden zu können, müssen sie einmal das Makro "Squeezebox" eingebunden haben.$\\
$PlayerID(MAC-Adresse oder Name) der Squeezebox als String, z.B. §00:04:20:12:85:fc§ oder §Squeezebox§ (Anstatt § das Dollarzeichen verwenden) $\\
$Variable$\\
$Gibt die Zeit in s an, wie lange das Signal abgespielt werden soll, bis die alte Playlist wieder geladen wird.(z.B. "30" für 30s)$\\
$Relativer Pfad zum Signal, ausgehend vom Musik-Ordner.(z.B. "/Signale/Signal1.mp3")$
:shortinfo $Die Squeezebox spielt über eine Variable ein Signal ab$
if Var == EIN then connecttcp(ServerPort, ServerIP) endif
if after(Var == EIN, TimeLag) and TCPConnected then {
sendtcp(ServerPort, ServerIP, PlayerID + $ playlist save Temp$);
sendtcp(ServerPort, ServerIP, PlayerID + $ playlist play ^Signal^$);
}endif
if after(Var == EIN, Zeit^000u64 + 3000u64 + TimeLag) and TCPConnected then {
sendtcp(ServerPort, ServerIP, PlayerID + $ playlist load Temp$);
sendtcp(ServerPort, ServerIP, PlayerID + $ stop$);
Var = AUS
}endif


Einen Kommentar schreiben: