Linux Home Automation for the Masses

Cosmic is an RF to PC Gateway that uses Heyu to intercept the X10 signals that have been placed on the powerline, by an X10 RF transmitter, and trigger some piece of code. The default configuration is to control the volume of the playing music, skip tracks on the CD player, and start timers.

Now, because these X10 signals will also control any lights on these addresses I have split control into two. The first set of controls (1-8, on/off) control the lights, kettle, and standard appliances as normal. The second set uses address not found by any devices in my house, and are used solely by "Cosmic". There is a switch on the remote itself which I am re-appropriate for this task.


The default assignments for the mode-specific buttons, shown above, are:

Multimedia mode

3CD previousCD nextCD control
4previousnextMP3 playback
(when supported)
6Stop All Media

Timer mode

3+1 min+3 mins
4+5 mins+10 mins
5+30 mins+1 hour
6Start TimerClear Timer

News mode

3Multimedia status
4Todays events
5Weather report
6Network status


After the Minerva installation, you will need to set heyu to send the X10 messages to the Cosmic script. Therefore add the following lines to /etc/heyu/x10.conf.
# Set-up aliases for the keys you're using on the RF remote
ALIAS cosmic1 E9
ALIAS cosmic2 E10
ALIAS cosmic3 E11
ALIAS cosmic4 E12
ALIAS cosmic5 E13
ALIAS cosmic6 E14
ALIAS cosmic7 E15
ALIAS cosmic8 E16

# These are the common keys, traditionally at the top & bottom
# of the remote.
SCRIPT cosmic1 on :: /usr/local/minerva/bin/mixer default dec master 10
SCRIPT cosmic1 off :: /usr/local/minerva/bin/mixer default inc master 10
SCRIPT cosmic2 on :: /usr/local/minerva/bin/mixer default toggle
SCRIPT cosmic2 off  :: /usr/local/minerva/bin/pmedia default
SCRIPT cosmic7 on :: /usr/local/minerva/bin/cosmic default modestatus
SCRIPT cosmic7 off  :: /usr/local/minerva/bin/cosmic default nextmode
SCRIPT cosmic8 on  :: /usr/local/minerva/bin/status
SCRIPT cosmic8 off :: /usr/local/minerva/bin/cosmic default root

# The real cosmic handlers
SCRIPT cosmic3 off :: /usr/local/minerva/bin/cosmic default e3off
SCRIPT cosmic3 on  :: /usr/local/minerva/bin/cosmic default e3on
SCRIPT cosmic4 off :: /usr/local/minerva/bin/cosmic default e4off
SCRIPT cosmic4 on  :: /usr/local/minerva/bin/cosmic default e4on
SCRIPT cosmic5 off :: /usr/local/minerva/bin/cosmic default e5off
SCRIPT cosmic5 on  :: /usr/local/minerva/bin/cosmic default e5on
SCRIPT cosmic6 off :: /usr/local/minerva/bin/cosmic default e6off
SCRIPT cosmic6 on  :: /usr/local/minerva/bin/cosmic default e6on

You also copy these from ~minerva/conf/x10/heyu.conf.

Then, to apply the configuration changes, type,

heyu restart
heyu engine

Valid HTML 4.01 Transitional