Reactor - Announcements

CURRENT VERSIONS

Vera (all firmware releases): 3.4 (no hotfixes apply)

openLuup (2018.11.21 and up): 3.4 (no hotfixes apply)

The current Github stable branch (development/bleeding-edge) release is 3.4 (review changes)


REVISION HISTORY
Entries below are brief summaries; please refer to the CHANGELOG.md file in the Github repo for full release notes.

  • 2019-08-25: Reactor 3.4 released, nine new features, including notification support.
  • 2019-07-14: Reactor 3.3 released, ten enhancements and as many fixes for minor issues/annoyances (including all 3.2 hotfixes)
  • 2019-05-28: Reactor 3.2 released, fixes some small UI bugs (including 3.1 hotfixes).
  • 2019-05-20: Reactor 3.1 released; bug fix release only, no new features.
  • 2019-05-06: Reactor 3.0 released for Vera. Adds hierarchical group structure, more flexible logic design, inter-group and inter-sensor logic, and group-based activities.
  • 2019-04-07: Reactor 2.5 released. Incorporates 2.4 hotfixes and other stabilizing changes.
  • 2019-03-31: Reactor 2.4 released. This release incorporates all hotfixes from prior releases, addresses some UI bugs, and enhances performance of house mode change detection. See the CHANGELOG (linked above) for complete details.
  • 2019-02-02: Reactor 2.3 released. Bug fix release only.
  • 2019-01-27: Reactor 2.2 introduces a number of new features and fixes, further described in the CHANGELOG.
  • 2019-01-13: Reactor 2.1 primarily addresses UI misbehaviors. If you are using 2.0, or have patched 2.0 with an update UI JavaScript file, please update to 2.1. All patch fixes are included in this release. Thanks to everyone who contributed comments and assisted with screenshots, logic summaries and logs.
  • 2018-12-23: Release 2.0 was approved by Vera on Jan 7 2019, so they were a bit slow over the holidays. The biggest change in this release was the introduction of a full suite of Activities, so you can have Reactor perform actions directly, without creating scenes. For a full list of changes, please see the CHANGELOG. Also, check out the new documentation on the Github wiki!.
  • 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.

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!

Reactor 2.0 is now released. It has been submitted for approval to the Vera Plugin Marketplace, but as of this morning, Vera has not yet approved it or two other plugins I’ve submitted updates to, so they appear to be a bit off their usual schedule (likely just holiday staffing). It is available immediately from the AltAppStore, however, and if you want to download and install it manually, you can find the release package on Github.

Reactor 2.0’s biggest change is the introduction of a full suite of Activities, so you can have Reactor perform actions directly, without creating scenes. For a full list of changes, please see the CHANGELOG.

Also, check out the new documentation on the Github wiki!.

UPDATE: AS OF MONDAY 12/31/18, VERA HAS STILL NOT APPROVED PLUGIN UPDATES SUBMITTED THE WEEK BEFORE LAST. APPARENTLY THEY ARE STILL IN VACATION MODE. IF YOU WANT TO INSTALL 2.0 ON A VERA, YOU’LL HAVE TO DOWNLOAD THE ZIP RELEASE PACKAGE FROM GITHUB AND INSTALL IT MANUALLY.

Reactor 2.1 is now released available in both the Vera Plugin Marketplace and AltAppStore.

This release addresses a number of UI issues people have run into (including all in patch updates since the 2.0 release). It contains no new features.

Reactor 2.2 is now released and available in the Vera Plugin Marketplace and AltAppStore.

  • Enhancement: Allow invert of group state (i.e. return false when all conditions are met); makes some logic simpler for users.
  • Enhancement: Groups can now be moved up and down (like conditions), just for organizational purposes (order has no meaning to the logic). It’s also possible to delete a group directly (previously you had to delete all of its conditions one-by-one, and that would then delete the group). The enable/disable control was made an icon in the same control group as the foregoing tools for consistency and better appearance.
  • Enhancement: When editing variable expressions, a new “insert getstate” tool is available to more easily fetch device state variable values into the expression.
  • Enhancement: Reactor will check “Run Lua” fragments by putting them through Lua loadstring(), as an early check for syntax errors.
  • Enhancement: Reactor now implements service SwitchPower1, which mirrors the SecuritySensor1 state (i.e. the binary light is on when the ReactorSensor is tripped; off when it is untripped); this allows facilities that don’t support SecuritySensor1 but can support SwitchPower1 to sense and manipulate the ReactorSensor.
  • Enhancement: New condition type “geofence” lets you react to one or more users being home, or not at home, or in one of the user’s configured locations.
  • Enhancement: Show current value of state variable when selecting configuring service conditions (conditions that test service state variables). The display value will be truncated to 64 characters. Hovering over the displayed value or “Current value” label will display the entire string.
  • Enhancement: RunLua actions can now use Reactor.dump() to display the content of tables (e.g. print(Reactor.dump(luup.scenes))).
  • Enhancement: attempt to load the ACE editor if it is not loaded, so it can be used to edit RunLua code with syntax highlighting under both UI7 and AltUI (AltUI loads ACE for us). Note: ACE is disabled by default currently on UI7, as there is some issue with Chrome/Mac; it seems to work for other browsers, so if you want to try/use it, set the UseACE state variable to “1” on the Reactor master device.
  • Enhancement: “change” operator now supports “from” and “to” values, so a condition can test more than just if the value changes at all, but also if it changes from/to specific value (e.g. house mode changes from Away to Home).
  • Fix an issue where cache expiry of condition state data may cause trip/untrip manual action buttons to fail to execute Lua fragments in the activities. This does not affect the normal, automatic operation of trip/untrip in response to conditions, only manual.

Reactor 2.4 is now available in the AltAppStore for AltUI and/or openLuup users. It will be submitted to the Vera Plugin Marketplace later today for approval, with expected availability tomorrow.

Changes in this release:

  • Change: Embedded URLs to Vera community forums updated to new Discourse-based community.
  • Fix: fix an issue with Safari 12 user not being able to edit “sustained for” time on service conditions.
  • Enhancement: The response time for house mode changes has been dramatically improved (without increased polling).
  • Enhancement: Reactor now uses a weak table to cache compiled Lua. This allows the system to purge the compiled fragments if the memory is needed elsewhere. This can be disabled by setting SuppressWeakLuaFunc to 1 in the Reactor master device (+reload).
  • Enhancement: The restore facility can now restore a configuration to a selected ReactorSensor, rather than only to an RS with the same name; this makes it possible to copy Reactor configurations between devices. Incorporates hotfix-19044-01.
  • Fix hotfix-19044-01: Restore of configuration not being written to device correctly, so restore appears to succeed, but device is unchanged.
  • Fix hotfix-19040-01: Fix missing pre-init of context variable that causes later spurious error (reported on openLuup).
  • Change: Remove deprecated execLua context values “reactor_device” and “reactor_ext_arg”
2 Likes

My latest video, “Simple Motion-controlled Light” in now up on YouTube: https://youtu.be/NanFW8iFPco

3 Likes

Reactor 3.1 has been released to the AltAppStore, and is currently pending approval in the Vera App Marketplace. This version contains the following changes:

  • Fix: Interval condition stomping on needed value, disrupting any subsequent time-related conditions.
  • Fix: New Variable/Expression is created in the wrong container div so it wasn’t immediately sortable.
  • Enhancement: The getstate() expression function now accepts an empty string for the device argument, which means the current ReactorSensor (self-reference).
  • Fix: Ensure activities for group are removed when group deleted.
  • Fix: When the root group is NUL, every eval looked like a change to the throttling algorithm and erroneously change-throttled the RS too soon. Logically, an RS with a NUL root group should never change-throttle, it can only update-throttle.
  • Hotfix-19127-01: Fix condition/group drag/drop within same parent group not saving (inter-group is OK).
2 Likes

Current version of Reactor is now 3.2. This version incorporates the hotfixes and other UI issues reported since 3.1 release.

1 Like

Current version of Reactor is now 3.3. This version implements a new updates condition type specifically for use with locks and scene controllers, as well as my ongoing efforts to make the UI navigable, intelligible, and consistent.

Thanks to @Tarkus, @RogerO, @Sammy2, @CaptainMoody for contributions to testing of this version, as well as everyone whose questions and reports keep things from getting boring around here.

4 Likes

And… Reactor 3.4 has now been released for all platforms. Principal new features:

  1. The ability, via the “Run Activity” action, to run another activity in the current or another ReactorSensor; See the wiki.
  2. The ability to select whether a “Run Scene” action will be performed using Reactor’s scene runner or Vera’s runtime. See the wiki.
  3. The ability to send notifications through a variety of common mechanisms. VeraAlerts is supported on Vera (not for openLuup). See the wiki.
5 Likes