@toggledbits I understand that you do not perform testing on Mac computers but thought I'd share the following with you in case something can be done.
I started seeing these errors with version 24302. I thought that upgrading to 24343 would have fixed the issue but unfortunately not. I either have to close the browser or clear the cache for the errors to stop popping-up but they slowly come back.
I see these errors on the following browsers:
Safari 16.6.1 on macOS Big Sur Safari 18.1.1 on MacOS Sonoma DuckDuckGo 1.118.0 on macOS Big Sur and Sonoma Firefox 133.0.3 on macOS Big Sur Chrome 131.0.6778 on macOS Big SurHere are the errors
Safari while creating/updating an expression
@http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:543:91 makeExprMenu@http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:537:28 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:92:64 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:89:68 each@http://192.168.0.13:8111/node_modules/jquery/dist/jquery.min.js:2:3133 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:89:35 @http://192.168.0.13:8111/client/MessageBus.js:98:44 forEach@[native code] @http://192.168.0.13:8111/client/MessageBus.js:95:54 @http://192.168.0.13:8111/client/MessageBus.js:106:44 @http://192.168.0.13:8111/client/Observable.js:78:28 signalModified@http://192.168.0.13:8111/reactor/en-ca/lib/js/ee.js:146:21 signalModified@http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:40:29 reindexExpressions@http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:71:32 @http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:608:40 dispatch@http://192.168.0.13:8111/node_modules/jquery/dist/jquery.min.js:2:40040DuckDuckGo while clicking on status
http://192.168.0.13:8111/reactor/en-ca/lib/js/reactor-ui-status.js:789:44 asyncFunctionResume@[native code] saveGridLayout@[native code] dispatchEvent@[native code] _triggerEvent@http://192.168.0.13:8111/node_modules/gridstack/dist/gridstack.js:1401:30 _triggerAddEvent@http://192.168.0.13:8111/node_modules/gridstack/dist/gridstack.js:1383:31 makeWidget@http://192.168.0.13:8111/node_modules/gridstack/dist/gridstack.js:968:30 addWidget@http://192.168.0.13:8111/node_modules/gridstack/dist/gridstack.js:388:24 placeWidgetAdder@http://192.168.0.13:8111/reactor/en-ca/lib/js/reactor-ui-status.js:183:44Firefox while updating a rule
@http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:543:91 makeExprMenu@http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:537:28 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:92:64 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:89:68 each@http://192.168.0.13:8111/node_modules/jquery/dist/jquery.min.js:2:3133 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reaction-editor.js:89:35 @http://192.168.0.13:8111/client/MessageBus.js:98:44 forEach@[native code] @http://192.168.0.13:8111/client/MessageBus.js:95:54 @http://192.168.0.13:8111/client/MessageBus.js:106:44 @http://192.168.0.13:8111/client/Observable.js:78:28 notifySaved@http://192.168.0.13:8111/reactor/en-ca/lib/js/ee.js:82:21 notifySaved@http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:47:26 @http://192.168.0.13:8111/reactor/en-ca/lib/js/reactor-ui-rules.js:1460:39 forEach@[native code] @http://192.168.0.13:8111/reactor/en-ca/lib/js/reactor-ui-rules.js:1459:58Chrome while creating/updating an expression
TypeError: Cannot read properties of undefined (reading 'getEditor') at RuleEditor.makeExprMenu (http://192.168.0.13:8111/reactor/en-ca/lib/js/rule-editor.js:1788:86) at Object.handler (http://192.168.0.13:8111/reactor/en-ca/lib/js/rule-editor.js:2174:54) at http://192.168.0.13:8111/client/MessageBus.js:98:44 at Array.forEach (<anonymous>) at MessageBus._sendToBus (http://192.168.0.13:8111/client/MessageBus.js:95:54) at MessageBus.send (http://192.168.0.13:8111/client/MessageBus.js:106:44) at ExpressionEditor.publish (http://192.168.0.13:8111/client/Observable.js:78:28) at ExpressionEditor.signalModified (http://192.168.0.13:8111/reactor/en-ca/lib/js/ee.js:146:14) at ExpressionEditor.signalModified (http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:40:15) at ExpressionEditor.reindexExpressions (http://192.168.0.13:8111/reactor/en-ca/lib/js/expression-editor.js:71:18) ``Thanks to @toggledbits for adding a custom CSS. I've started doing a darker Reactor style.
Here's the file: https://gist.github.com/dbochicchio/825098ac13b7f8cac22012eae37ff7ce
A couple of things are still too bright and I'll eventually catch-up. Just place it under your /config directory, naming the file as customstyles.css. Hard refresh your browser.
Hi
Having to rebuild my Linux Debian box as the SSD failed. And I have forgotten exactly what I did the first time to get it all setup.
I have Debian 12 up and running on the new SSD, I only have console no Desktop GUI.
I am trying to do the bare metal install for MSR. However I am not sure if I am meant to install nodejs whlist logged in as the root user or as the none root user with my name ?
I used putty and connected via SSH and logged in as root and I installed nodejs but I think this was wrong as when logged in as my user name and I do a node -v command it says node is not installed or doesn't show any version number anyway.
But when logged in as root and I do a node -v command it does show me its installed and displays the version number. maybe its a path issue for my username and he can't see node is installed?
So now I am thinking I should of installed node whilst logged in as my user name and not as the root user.
This is how I installed nodejs as whilst logged in as root
ac7bf6c3-23ad-46fc-8ada-44af6704e63e-image.png
Thanks in advance.
Build 21228 has been released. Docker images available from DockerHub as usual, and bare-metal packages here.
Home Assistant up to version 2021.8.6 supported; the online version of the manual will now state the current supported versions; Fix an error in OWMWeatherController that could cause it to stop updating; Unify the approach to entity filtering on all hub interface classes (controllers); this works for device entities only; it may be extended to other entities later; Improve error detail in messages for EzloController during auth phase; Add isRuleSet() and isRuleEnabled() functions to expressions extensions; Implement set action for lock and passage capabilities (makes them more easily scriptable in some cases); Fix a place in the UI where 24-hour time was not being displayed.As the title says, here's my OpenAI Controller for Reactor:
OpenAI Controller per Reactor. Contribute to dbochicchio/reactor-openai development by creating an account on GitHub.
It supports both OpenAI and Azure OpenAI endpoints. You'll need keys/endpoints, according to each service.
The controller supports multiple models, and each one could be mapped as an entity.
It's quite easy to use, and responses can be stored in variables, for easy access. Or sent to another action (Text To Speech, another endpoint, etc).
9013ae50-fd68-42a2-87c3-97479132e465-image.png
80a88eec-7c89-464a-8196-690b4b72d044-image.png
Have fun with LLM into your scenes!
In Home Assistant I have an integration that if I add entities to it, I will get the following error in MSR as certain entity values I'm using in expressions are null for a moment. This is more or less cosmetic issue and happens very rarely as I rarely modify that integration on the hass side.
Screenshot 2024-11-28 at 22.20.41.png
And the expression is
Screenshot 2024-11-28 at 22.38.19.png
Could I "wrap" hass-entity shown above somewhat differently to prevent this error from happening? Using build 24302.
Hello
I am trying to set up Multi System Reactor to automate routines across multiple smart home devices & platforms (e.g., Home Assistant, SmartThings, and Hubitat). While I have successfully linked the systems; I am facing issues with:
-Delays in triggering actions on secondary devices.
-Inconsistent execution of complex logic conditions.
-Synchronization of states between devices when one system updates.
Is there a recommended way to optimize performance & confirm seamless state sharing across systems?
I have checked https://smarthome.community/category/22/multi-system-reactor-msbi guide for reference but still need advice.
Any tips on debugging or log analysis to pinpoint where the issue arises would also be appreciated.
Thank you !
I've managed to use MSR UI on iOS devices to some degree*, so that although UI elements (e.g. rule sets) are not visible in portrait mode, you've seen them in landscape. Now with recents builds (24302) this does not work anymore, elements (rule sets, entities) are not anymore visible in landscape mode.
Does anyone have similar experiences? Using iOS 18 and Safari/Chrome browser.
( *Drag & drop of rule conditions have never worked on a mobile)
@toggledbits Since I have upgraded ZWaveJSController to 24293 from 24257 I am seeing entries related to registering action set_volume, but action is not defined by the capability 143 every time I restart Reactor.
The Siren seems to be doing what it is supposed to do. The volume levels are fine. Should I worry about it?
Reactor version 24302
ZWaveJSController version 24293
Z-Wave JS UI version 9.27.4
zwave-js version 14.3.4
I have the following ACL defined:
groups: admin: users: - admin applications: true api_acls: # This ACL allows users in the "admin" group to access the API - url: "/api" group: admin allow: true log: true # This ACL allows anyone/thing to access the /api/v1/alive API endpoint - url: "/api/v1/alive" allow: trueAnd I have authenticated to MSR as "admin" user. However, I'm getting "access denied" when trying to access http://*******:8111/api/v1/log
So what I'm missing, is my ACL incorrectly defined?
Using build 24302 on Docker.
Hi
I have just connected a bunch of EzloPi controllers to MSR to import some ESP based devices etc.
They all seemed to have worked and imported in to MSR apart from I have one missing device. It is a Digital Gas Sensor device.
This is how that device looks in the Ezlo API.
Devices Info:
_id: "10696001" deviceTypeId: "ezlopi" parentDeviceId: "10696000" category: "level_sensor" subcategory: "" gatewayId: "457a5069" batteryPowered: false name: "Gas Sensor Digital" type: "sensor" reachable: true persistent: true serviceNotification: false armed: false roomId: "" security: "no" ready: true status: "idle" parentRoom: true protectConfig: "default"Items Info:
_id: "20696001" deviceId: "10696001" hasGetter: true hasSetter: false name: "smoke_density" show: true valueType: "substance_amount" scale: "parts_per_million" value: 2.7472610473632812 valueFormatted: "2.75" status: "idle"There is also an Analog Gas sensor that one did import in to MSR OK.
68d63dab-b871-4f44-912b-cf6e0b9eb4c6-image.png
Devices Info:
_id: "10696000" deviceTypeId: "ezlopi" parentDeviceId: "10696000" category: "security_sensor" subcategory: "gas" gatewayId: "457a5069" batteryPowered: false name: "Gas Sensor Analog" type: "sensor" reachable: true persistent: true serviceNotification: false armed: false roomId: "" security: "no" ready: true status: "idle" parentRoom: true protectConfig: "default"Items Info:
_id: "20696000" deviceId: "10696000" hasGetter: true hasSetter: false name: "gas_alarm" show: true valueType: "token" enum: 0: "no_gas" 1: "combustible_gas_detected" 2: "toxic_gas_detected" 3: "unknown" valueFormatted: "no_gas" value: "no_gas" status: "idle"And this is how this MQ2 Gas Sensor looks like on their dashboard:
Digital
cb77dfa3-4af5-4d06-9635-89207a716a89-image.png
Analog
4fb4da1b-e946-4b89-876c-bcd9f5699b6c-image.png
They have an EzloPi website here you can create your own sensor projects using ESP boards, which is very interesting stuff!
And I just wrote on the Ezlo forum here, how to connect an EzloPi controller to MSR.
THANKS.
A couple of things for you @toggledbits, since you mentioned that this release has new features and some tweaks are expected.
Local expressions cannot be deleted. Pushing the X button has no effect for me.
When cloning an entity action, the result is strange (first is cloned one, second is the original action):
a92ea094-9e2c-4aaa-bf47-2d07a6ffdbd0-image.png
When changing the action on the cloned element, the params are added to the original one. See screenshot:
92ac3011-83c8-466b-bd23-47d483ad7a52-image.png
Dark theme has a couple of strange contrasts. One is visible in the previous screenshots (white text on yellow background). Another one is in groups (blue text on blue background):
9b3c4988-53ef-44e6-9672-30e744cacb75-image.png
Overall, I found blue, yellow, red and green (in buttons and forms) to be too bright.
On the bright side:
I love the new script action: thank you! The dark theme is a great start to avoid getting blinded at night I promise I'll try very soon the new features around actions. Thanks!@toggledbits
I just upgraded to version MSR 24293, bare metal running on Fedora. Upon restart, I am getting a error banner:
I followed the new directions about npm
npm i --no-save --no-package-lock --omit dev
Any idea what the issue is?
Seems like switching the UI to the newly added dark mode (thank you for this) does nothing. The UI stays in light mode and only a few buttons turn into dark mode (see screenshot)
Things I have tried:
Hard refresh
Different browser
Different computer
Restarting Reactor
Failed troubleshooting attempts:
No errors in Chrome console
No relevant errors in Reactor log (can still PM the full log file)
Reactor version: latest-24293-ea42a81d
Hardware: Odroid N2+
Linux version: Ubuntu 24.04.1 LTS
3df2806f-9146-485b-9ec1-d056e91cefe5-image.png Dark mode enabled
ff823023-c079-4684-b01f-d6ac6527d31a-image.png Light mode enabled
Good morning,
I have a service MQTT service that needs a restart occasionally. The add-on (Smartbed MQTT) is for the smart bed base for my bed. It has a "safety light" that I can control from HAAS & MSR as a light entity, and also moves the head of the bed to a preset at bedtime, and then lies it back flat in the morning The problem is, from time to time, the light becomes "unavailable" Restarting from the Add-ons tab in HAAS always fixes it, but I should be able to detect when it happens when "light.tempur_pedic_safety_lights" is not true or false, i.e., unavailable.
What I don't know how to do is how to restart that service. Does anybody have experience in restarting add-ons from MSR?
Running:
Reactor (Multi-hub) latest-24212-3ce15e25 ZWaveJSController [0.1.24232]HAAS:
RPi5-64 (8GB) Core 2024.7.3 Supervisor 2024.08.0 Operating System 13.0 Frontend 20240710.0Reactor (Multi-System/Multi-Hub) Announcements
-
Build 22004
- PR 0000289: Fix detection of loops in expressions, and add more aggressive checks for some conditions previously missed; make sure self-referencing expressions are not considered loops.
- EzloController: Update connection error recovery; cloud auth and token requests are now only done when the controller specifically denies the current token, or when too many connection retries occur. Implement retry decay, to further reduce queries to Ezlo's cloud. Overall, this makes EzloController more resilient in the face of Internet and Ezlo cloud outages.
- Update the little-used (that may be about to change) encrypted status packager to work in docker containers.
-
Build 22021
Bare-metal install: you must run
npm i --no-save --omit dev
in your Reactor install directory to install new dependencies.- UI: Make it possible to bypass the About page at startup.
- UI: Status page now has movable, resizable widgets. A couple of new widgets have been introduced as well.
- HubitatController: Fix
volume.set
action (media players) - Support for
usermedia
directory insideconfig
; if present at startup, the built-in HTTP server will serve files from this directory (meant primarily for media/audio files, but will serve most common file types). This allows the user to serve files from the Reactor installation without the need to separately install Apache or another web server. - HassController: Bless Hass to 2021.12.10
- Engine: predicates have been refactored to tidy up the code and remove some duplication of functionality created when reaction group contraints were introduced.
- Clean up the
reactor_inet_check.sh
script (intools
). - Docker: the OS base for x64 generic and armv7l (RPi) is now Alpine version 3.14 (was 3.12);
-
Build 22022
Bare-metal users: you must remove any existing
package-lock.json
file from your Reactor install directory, and then runnpm i --no-save --omit dev
to update package dependencies. You will get a vulnerability warning; see this post. DO NOT runnpm audit fix
— it will break your Reactor install.Docker users on Raspbian Buster (Raspberry Pi): you must install a patch to run the Reactor image in a container. See the install instructions for the steps to install the patch.
Engine: New and very experimental Repeat While action group, repeats as long as its conditions are met. The group must have at least one condition or it will not run at all. The repeat will stop if either (a) the conditions result in false, or (b) if it's in a rule-based reaction, the contra-reaction is started by a change of rule state. It is quite possible to make reaction groups that never stop, so be careful with your logic here.This feature was not included.- UI: Fix "Recently Changed Entities" not updating dynamically.
- UI: Fix an error in the new widget text on the Status panel.
- The
node-fetch
package requirement has been updated to version 2.6.7 or higher (in the 2.x release path). This version is patched against CVE-2022-0235 according to the package author. Bare-metal users will need to remove any existingpackage-lock.json
file in their Reactor install directory, and then runnpm install --no-save --omit dev
. DO NOT runnpm audit fix
— it will break your Reactor install. - Docs: Update package install instructions for bare-metal installs, and in the Troubleshooting section.
- Docs: Update docker container installation instructions for users of Raspbian Buster (only) with additional steps to install
libseccomp2
patch required to run the image.
-
Build 22023
Bare-metal users: you must remove any existing
package-lock.json
file from your Reactor install directory, and then runnpm i --no-save --omit dev
to update package dependencies. The previously reported vulnerability warning should no longer be present.Docker users on Raspbian Buster (Raspberry Pi): Reactor images since 22021 require that you install an OS patch to run the Reactor image in a container. See the install instructions for the steps to install it.
- PR 0000296: Fixed rule throttling caused by constraints subscribing for events when they should not.
- PR 0000297: Duplicate report for 0000296.
- PR 0000298: Global expressions not updating correctly, not triggering rules correctly.
- Engine: New and very experimental Repeat While action (a form of group), repeats as long as its conditions are met. The group must have at least one condition or it will not run at all. The repeat will stop if either (a) the conditions result in false or null, or (b) if it's in a rule-based reaction, the contra-reaction is started by a change of rule state. It is quite possible to make reaction groups that never stop, so be careful with your logic here.
-
Build 22025
Bare-metal users: updating package dependencies when updating Reactor is recommended. To update packages, you must first remove any existing
package-lock.json
file from your Reactor install directory, and then runnpm i --no-save --omit dev
.**Docker users on Raspbian Buster (Raspberry Pi): Reactor images since 22021 require that you install an OS patch to run the Reactor image in a container. See the install instructions for the steps to install it.
- VeraController: allow arrays for
filter_entity
andaccept_entity
to be consistent with other similar applications. - Fix an issue with setting a Rule's timebase before evaluation that may affect some rule-based expressions. Likely related to PR 0000301.
- VeraController: allow arrays for
-
Build 22028
Bare-metal users: updating package dependencies when updating Reactor is recommended. To update packages, you must first remove any existing
package-lock.json
file from your Reactor install directory, and then runnpm i --no-save --omit dev
.Docker users on Raspbian Buster (Raspberry Pi): Reactor images since 22021 require that you install an OS patch to run the Reactor image in a container. See the install instructions for the steps to install it.
- PR 0000301: Fix excess sensitivity to apparently unrelated devices in some conditions. I'm leaving this PR open; I think I know why this happened, and for my system it's working great, but I want to make sure I've covered all the bases, and because the fix was pretty aggressive, didn't inject anything new.
- Fix exception trying to subscribe to non-Observer in Variable Value condition.
- Logger: Allow
maxsize: 0
in log stream configuration for no log rotation at all. - Fix condition value seen on Date/Time conditions in rule status display (cosmetic).
- HubitatController: implement Reactor
energy_sensor
capability; replacesx_hubitat_energymeter
, which is now deprecated.
-
MQTTController Build 22029 -- download
Please run the install script after unpacking the update.
- Echo function now publishes rule states and global variables. Please see the docs for more information.
-
Build 22044
- PR 0000306: Certain condition options not being saved for rule-based constraints.
- PR 0000305: Copying rule expression can renumber expression in source rule.
- PR 0000302: Reaction delay "from start" working same as "from this point".
- InfluxDB: Support for more extensive control of written measurements, including name and type modification; see docs
- Reactions: Fix an issue where missing device in a rule reaction does not flag trouble on the rule.
- Three new capabilities:
valve
,scene_activation
andbattery_maintenance
. These will be fully integrated with eligible Controllers and Entities in a future release. - Reactions: An error in a special form on the Comment action is fixed (simple notification).
- Expressions: New expression
case
statement; see docs - Expressions: Fix sort in
median()
function. - Expressions: An error in the
fileRead()
function has been fixed.
-
Build 22049
NOTE: Bare-metal users should run
npm i --no-save --omit-dev
to update packages for this release.- Update lexpjs for new
pad()
function - PR 0000307: Nested group would repeat interior actions outside group (reaction UI)
- Update to latest minor revisions of jquery-ui, bootstrap, popper. This now silences the long-endured warning when doing
npm i --no-save --omit dev
- Update lexpjs for new
-
Build 22053
BREAKING CHANGE/FIX This version contains what may be a breaking change for some users. Some actions offer lists of predefined values (e.g.
media_source.set
offershdmi1
,hdmi2
, etc.). A bug in the Reaction editor was causing a numeric index value to be stored instead of the string value (i.e. it would store 0 rather thanhdmi1
). The bug is now fixed, but any action like this previously created/edited may have had an invalid value stored in the rule or reaction to which it belongs, and this cannot be reliably automatically fixed, it generally requires user review. Most likely, these actions didn't work well for you anyway, because the erroneous numeric value would likely have given invalid results/behaviors/errors when attempted, and we just haven't noticed until now (they are fairly rarely-used actions, on the whole). The specific actions affected are:av_repeat.set_repeat
,muting.set
,media_source.set
,hvac_control.set_mode
,hvac_blower_unit.set_mode
,hvac_blower_swing.set_mode
,hvac_humidifier.set_moded
,hvac_dehumidifier.set_mode
,zwave_device.set_config
. Hopefully this list helps you narrow down what, if any, of your rules/reactions may be affected. Just take the rule/reaction into the editor, fix the new correct value and save.- PR 0000308: Fix issue where delay action with substitition in delay may self-replace evaluated value in stored object.
- UI: Autogrow fields get more room for datalist controls.
- UI: Fix issue with some value lists incorrectly showing and storing index values rather than actual listed value; see BREAKING notice above.
- Bless Hass to 2022.2.9
-
Build 22067
Bare-metal Users: Please run
npm i --no-save --omit dev
when installing this update.- PR 0000309: Exception while evaluating global reaction predicate (conditional group).
- HubitatController: Attempt to eliminate additional query to fetch full device data when a device-change event is received from the hub. Please see the documentation for cautions.
- UI will now highlight deprecated capabilities, attributes and actions when used.
- Bless Hass to 2022.3.3
-
Just an FYI for everyone, I'll be on holiday from tomorrow March 10 through March 19, and I'm leaving the laptop on the shelf at home for this one. I can answer emails and forum posts, but I won't likely be checking more than once a day, and I won't doing builds or any bug fixing while away. See you all on the other side!
-
Build 22069
Note: Only users of Hubitat hubs need to upgrade to this version, and then only if you previously upgraded to 22067.
- HubitatController: Fix a possible loss of attribute change across restarts of the hub (that is, when a value changes during a Hubitat restart but Reactor is not restarted).
-
Build 22080
- PR 0000311: Vera Scene controller entities missing attributes in new and exisitng rules
- PR 0000310: Dependent global variable may not update after editing parent.
- HubitatController: Because the HE events websocket passes all values as strings, the new fast-update process introduced in 22067 would change (for example) a previously-numeric attribute value to a string when updated by the hub. While this doesn't generally bother conditions or expressions, the type change affects InfluxFeed because InfluxDB cannot digest the type change. The data type declared by the hub during inventory is now stored and used to remap the events feed values to keep the data types consistent on the attributes. It must be noted, however, that the data types of extension attributes (
x_hubname_...
) are driven by the hub, and are therefore not guaranteed by Reactor (types are guaranteed for Reactor-defined capabilities, e.g.dimming
,value_sensor
, etc.). Users exporting extension attributes into InfluxDB are advised to always use explicit type setting for those attributes in their InfluxFeed configuration. This advisory has been added to the documentation for InfluxFeed. - HubitatController: An inconsistency in the (HE) attribute names between their MediaPlayer and MusicPlayer capabilities with respect to transport state is now handled correctly, so that Reactor's native
av_transport.state
attribute shows a correct value regardless of which the device uses. - SystemController: Will now issue system alerts unconditionally when disk space becomes critical (unless disk space monitoring has been disabled by user configuration), in addition to the (previously available) values and flags on the
reactor_system>system
(Reactor System) entity. It's also probably a good idea to add notifications (i.e. in your own rules) for such conditions raised by the system entity, if the user is not regularly looking at the Reactor UI. See the documentation for SystemController. - SystemController: A
dst
(boolean) attribute has been added to thereactor_system>sun
(Sun Information) entity; it will be true when Daylight Saving Time is in effect, false otherwise. - HassController: Fix
cover
capability handling on non-positionable covers (e.g. garage doors). - Dashboard: New display for cover entities.
-
Build 22118 (latest and zwavejs) — PLEASE READ ALL ADVISORIES BELOW
NODEJS VERSION REQUIREMENT: As previously announced, nodejs versions below 16 are no longer supported as of 2022-Mar-31. Bare-metal users (only) will need to upgrade their nodejs to version 16 (the current LTS version) or higher. Bare-metal RPi users can use the install script to do this. Docker image users needn't concern themselves; the image is built with an approved version of nodejs.
NOTE: This release includes changes to package dependencies. Bare-metal users please run
npm install --no-save --omit dev
to resolve.IMPORTANT: This update includes some significant enhancements for entity tracking. On your first startup after upgrading, you will get a lot of alerts about new devices being discovered (i.e. existing devices are being noted as new) as the enhanced tracking learns what is "normal" for your system. This is expected behavior for this version on its first startup. Just clear the alerts and go on about your day. After that, you should only receive notices when new devices are added to a hub, or new hubs are configured in Reactor.
Remember to hard-refresh all browsers after upgrading and restarting.
- PR 0000316: Variable Value condition with substitution in operand may replace expression with value in saved rule.
- PR 0000315: Improve alert message when a Rule-based reaction fails.
- PR 0000314: Fix "self-subscribe" exceptions logged after creating new Rule with local expressions and a Variable Value condition (exceptions clear after restart of Reactor).
- PR 0000312: Expressions
getEntity()
helper not listing or updating attributes correctly (fixed). - Raspberry Pi Install Script: Support for 64-bit installation on Raspbian Bullseye.
- Raspberry Pi Install Script: Can now be used to upgrade nodejs with a local (user-specific) install.
- UI: Faster core startup brings up the UI more quickly, and does not wait for controller startups, so a delay in a controller becoming ready (e.g. its associated hub is offline) will no longer delay the UI being available.
- UI: You can now add an SSL/TLS certificate and have the UI and API served over HTTPS (see How-To in documentation).
- New actions in
sys_system
capability to tell a Controller instance to purge unused entities (i.e. that no longer exist on the hub but are still present in Reactor), delete an entity (from Reactor only, not from the hub/mesh/etc.), and rename an entity (in Reactor, not at the hub/mesh/etc.). - UI/Entity Picker: You can now move the entity picker by dragging its title bar.
- UI/Entity Picker: The name search field will now also match on entity IDs.
- UI/Reaction editor: Changing from a group or while to another reaction type while editing would leave the conditions behind (they should be removed); fixed.
- Expressions: lexpjs updated, adds
yday
(day of year),isoweek
(ISO-8601 week number) anddst
(boolean) todateparts()
function result. - Status: Controller Status widget now sorts down/failed controllers first.
- Docs: Added How-Tos for serving media files from Reactor's built-in web server and set up HTTPS for the UI.
- HassController: Bless Hass version 2022.4.7.
REMINDER: If you need to post an issue related to this (or any) version, please follow the posting guidelines.
-
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.
-
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.