Ok. This is a very late reply. But let me give a quick update about the stuff I have done the last half year.
Boblight support
I made an arduino based digital LED strip with the LEDstream.pde and boblightd. I then installed the module in XBMC.
But besides colors during a movie I also integrated "boblight-chase" into the system. I can now use the LED strip for effects and ambient lighting.
Again, controllable through the system.
Voice modem support
Bought a cheap 56k voice modem and used vgetty to create a voicemail recorder on the raspberry pi in the metering closet.
Created a small PHP script to monitor the vgetty log to transmit incoming numbers + DTMF actions towards my main server.
Also created a script which sends recorded voicemails towards the FTP server. All this made it possible to notify by mobile or blinking lights
on an incoming call or recorded voicemail. The voicemails can be played throughout the house by using the speaker provider concept I have in my system.
Also I can phone the house, press some numbers and the security gets disabled.
Domain Specific Language
Finally created a stable DSL which supports the system and makes it more flexible. Just define a rule in plain and readable text and the system will run this.
Sample:
Code: Select all
@set turnonxbmcmode "Zet XBMC modus erop"
rule "Zet XBMC modus erop"
on manually triggered
then
do
send infrared "Samsung_BN59-00861A" "InputHdmi1"
send infrared "upc" "Off"
send infrared "OnkyoTXNR509" "InputGame"
but only if system.television.ping is available
do
send infrared "OnkyoTXNR509" "InputGame" delay 12
send infrared "Samsung_BN59-00861A" "InputHdmi1" delay 10
send infrared "Samsung_BN59-00861A" "PowerOn"
send infrared "OnkyoTXNR509" "PwrOn"
but only if system.television.ping is not available
end
rule "Feestmodus actief"
on variable.mode.livingroom is "Feest"
when variable.presence.house is yes
then
runrule @turnonxbmcmode
say "Feestmodus" on alsa.behindtvspeaker
stop mpd.touchscreen
set volume to 35% on iscp.onkyo
set volume to 100% on mpd.touchscreen
play shoutcast.sctrance "Trance/351954" on xbmcspeaker.livingroom playnow
end
rule "Vertel inkomend gesprek telefoon gijs indien thuis"
on onx.telephone.gijs.incomingcall != 0
when
variable.presence.house is yes
onx.telephone.gijs.inwifi is available
then
stripaction hue.allbulbs.switch 5
do stripaction jeelink.strip.sleepingroom.rgb 6
but only if
( variable.presence.sleepingroom is yes
variable.mode.sleepingroom is "Normaal" )
call function @notify '{"msg":"Telefoon van ${value.onx.telephone.gijs.incomingcall.toContactName}","prio":"high"}'
end
Taskchain support
Certain events in the system required a chain of actions to be executed. But sometimes not parallel but sequentally. Or with delays between them.
Created a way of defining a small script which can be executed and will do stuff in the sequence you want it. Created a demonstration script for people
visiting my home (was tired of showing everything, now I just press a button and every "livingroom" mode (party, alarm, ambient) will be shown after each other).
Other things:
- Integrated 5 Philips HUE bulbs in the system.
- More z-wave stuff around the house (mostly the Aeon labs 4-in-1 sensor replacing my home made jeenode room sensors and fibaro door/window sensor).
- Heatmiser thermostat integration (finally no more turning off/on thermostat!).
- Music Player Daemon (MPD) as a speaker target.
- Raspberry PI in the garden running MPD. Says welcome / thanks for the mail on doorbell and mailbox events. Possibility to run music in the garden on a summer verening.
- Raspberry PI in the shed with some webcams for monitoring purposes.
- A separate camera for weather monitoring.
- Timelapse support (select a range of images and combine to movie)
- Smartmeter support (using the same raspberry pi in the metering closet doing the voice modem stuff)
- Transmission support
- Speech recognition and hotwording support (using VoxVoice for hotwording and google speech recognition)
- Movie download support (asks when a movie is ready if the user wants to view it immediately, responding by speech recognition).
- More XBMC support (now running XBMC in the livingroom, sleepingroom and shed).
- New readingset / graph support (define your own graphs by simple code definition).
- Foscam camera support (including movement of a camera).