Consequences provides the scaffolding for automation.
This is achieved by loading globally installed addons, automatically performing actions based on a set of rules and triggers, and providing an HTTP interface to inspect and update the state of the application.
On the surface Consequences does not offer a lot. From a user perspective it is comprised on:
With these basic concepts "chains" can be created, e.g. "when the lounge motion sensor detects motion, turn the lounge light bulb up to 65%".
Chains support multiple conditions and multiple branches, allowing for complex setups to be created with minimal effort, e.g.:
Motion Sensor (variable) └── "detected motion" is true (condition) └── Lounge light bulb is off (condition) ├── The sun has set (condition) │ ├── Set the lounge light bulb's temperature to warm (action) │ └── Turn the lounge light bulb up to 70% (action) └── The has not set (condition) ├── Set the lounge light bulb's temperature to soft (action) └── Turn light bulb up to 30% (action)
This project is currently under development and is considered unstable. Until a stable 1.0 version is released I would recommend you do not use this project, unless you wish to contribute.
Consequences is released until the MIT license. See the LICENSE file for the full license.