Reactor (Multi-System/Multi-Hub) Announcements
-
Build 22123 (latest and zwavejs)
This version primarily addresses a formatting problem in error messages when certain conditions (triggers and constraints) take an error (e.g. an Entity Attribute condition references an entity that no longer exists). This is cosmetic/display only and has no operational impact, but I thought it important to make a new release for the fix because of the difficulty of troubleshooting conditions with the broken messages.
If you are upgrading to this version from any version earlier than 22118, please read the release notes for 22118 in the prior post above.
-
toggledbitswrote on May 16, 2022, 10:55 PM last edited by toggledbits May 16, 2022, 7:36 PM
Build 22136
NEW: This version adds the availability of 64-bit ARM docker images. This is recommended for Raspberry Pi 4 users on Raspbian Bullseye (only; Raspbian Buster users should continue to use the armv7l image). The 64-bit ARM images also work (and are tested) on the NVIDIA Jetson Nano (2GB model tested, but should work for all).
NOTE TO ALL USERS, ESP. CURRENT DOCKER USERS: Starting June 1, 2022, the naming of all deployed packages and docker images will be changed to remove the "raspbian" or "generic" component of the name. For example. the
latest-raspbian-armv7l
docker image will be named simplylatest-armv7l
, and thelatest-generic-amd64
ZIP archive will be namedlatest-amd64
. You will need to update your version upgrade procedures accordingly; users ofdocker-compose
will need to make this change in their compose files.- Additional localization updates;
- HassController: Bless Hass to 2022.5.4
-
Build 22140
NOTE TO DOCKER CONTAINER USERS: Starting with the first release in June 2022, docker images will be named only with the release branch and architecture. That is, the current
latest-generic-amd64
will becomelatest-amd64
, andlatest-raspbian-armv7l
will becomelatest-armv7l
. This will require changes to your upgrade procedure, or if you are using docker-compose, theimage
value in your compose file.- Additional localization updates;
- HassCOntroller: Bless Hass to 2022.5.5
-
Build 22142 (latest, zwavejs)
- PR 0000321: HTTP API
perform
action does not send response when it succeeds (clients then time out waiting for the response that never comes). - PR 0000320: API Docs: Fix
entity
API examples.
- PR 0000321: HTTP API
-
Build 22149 (latest, zwavejs)
- PR 0000322: EzloController: provide mapping for Xiaomi Mini Switch (a single-button remote).
- Rule: make sure clear of trouble state (on startup) is saved if necessary (so UI updates properly without need to refresh).
- VeraController: Hack for variables named
sl_
, which are the special Luup state variables that always send updates/call watches even when set to the same value they already have (all other state variables in Vera/Luup do not behave this way, they only trigger events when their values change). In particular, thesesl_
states are changed when lock codes on locks are entered, or buttons on scene controllers are pressed. For these uses, it is important that a repeated use of the same code or button signals an additional event, so Vera/Luup's uses these specialsl_
states for those. VeraController now inserts an extra_updated
attribute of the same name that can be used with the changes operator to detect when thesl_
states are updated. Refer to this forum post for more information.
-
Build 22168 (latest, zwavejs, stable)
REMINDER: As previously announced, all docker images are now named with the release branch and target architecture only. The
latest
branch docker image for all x86_64/amd64 systems is now namedlatest-amd64
(was previouslylatest-generic-amd64
). Thelatest
branch image for armv7l, which includes Raspberry Pi systems on Raspbian Buster, is now namedlatest-armv7l
(was previouslylatest-raspbian-armv7l
). Please adjust your upgrade procedures and, if used, docker-compose or Portainer configurations accordingly.- NUTController (for Network UPS Tools) is now available as an installable extra.
- Documentation updates to reflect updated installation archive and docker image names.
-
Build 22178 (latest, zwavejs)
NOTE: I will be on holiday for most of the month of July, and with limited Internet access. During this time, I will not be able to provide software support, fixes or builds, and likely will not have much time or means to read and answer questions. Please step up and provide support to your peers if questions come up!
- HassController: Set null state for switches and sensors when Hass reports them unavailable.
- HassController: Bless Hass to 2022.6.7.
- Docs: Improve details in Synology/Docker installation.
-
Build 22179 (latest, zwavejs)
NOTE: I will be on holiday for most of the month of July, and with limited Internet access. During this time, I will not be able to provide software support, fixes or builds, and likely will not have much time or means to read and answer questions. Please step up and provide support to your peers if questions come up!
- HassController: Fix an issue that may randomly affect/disable assignment of primary attributes (since 22118).
- Fix a problem in after...within (time-restricted) sequence conditions.
-
Build 22203 (latest, zwavejs)
- Expressions: the
time()
function has been extended to allow parsing of date/time values in strings in forms beyond ISO-8601; most simple date/time forms should work, particularly those that closely adhere to your locale's default. A string that contains only a time will be converted to that moment on the current date; a string that contains only a date will yield midnight on that date. If a given string cannot be converted, an error will be thrown. Refer to the documentation for Expressions for more information. - HassController: Bless Hass to 2022.7.6
- Docs: documentation for Reactions now includes additional information about rule-based reaction behaviors and action groups, and has been "modernized" to use the terminology of Multi-Hub Reactor rather than that of the Reactor for Vera plugin.
- Expressions: the
-
toggledbitswrote on Aug 21, 2022, 6:42 PM last edited by toggledbits Aug 21, 2022, 2:43 PM
Build 22233 (latest, zwavejs)
BARE-METAL INSTALL USERS: When upgrading to this version, you must upgrade package dependencies after unpacking the archive file (delete any existing
package-lock.json
file and then runnpm install --no-save --omit dev
). The UI will not function properly if you fail to perform this upgrade.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
- Upgraded the Bootstrap library to 5.2, which gave rise to a large number of required UI changes, and an opportunity for some useful cleanups. The Bootstrap Icons library was also upgraded to 1.9. All of this also means that Internet Explorer is no longer a supported browser (use its replacement, Edge).
- HassController: Bless Hass to 2022.8.6
-
toggledbitswrote on Aug 28, 2022, 3:08 PM last edited by toggledbits Aug 28, 2022, 11:09 AM
Build 22240 (latest, zwavejs)
BARE-METAL USERS: If you are upgrading to this version from any version earlier than 22233, you need to update your package dependencies. Pleasee see the post for that build for instructions.
ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
- PR 0000327: Reaction Entity Action layout for additional data fields is messy.
- VeraController: Ensure
x_vera_device.failed
and.configured
are null if Vera fails to provide state for these values. - EzloController: Dead-marking and automatic removal (after delay) of entities for Ezlo devices/rooms/scenes that no longer exist (functional parity with other hub Controller objects).
- HassController: Implement mappings for scenes, scripts, and automations. All of these can have their actions run via Reactor's
script.run
action. Automations also can be en-/disabled using thepower_switch
capability actions (and entity primary state is the automation's en-/disabled state). All appear as runnable scenes in the dashboard. - UI: Improve highlighting of containing groups when sort/drop changes to conditions are made in the rules editor.
- HassController: Bless Hass to 2022.8.7
-
Just a news item: the ZWaveJSController is now an official add-on, available for download from
extras
. Instructions for installing it are in the Reactor documentation.For (only) those users who have been using the zwavejs build series for testing ZWaveJSController, you will now need to go back to the latest build series, and install ZWaveJSController as referenced above. There will be no further builds on the zwavejs branch. Also, ZWaveJSController no longer requires an authentication key to use, so you can remove the
auth
entry from configuration (it will be ignored and is harmless if you leave it). -
Reactor build 22248
Docker Container Users: After upgrading to this build image, please check your
NODE_PATH
environment value in your container configuration; it should read/opt/reactor:/opt/reactor/node_modules
. If it does not, please correct it (some container managers, including Synology, do not automatically reapply/update values from newer images to existing containers).- Run Reaction action: New option "wait for completion" causes the current reaction to wait for the started reaction to finish. When unchecked (default), the started reaction runs concurrently with the reaction that starts it. This (concurrent) is the behavior of all prior versions of Reactor, and since unchecked is the default, the behavior of your existing reactions does not change (unless you go in and change it). docref
- Internal changes to support general release of ZWaveJSController.
ZWaveJSController build 22248
- Reduce default logging level to 5.
- Remove unused dependency.
-
Reactor build 22251
Bare-metal Install Users: If you are upgrading to this version from any version prior to 22233, you need to update your package dependencies. Please see the announcement for that build for instructions.
Docker Container Users: If you are upgrading to this build from any build earlier than 22248, you need to check that your
NODE_PATH
for your container is correctly updated. See the announcement for that build for details and instructions.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
- PR 0000328: Rule Editor: editing condition options of parent of nested groups opens child's condition options panel (fixed).
- Entities list: fix name search parity with Entity Picker (ID matches).
- Change the way object arguments to actions in reactions are stored. Previously, they were stored in the reaction as native objects by converting the given string as JSON (the input was expected to be JSON) in the UI. This made expression substitution unavailable in those (object) arguments. Now, they are stored by the UI as given (i.e. a string), so substitutions are now available in those arguments. This specifically removes the limitation that
x_hass_system.call_service
could not perform substition in itsdata
argument. It now works as expected. A deprecation warning has been added to the Engine to detect argument values stored as native objects in actions that will cause an alert to be displayed notifying the user that the reaction/action needs to be edited. Any trivial edit to the field, followed by a save of the reaction, will update the form of the data and eliminate future alerts. - Dashboard: Fix stray "x" displayed on Sensor layout when source entity's units are null.
- HassController: Bless Hass to 2022.9.0
-
Reactor build 22252
Bare-metal Install Users: If you are upgrading to this version from any version prior to 22233, you need to update your package dependencies. Please see the announcement for that build for instructions.
Docker Container Users: If you are upgrading to this build from any build earlier than 22248, you need to check that your
NODE_PATH
for your container is correctly updated. See the announcement for that build for details and instructions.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
- PR 0000329: Rule Editor: editing sunrise/sunset condition, if only sunrise/sunset selectors are modified last, the rule does not save as configured. If other condition fields are edited after, it saves correctly.
-
toggledbitswrote on Sep 13, 2022, 9:48 PM last edited by toggledbits Sep 13, 2022, 6:01 PM
Reactor build 22256
Bare-metal Install Users: If you are upgrading to this version from any version prior to 22233, you need to update your package dependencies. Please see the announcement for that build for instructions.
Docker Container Users: If you are upgrading to this build from any build earlier than 22248, you need to check that your
NODE_PATH
for your container is correctly updated. See the announcement for that build for details and instructions.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
ALL USERS -- IMPORTANT: As a result of entity storage changes in this build, existing entity storage (cache) is invalidated and rebuilt when this build is first run. That will cause all entities to be reported as newly-discovered, even though they were known before. However, this should be minimally disruptive to your logic, if at all. You may also safely ignore any warnings you see in the logs about "incompatible serialization data" on that first run; those are expected.
- PR 0000331: In the "Pulse" output condition options, the option to limit the number of pulses vanished from the editor during the upgrade to Bootstrap 5 (i.e. since 22233). It has been restored. This did not affect the operation of existing repeat count limits on conditions. If a pulsing condition was edited, that would have removed the limit, so if you use this feature, you might check those conditions that should use it. Opening the rule detail in the Rule Sets list of rules to see the condition descriptions is sufficient to see if it's there or not -- you don't need to go into the editor to see it. When present, the condition description will include "repeat after x seconds up to y times."
- Fix spurious data format warning for HTTP Request actions.
- Entities now have metadata (data about data) for each attribute that provides the time last modified, as well as the previous value and the effective time of the previous value. In addition, any data type and other definition information known for the attribute will also be present. The quickest way to see attribute metadata is to hover over the name of an attribute in the detail panel of an entity in the Entities list. The attribute metadata is accessible in expressions via each entity's
attribute_meta
property. The subkeys of this property are capability names, and within each capability are the attribute names, and within the attribute names are the metadata elements. For example, in the commonly used form of expressiongetEntity( entity_id ).attributes.power_switch.state
we would get the value of thestate
attribute in thepower_switch
capability of whatever entity was matched; this tells us if the switch is on or off. To get the time that value was set, we would usegetEntity( entity_id ).attribute_meta.power_switch.state.last_modified
. Those of you trying to use thelastupdate
property on an entity for various purposes (such as failed node detection) should particularly take note of this change and the capability it provides. - Docs: New page Expressions with Entities & Attributes in the How-To section.
- (Advisory) HubitatController: Hub variables are limited to 255 characters by the hub firmware. Attempts to set a hub variable to a longer string will fail. See the Limitations in the HubitatController docs for more details.
- VeraController: The
sys_system.reload
action was incorrectly reloading the remote Vera hub; that's not really its job, but rather the job ofx_vera_sys.reload
. If you have been usingsys_system.reload
to restart Luup, please switch tox_vera_sys.reload
. As of this build,sys_system.reload
will cause VeraController to resync all devices and entities (i.e. it's a restart of VeraController, not your Vera). - HassController: Bless Hass to 2022.9.2
ZWaveJSController build 22256
- Send notice (displays in Status widget) when a new node is discovered.
-
Reactor build 22257
Bare-metal Install Users: If you are upgrading to this version from any version prior to 22233, you need to update your package dependencies. Please see the announcement for that build for instructions.
Docker Container Users: If you are upgrading to this build from any build earlier than 22248, you need to check that your
NODE_PATH
for your container is correctly updated. See the announcement for that build for details and instructions.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
ALL USERS -- IMPORTANT: If you are upgrading to this build from a build earlier than 22256, please read the advisories for that build prior to proceeding.
- VeraController: Specific support for iBlinds2 (Window Blind Controller mfg 647 prod 3,13) to handle its 50%=fully open way of doing business (since the covering is made up of slats/louvers, the 0 and 100 positions are closed fully tilted one direction or the other, with 50% being "flat" between the two).
- VeraController: The generic
cover.set
action was missing, and nativetoggled
capability support was added for window coverings (toggles between open and closed, as one might expect). - Dashboard: The Cover widget (window covering) was not changing its icon when the covering changed state.
- HubitatController: Tighten checking and handling around oddly-named attributes. Apparently at least one Hubitat user has a device that has a HE-native attribute with a space in its name, causing an exception to attribute naming tightened in 22256. This was causing a no-start on the controller. This build maps out non-alphanumeric characters from Hubitat to underscores, and also provides additional error handling to prevent a single attribute from stopping the controller startup.
-
Reactor build 22258
Bare-metal Install Users: If you are upgrading to this version from any version prior to 22233, you need to update your package dependencies. Please see the announcement for that build for instructions.
Docker Container Users: If you are upgrading to this build from any build earlier than 22248, you need to check that your
NODE_PATH
for your container is correctly updated. See the announcement for that build for details and instructions.ALL USERS -- REMINDER: A hard refresh of your browser is necessary after upgrading to any new build.
ALL USERS -- IMPORTANT: If you are upgrading to this build from a build earlier than 22256, please read the advisories for that build prior to proceeding.
- VirtualEntityController: This new controller type lets you create virtual entities (devices) and manipulate them. docs.
- Entities list: Fix metadata pop-ups that sometimes "stick", caused by the entity updating and the popper losing its reference element in the DOM. Also make the pop-ups more dynamic by updating them when the attribute updates.
- HassController: Devices that Hass identifies in the "motion" device class will get the
motion_sensor
capability in addition to the ubiquitousbinary_sensor
, andmotion_sensor.state
will be the primary attribute. - VeraController: Make sure all extended per-Vera-service capabilities are defined as stubs.
- HassController: Bless Hass to 2022.9.4.
-
MQTTController build 22260
- Add new template
owntracks_in_region
- Add new template
-
toggledbitswrote on Sep 21, 2022, 10:44 PM last edited by toggledbits Sep 21, 2022, 6:46 PM
Reactor build 22264
ALL USERS -- IMPORTANT: If you are upgrading from any version earlier than 22256, please read the advisories and prerequisites for that build.
- VirtualEntityController: Added ability to make periodic HTTP requests and parse results to apply to attributes (see docs).
- PR 0000332: Fix missing "minutes" label (since BS5) on Interval condition fields (cosmetic).
- Added new
location
capability for geographic location (attributes: latitude, longitude, elevation). This is intended as a target for geolocation integrations. - Docs: Updated for new
owntracks_in_region
template. - Docs: Fixed an error in the example config for VirtualEntityController.
- HassController: Bless Hass to 2022.9.5