In de slaapkamer had nog ik drie x10 apparaatmodules, voor de bedlampjes en als hoofdschakelaar voor de tv.
Deze kon ik eenvoudig schakelen met de marmitek MT10E die ik ook als wekker gebruikte.
Deze week een Squeezebox Radio gekocht als vervanging van de MT10E en de x10 modules vervangen voor zwave modules.
Ik wilde geen extra remotes of schakelaars op m'n nachtkastje dus voor het bedienen van homeseer/zwave wil ik de radio gebruiken.
Nu kun je homeseer vanuit de squeezebox wel bedienen maar daarvoor moest ik wel te veel handelingen verrichten.
Op de squeezebox radio zitten echter 6 knopjes die je zelf kunt instellen, helaas kun je hier alleen een mp3 of radiostation programmeren en dus geen homeseerevent.
Daarom de volgende oplossing bedacht:
Ik heb een paar speciale mp3tjes gemaakt, de eerste 3 bevatten geen geluid en heten dan ook Silence1, Silence2 en Silence3.
Een 4e mp3 bevat wel muziek, en deze heb ik de titel WAKEUP gegeven.
In homeseer een event gemaakt met als trigger "Player new song".
Het event voert een script uit dat kijkt welke mp3 er wordt afgespeeld op de squeezebox radio.
Is dat WAKEUP dan worden de bedlampjes aangezet, deze mp3 kies ik dus bij het instellen van de wekker.
Wordt Silence1 afgespeeld dan worden bedlampjes aan of uit gezet.
Silence2 zet de tv module aan of uit.
Een geslaagd project
Na het indrukken van knopje 1 begint Silence1 af te spelen en het duurt dan max 3 seconden voordat homeseer de lampjes aan of uit zet.
Squeezebox Radio als Wakeuplight
Re: Squeezebox Radio als Wakeuplight
Hierbij het script:
Code: Select all
' Squeezebox Radio Script
Sub Main(ByVal Mode As String)
Dim var
' Squeezebox plugin en MusicApi
Dim PlayerName As String = "Squeezebox"
Dim PlayerDevice As String = ""
Dim hspi As Object = hs.plugin("SqueezeBox")
If hspi Is Nothing Then
hs.WriteLog("SqueezeBox Script", "Plugin not found!")
Exit Sub
End If
Dim musicAPI As Object = hs.plugin("SqueezeBox").GetMusicAPI(3)
' Haal mp3 titel op
var = musicAPI.Currenttrack
' Bedlampjes aan/uit schakelen wanneer Silence wordt afgespeeld
if var="silence" then
hspi.PlayerPlaylistPlay("Squeezebox Radio", "Homeseer/Silence3.mp3")
hspi.SendActionByName("Squeezebox Radio", "off", "")
If hs.IsOn("Q26") then
hs.execx10 ("Q26","off")
hs.execx10 ("Q27","off")
Else
hs.execx10 ("Q26","on")
hs.execx10 ("Q27","on")
End if
End if
' Bedlampjes aan wanneer wekkersignaal wordt afgespeeld.
if var="Wakeup" then
hs.execx10 ("Q26","on")
hs.execx10 ("Q27","on")
End if
' Silence2 - TV hoofdschakelaar
if var="silence2" then
If hs.IsOn("Q23") then
hs.execx10 ("Q23","off")
Else
hs.execx10 ("Q23","on")
End if
hspi.PlayerPlaylistPlay("Squeezebox Radio", "Homeseer/Silence3.mp3")
hspi.SendActionByName("Squeezebox Radio", "off", "")
End if
End Sub