Easy SmartHouse 
Easy SmartHouse project is an attempt to create an universal platform for the management of home devices using popular interfaces. At the moment, you can work with devices on the Serial, USB, 1-Wire and ZigBee protocols, survey and secure your estate using a large number of supported cameras, configure devices interactions via triggers. To add support for the device is quite easy - you just need to add it in one of the configuration files. Also, some kinds of mock-devices are available for development stage.
Usage
- Install JRE 1.7
- Download application release: EasySmartHouse-0.1-release.zip and unpack it.
- Execute back.bat or back.sh to run service part of the app.
- Run front.bat or front.sh to start frontend.
- Go to http://localhost:8080/webui
All the configs of the application are localed in config folder.
Features
Embedded expression language
For complex logic devices control a special expression language was developed. Example of expression:
$${(device1 present) and ((sensor2>34.44) and (sensor1<3.45))}
Device's behaviour in script
Very useful and flexible feature that allows to describe, control and change devices behaviour in runtime without reloading the application. Example of JS-device, that describes 2-channel relay connected to COM-port may be found here. Script syntax, in accordance with 'Scripting Java' documentation. Also Groovy and JRuby scripts can be executed.
Security
In addition to standard authentication by login and password, two factor authentication using the YubiKey is also available.
Project modules
The project consists of two main parts: services which represent devices and ui part. The remaining modules provide the network devices and its cooperation.
- service - devices services module;
- device - base network devices interfaces;
- network - smart house network interfaces/base classes;
- maxim - 1-wire provider network/devices implementation;
- hid - usb devices network implementation;
- serial - serial protocol devices communication;
- mocks - mock devices network, may be used in development environment;
- cameras - working with cameras;
- ui - user interfaces repo;
- el - device control expressions;
- scripting - device script configs;
- zigbee - ZigBee network via dongle;
See also
jusbrelay - related module for USB relay interaction
Easy SmartHouse-mobile - mobile version of the application

Formed in 2009, the Archive Team (not to be confused with the archive.org Archive-It Team) is a rogue archivist collective dedicated to saving copies of rapidly dying or deleted websites for the sake of history and digital heritage. The group is 100% composed of volunteers and interested parties, and has expanded into a large amount of related projects for saving online and digital history.
