My Coffee/NodeJS + 0MQ home automation setup. See my blog for more details: blagg.tadkom.net
It consists of multiple services connected via a bus (zeromq):
- Broker - Push/pull + pub/sub message hub. Message central.
- Logger - Logs sensor data to cosm.com
- Event-Triggers - Triggers events based on certain sensor data situations
- MCU-Relay - Microcontroller relay - receives sensor data from jeenodes
- Notification - Sends notifications to iOS devices (prowl) and to email
- Powercontrol - Controls and receives events from 433 mhz receivers/transmitter (RFXtrx433)
- Heating - Time based thermostat service (Todo: PID + motion sensors)
They can be launched using pm2. pm2 start homeautomation-pm2.json
The system also contains some microcontroller-code for arduino-compatible controllers (Jeenode) with RFM12b radios.
- MasterNode - Receives sensors readings from slavenodes, controls Pioneer Home-Cinema Receiver via SR-bus. Acts as a simple serial bridge.
- SlaveNode - Sleeps, wakes once every minute, gather sensor data, transmits wirelessly to masternode.
Other hardware used:
- Raspberry Pi - I have everything running on this little linux capable ARM board. It's connected via serial/TTL to a Jeenode.
- RFXtrx433 - 433 mhz transceiver, from RFXcom. Controls Nexa power-relays, etc.
- Jeenode - Small arduino-compatible AVR boards with HopeRF rfm12b radios on them.