Node.js web frontend to heyu

#domus_node Yet another simple implementation of a web interface for heyu (X10 home automation).

Advantages over other similiar things:

-small footprint (node.js, no apache, no php)

-runs really fast

-default mobile interface

->runs very well on embedded/prototype platforms:

->tested on beaglebone (armv7) (ubuntu 10.10), node 0.4

->kt-sbc-sam9 (, armv5tej) (angstrom linux distibution), node 0.4

Web presentation is mobile webkit optimized, works nice in iphone, ipad, BlackeBerry OS 6 and up , also not bad on desktop.

##Prerequisities heyu installed (

Tested on Linux (angstrom, ubuntu) (arm5, arm7 platforms, however is the code pure javascript architecture agnostic)

Depends on paperboy, http-auth2 node modules, they are statically linked here at least for now.

Method 1.

npm install domus_node

Method 2.

Clone this repository with git.


Configuration self-descriptive in the config.js file. Please note switching between production config and development config in the following of the forementioned file:

... //config binding -> change here when moving between development and production exports.config=development_config; ...

So before starting you have to make sure you have config.js edited to reflect your system paths, etc. in your production_config object and then change the line above to something like: exports.config=production_config;

House/Units setup is read from heyu's x10.conf file. Aliased are read from there as standrd, however note that groupings are after hash comments e.g. x10.conf file included:


alias Living_Room B7 AM12 # GroundFloor
alias Bedroom B8 AM12 # GroundFloor
alias Stairs C2 AM12 # Stairs

alias <alias_name> #

No whitespace allowed in any of the above.

Units in each group should belong to same house code for the big 'group off' buttons to work properly


As simple as:

node index.js

However recommended is prior installation of 'forever' module (npm install -g forever); included version of http-auth2 tends to crash from time to time, so forever takes care of restarting (ala 'forever start index.js' in your startup scripts).

The GPL version 3, read it at