Domoleaf, control your house

Domoleaf is free software for home automation. It installs on a computer used as a domotic server.

It is composed of several modules:

  • Web Interface
  • API json
  • A control daemon
  • Several daemons each linked to a protocol

You can link multiple domotic boxes to control a larger system or with multiple protocols.

Requirements

Pre required equipment

The software was tested on X64 architecture and armhf. It has been tested on the following systems:

  • BeagleBone Black
  • i386/amd64
  • Raspberry Pi B/B+/2

For the server:

  • 500 MHz
  • 128MB memory
  • 1GB storage
  • An Ethernet port

Domotic interface:

  • KNX : IP/USB/Serial
  • EnOcean : USB/Serial

Pre required system

The software is developed for systems based on Debian GNU/Linux.

Supported systems:

  • Debian 7 Wheezy Linux
  • Debian Linux 8 Jessie
  • Ubuntu 12.04 Precise
  • Ubuntu 14.04 Trusty
  • Ubuntu 15.10 Wily

Unsupported systems:

  • Debian 8 Jessie GNU Hurd
  • Debian 8 Jessie KFreeBSD

Pre required software

Web panel

  • Nginx
  • Mariadb or MySQL
  • PHP >= 5.3
  • PHP librairies : apc, curl and gd
  • Gettext

Apache is not officially supported. We just have to adapt URL rewriting. The Web panel is developed with PDO but others scripts only support MariaDB / MySQL.

Daemon

  • Python >= 3.3
  • Python librairies : crypto, mysql, pyasn1, pycurl, rsa and scapy
  • Cron

Installation

Creating packages

The created packages can be installed on all systems based on Debian.
Beforehand KNX development packages (knxd-dev and knxd-tools) must be installed (https://github.com/knxd/knxd).

Clone the repository
git clone https://github.com/V-Paranoiaque/Domoleaf.git cd Domoleaf

Installation of dependencies and creating packages
make

Ubuntu 12.04 and legacy systems.
make ubuntu1204

Installing packages

We begin by installing the “slave” package.

dpkg -i domoslave_*.deb
apt-get -f install

The “master” package.

dpkg -i domomaster_*.deb
apt-get -f install

Restart, the administration interface will be available from your server’s IP.