toggledbits / Reactor

Reactor (for Vera and openLuup) is a Vera Home Automation plugin that provides advanced programmable logic.
17 stars 0 forks source link
delay ezlo lua micasaverde mios programmable-logic-controller reactor scene sensor trigger vera

Reactor

A programmable logic plugin for Vera home automation systems to enhance the built-in trigger logic for scenes and other actions.

This repository is for the Reactor for Vera/Luup plugin only. If you are looking for the multi-hub version of Reactor (supports Vera, Ezlo, MQTT, Home Assistant, Hubitat, and ZWave-JS, with more planned), please see https://reactor.toggledbits.com/.

Background

I developed another plugin called DelayLight to address a common use case that Vera did not address natively: delay-off (and/or delay-on) of loads in response to triggers. It quickly became apparent that the trigger capabilities of DelayLight needed some enhancement, but I didn't want the plugin to become overly complex, so I decided to implement a more advanced triggering mechanism in a separate plugin that could be a companion to DelayLight or used standalone (for example, to trigger standard Vera scenes, Lua, other plugins, etc.).

Features and Operation

Reactor is the parent of a set of a ReactorSensors. Each ReactorSensor contains one or more condition groups, which cause the sensor to trip when all of the conditions in any group are met. So conditions within a group are "AND", and groups are "OR". When no group's conditions are met, the sensor is untripped. This basic binary output can be used to trigger actions internally (Reactor has a robust set of actions it can perform), or trigger external scenes, notifications, and other logic.

Reactor itself is a single-instance plugin, meaning all ReactorSensors in the system run from a single copy of the Reactor code, making it light on system resources even for large numbers of sensors and logic conditions.

Installation, Configuration, etc.

Documentation for Reactor can be found here: https://www.toggledbits.com/static/reactor/docs/

Revision History

Please see the CHANGELOG.md file for release notes.

Github Branches

My branching strategy for Reactor includes four branches, as follows:

License

Reactor currently is copyrighted and all rights are reserved. Although the source code is visible for public review, it is not an open source project at this time and the use of the whole or any part of this project in derivative works is expressly forbidden.

Please refer to the full license in the Reactor documentation.