Author Topic: Reactor - Announcements (New Users Start Here!)  (Read 10323 times)

Offline rigpapa

  • Moderator
  • Hero Member
  • *****
  • Posts: 761
  • Karma: +115/-1
Reactor - Announcements (New Users Start Here!)
« on: June 15, 2018, 05:41:19 pm »
Lately there have been a lot of requests for assistance with conceptually simple triggering tasks that remain outside the reach of Vera's built-in trigger conditions for scenes. Many have also voiced a resistance to using Lua or PLEG for various reasons (learning curve, resource constraints, etc.). I have also fielded a lot of inquiries about how to do certain triggering tasks for DelayLight. As I pondered these issues, and in particular considered the value of making more capability in this area separate from DelayLight, I decided to take a stab at my own version of a logic plugin.

This is Reactor. Reactor is meant to be a milestone along the power path of GUI-based logic controllers between Vera's native scene triggers and the almighty PLEG. It responds to a set of configurable conditions, implementing the semantics of a motion/door sensor (aka the SecuritySensor1 service), and so can be used to trigger scenes, etc. Users create trip conditions in a simple GUI. Conditions live in one or more "condition groups." For a Reactor Sensor to be tripped, all of the conditions in any of the groups must be met (i.e. AND between conditions within a group, OR between groups). As a single-instance plugin, it controls all of its timers from a single copy of the core parent code, making it very efficient on your system resources.

Here are some typical use cases one could address with Reactor, taken from recent discussions:
  • Trigger a notification or scene if the garage door is left open for more than 5 minutes between the hours of 10am and 6am;
  • Trigger a scene to run at 5am on the 2nd Sunday of March and 1st Sunday of November every year (US DST change);
  • Trigger a scene when the house is in Away or Vacation mode and the Nest thermostat leaves "Away" mode;
  • Trigger a notification when a child enters the home and a parent is not home (latchkey);
  • Turn off a light or fan that's controlled by a motion sensor when the sensor's untrip message has been missed and the light has been on too long.
  • Turn on all the lights in the room if the main light is turned on-off-on within 10 seconds.
Reactor can be installed from the Vera Plugin Marketplace, or for users of ALTUI (on Vera or openLuup) via the AltAppStore. You can also grab the latest release from the Github repo and install it manually. The repo's stable branch contains the most recent updates that pass basic QA (alpha/eta-ish).

Before posting a question or reporting a problem, please read this post.

Reactor is free to use, and I have no plans to ever charge for it, but if you find it useful, please make a small donation to support its ongoing development.

Note: You can always see the current release info and latest changes by looking at the file in the Github repo.

2018-11-11: Release 1.8. This version adds support for twilight (civil, nautical, and astronomical) in the "sunrise/sunset" condition, and contains other minor bug fixes.

2018-11-04: Release 1.7. This is a maintenance release that fixes a bug in "between" time conditions that can cause Reactor to miss "end of span" timing. It also further improves update checks for certain time-based conditions, and improves summary output (that part's to help me help you).

2018-09-30: Release 1.6. This version fixes a startup crash caused by scenes with empty actions (e.g. Lua only); it introduces several new options or features of existing options; it provides a UI for a previously undocumented backup and restore feature, and addresses a few small UI glitches. Please refer to the CHANGELOG linked above.

2018-08-27: Release 1.5 is available in the Vera Plugin Marketplace and AltAppStore. This version has internal scene triggering and execution; scenes run by Reactor that have delayed activity groups will survive Luup reloads (unfinished work will be completed after the event). The Reactor master device now tracks VeraSecure battery level and power source (AC or DC), so you can trigger based on these (use a service condition pointed at the Reactor device). Lots of optimizations to further reduce system load.

2018-08-12: Release 1.4 rekeased. This was a bug fix release only (see change log above if you're interested in the details).

2018-08-05: Release 1.3 now in AltAppStore and Vera Plugin Marketplace. Major additions: expressions and variables for interim results and even more logic capability (e.g. compare values of state for two different devices); repeat count over time (e.g. trip when event happens 3 times in 10 seconds); "Luup Reloaded" condition (to trigger something once on restart); there's more, see the change log (note above).

2018-07-26: Update to stable branch (install manually or via AltAppStore 0.github version) introduces variables with expressions and repeat event counting/timing. Detail in this post. I'd appreciate any testing and feedback. Planned for formal release in 1.3 (Aug 5).

2018-07-08: Version 1.2 has been released to the Vera Plugin Marketplace (expected available tomorrow), and the AltAppStore (immediately available). This version provides a new date/time condition to replace the old (which is now deprecated and will be removed at 1.5), which has more definitive control, and separates sunrise/sunset to its own condition (with offsets). It also adds a "test" configuration screen to manipulate the (apparent) current date/time so you can test these conditions more easily. A new Runtime state variable accumulates the total time a ReactorSensor has been tripped (resettable; use for tracking furnace fan runtime for filter replacement, for example). And adds the missing UI for arming/disarming the sensor, plus bug fixes and other minor changes (see the CHANGELOG as usual).

2018-07-02: Version 1.1 has been released to the Vera Plugin Marketplace and AltAppStore. This version has a lot of bug fixes (most minor, a couple significant), and two new features: "sequences light" (creating time-dependency between conditions), and a real-time status display so you can see the logic in action.

2018-06-24: Version 1.0 has been released to the AltAppStore and Vera Plugin Marketplace.

2018-06-17: alpha1 released to Vera Plugin Marketplace.
« Last Edit: November 12, 2018, 09:50:15 am by rigpapa »
Author of Reactor, DelayLight, SiteSensor, Rachio, Deus Ex Machina II, Intesis WMP Gateway, Auto Virtual Thermostat and VirtualSensor plugins. Vera Plus w/100+ Z-wave devices. Vera3 sandbox.

Offline rigpapa

  • Moderator
  • Hero Member
  • *****
  • Posts: 761
  • Karma: +115/-1
Re: Reactor - Announcements (New Users Start Here!)
« Reply #1 on: September 30, 2018, 01:26:09 pm »
Reactor 1.6 has been sent to Vera for approval for the Vera Plugin Marketplace (expected available tomorrow, Monday), and is immediately available to users of the AltAppStore.

This version fixes a startup crash caused when a trip/untrip scene has no actions (e.g., just Lua), adds some new options to service/variable conditions, and fixes some UI glitches (in particular the display of "hidden" scenes on the scene selector). More information is available in the CHANGELOG on Github.

I am going to continue to produce bug fix releases as needed, and minor feature updates, as I work on the much bigger project of implementing a scene builder for v2.0 as previously discussed.

Thank you to everyone for your questions, suggestions, and support!
Author of Reactor, DelayLight, SiteSensor, Rachio, Deus Ex Machina II, Intesis WMP Gateway, Auto Virtual Thermostat and VirtualSensor plugins. Vera Plus w/100+ Z-wave devices. Vera3 sandbox.