Overview
Fast, low footprint, fully scriptable and extendable home automation system.
System architecture
System consists of Server, multiple Endpoints and one or more Automation scripts.
Server
An application running on dedicated machine (embedded system for example) which stands as an
interface between Endpoints and Automation scripts.
Main task of this application is to cover all low-level communication with Endpoints and
expose an API for external Automation scripts.
Endpoint
A device which controls real hardware. It is controlled by Automation scripts via Server.
Each endpoint provides number of Providers:
-
OutputProvider - provides digital (power) outputs
can be used to:
-
Turn on/off light bulbs
-
Turn on/off electric sockets
-
Turn on/off any electric device which can be controlled via relays
-
InputProvider - provides digial inputs
can be used to:
-
Get state of electric switches
-
Get state of reed switches (door/window open indicator)
-
Get state of motion sensors
-
TempProvider - provides reads from temperature sensors
-
IRProvider - provides IR codes for controlling system via remote controllers
-
AnalogProvider - provides volatge reads from analog inputs
-
CounterProvider - provides pulses counter
can be used to:
Automation scripts
Scripts used to process all events incoming from the system and sending automation commands.
Example use-cases:
Gallery
|
expander8
|
|
expander16 top
|
|
expander16 bottom
|
|
expander4esp top
|
|
expander4esp bottom
|