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.