• OS: Any Linux or Unix System should be fine. is tested on Ubuntu 12.04 (amd64) and on an appliance with an outdated debian. So the specific installation commands may differ from this guide.
  • NTP: A running NTP daemon is recommended: # apt-get install openntpd


Python 3.2 is recommended. 2.x is not supported any more. $ sudo apt-get install python3 python3-dev python3-setuptools

Calculating of sunset/sunrise in triggers,requires installation of ephem as well.

$ sudo easy_install3 pip
$ sudo pip-3.2 install ephem


A dedicated user for could be created with:

$ sudo adduser smarthome


Stable Release


At you find the latest release.

Installation of the latest release

$ cd /usr/local
$ sudo tar --owner=smarthome xvzf path-to-tgz/smarthome-X.X.tgz

Everything is extracted to /usr/local/smarthome/. It is possible to use another path.


To install the recent developer version of for user smarthome:

$ sudo mkdir -p /usr/local/smarthome/
$ sudo chown -R smarthome /usr/local/smarthome/
$ cd /usr/local
$ git clone git://

To get the latest updates:

$ cd /usr/local/smarthome
$ git pull


Structure of the directory, e.g. /usr/local/smarthome/:

  • bin/: contains
  • dev/ development files
  • etc/: should contain the basic configuration files (smarthome.conf, plugin.conf, logic.conf)
  • examples/: contains some example files for the configaration and the visu plugin
  • items/: should contain one or more item configuration files.
  • lib/: contains the core libraries of
  • logics/: should contain the logic scripts
  • plugins/: contains the available plugins
  • scenes/: scene files
  • tools/: contains little programms helping to maintain
  • var/cache/: contains cached item values
  • var/db/: contains the SQLite3 Database
  • var/log/: contains the logfiles
  • var/rrd/: contains the Round Robin Databases


Every plugin has it’s own installation section.


Arguments for running

$ /usr/local/smarthome/bin/ -h
--help show this help message and exit
-v, --verbose verbose (debug output) logging to the logfile
-d, --debug stay in the foreground with verbose output
-i, --interactive open an interactive shell with tab completion and with verbose logging to the logfile
-l, --logics reload all logics
-s, --stop stop
-q, --quiet reduce logging to the logfile
-V, --version show version
--start start and detach from console (default)