🏠 My zeromq based home-automation system.
CoffeeScript Other HTML
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Home automation

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.