Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Unsolved
Collapse
Discussion Forum to share and further the development of home control and automation, independent of platforms.
  1. Home
  2. Software
  3. Multi-System Reactor
  4. Reactor (Multi-System/Multi-Hub) Announcements
How to upgrade from an old version of MSR?
cw-kidC
Hello I haven't updated my installation of MSR in a very long time. Its a bare metal Linux install currently on version 24366-3de60836 I see the latest version is now latest-26011-c621bbc7 I assume I cannot just jump from a very old version to the latest version? Or can I? Thanks
Multi-System Reactor
Access control - allowing anonymous user to dashboard
tunnusT
Using build 25328 and having the following users.yaml configuration: users: # This section defines your valid users. admin: ******* groups: # This section defines your user groups. Optionally, it defines application # and API access restrictions (ACLs) for the group. Users may belong to # more than one group. Again, no required or special groups here. admin_group: users: - admin applications: true # special form allows access to ALL applications guests: users: "*" applications: - dashboard api_acls: # This ACL allows users in the "admin" group to access the API - url: "/api" group: admin_group allow: true log: true # This ACL allows anyone/thing to access the /api/v1/alive API endpoint - url: "/api/v1/alive" allow: true session: timeout: 7200 # (seconds) rolling: true # activity extends timeout when true # If log_acls is true, the selected ACL for every API access is logged. log_acls: true # If debug_acls is true, even more information about ACL selection is logged. debug_acls: true My goal is to allow anonymous user to dashboard, but MSR is still asking for a password when trying to access that. Nothing in the logs related to dashboard access. Probably an error in the configuration, but help needed to find that. Tried to put url: "/dashboard" under api_acls, but that was a long shot and didn't work.
Multi-System Reactor
VEC Virtual Switch Auto Off
S
I use Virtual Entity Controller virtual switches which I turn on via webhooks from other applications. Once a switch triggers and turns on, I can then activate associated rules. I would like each virtual switch to automatically turn off after a configurable time (e.g., 5 seconds, 10 seconds). Is there a better way to achieve this auto-off behavior instead of creating a separate rule for each switch that uses the 'Condition must be sustained for' option to turn it off? With a large number of these switches (and the associated turn-off rules), I'm checking to see if there is a simpler approach.If not, could this be a feature request to add an auto-off timer directly to the virtual switches. Thanks Reactor (Multi-hub) latest-26011-c621bbc7 VirtualEntityController v25356 Synology Docker
Multi-System Reactor
Upcoming Storage Change -- Got Back-ups?
toggledbitsT
TL;DR: Format of data in storage directory will soon change. Make sure you are backing up the contents of that directory in its entirety, and you preserve your backups for an extended period, particularly the backup you take right before upgrading to the build containing this change (date of that is still to be determined, but soon). The old data format will remain readable (so you'll be able to read your pre-change backups) for the foreseeable future. In support of a number of other changes in the works, I have found it necessary to change the storage format for Reactor objects in storage at the physical level. Until now, plain, standard JSON has been used to store the data (everything under the storage directory). This has served well, but has a few limitations, including no real support for native JavaScript objects like Date, Map, Set, and others. It also is unable to store data that contains "loops" — objects that reference themselves in some way. I'm not sure exactly when, but in the not-too-distant future I will publish a build using the new data format. It will automatically convert existing JSON data to the new format. For the moment, it will save data in both the new format and the old JSON format, preferring the former when loading data from storage. I have been running my own home with this new format for several months, and have no issues with data loss or corruption. A few other things to know: If you are not already backing up your storage directory, you should be. At a minimum, back this directory up every time you make big changes to your Rules, Reactions, etc. Your existing JSON-format backups will continue to be readable for the long-term (years). The code that loads data from these files looks for the new file format first (which will have a .dval suffix), and if not found, will happily read (and convert) a same-basenamed .json file (i.e. it looks for ruleid.dval first, and if it doesn't find it, it tries to load ruleid.json). I'll publish detailed instructions for restoring from old backups when the build is posted (it's easy). The new .dval files are not directly human-readable or editable as easily as the old .json files. A new utility will be provided in the tools directory to convert .dval data to .json format, which you can then read or edit if you find that necessary. However, that may not work for all future data, as my intent is to make more native JavaScript objects directly storable, and many of those objects cannot be stored in JSON. You may need to modify your backup tools/scripts to pick up the new files: if you explicitly name .json files (rather than just specifying the entire storage directory) in your backup configuration, you will need to add .dval files to get a complete, accurate backup. I don't think this will be an issue for any of you; I imagine that you're all just backing up the entire contents of storage regardless of format/name, that is the safest (and IMO most correct) way to go (if that's not what you're doing, consider changing your approach). The current code stores the data in both the .dval form and the .json form to hedge against any real-world problems I don't encounter in my own use. Some future build will drop this redundancy (i.e. save only to .dval form). However, the read code for the .json form will remain in any case. This applies only to persistent storage that Reactor creates and controls under the storage tree. All other JSON data files (e.g. device data for Controllers) are unaffected by this change and will remain in that form. YAML files are also unaffected by this change. This thread is open for any questions or concerns.
Multi-System Reactor
Oddness in Copy/Move of Reactions
G
Topic thumbnail image
Multi-System Reactor
[Solved] function isRuleEnabled() issue
CrilleC
Topic thumbnail image
Multi-System Reactor
[Reactor] Problem with Global Reactions and groups
therealdbT
Topic thumbnail image
Multi-System Reactor
Possible feature request 2?
CatmanV2C
Just another thought. Adding devices from my Home Assistant / Zigbee2MQTT integration. Works perfectly but they always add as their IEEE address. Some of these devices have up to 10 entities associated, and the moment they are renamed to something sensible, each of those entities 'ceases to exist' in MSR. I like things tidy, and deleting each defunct entity needs 3 clicks. Any chance of a 'bulk delete' option? No biggy as I've pretty much finished my Z-wave migration and I don't expect to be adding more than 2 new Zigbee devices Cheers C
Multi-System Reactor
Reactor (Multi-System/Multi-Hub) Announcements
toggledbitsT
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.
Multi-System Reactor
Copying a global reaction
tunnusT
With build 25328, if you copy a global reaction, a new reaction does not appear in the UI unless you do a refresh. I recall this used to work without needing this page refresh? Anyway, only a minor nuisance.
Multi-System Reactor
[Reactor] Bug when sending MQTT boolean payloads
therealdbT
Topic thumbnail image
Multi-System Reactor
Difficulty defining repeating annual period
R
I have tried numerous ways to define a recurring annual period, for example from December 15 to January 15. No matter which method I try - after and before, between, after and/not after, Reactor reports "waiting for invalid date, invalid date. Some constructs also seem to cause Reactor to hang, timeout and restart. For example "before January 15 is evaluated as true, but reports "waiting for invalid date, invalid date". Does anyone have a tried and true method to define a recurring annual period? I think the "between" that I used successfully in the past may have broken with one of the updates.
Multi-System Reactor
Need help with sequence
T
Good evening all, For about the past week or so, I've been having problems with a specific rule in my home automation that controls when my home goes from an Away mode to Home mode. One of the conditions it checked for was my alarm panel, when it changed from Armed Away to Disarmed. There seems to have been a firmware update on the panel that added an intermittent step of "pending", and I can't say for certain it happens 100% of the time. Is there a way to write a condition that so it changes from one condition, to the next, and then another condition? As in, Home alarm changes from armed_away to pending to disarmed. Thanks.
Multi-System Reactor
Possible feature request?
CatmanV2C
No idea how easy this would be. During my migration away from Z-wave I've been replacing the Z-wave devices with Sonoff which has broken some of my automations. Any chance of a 'Test Reaction' function to call out which ones are broken because an entity no longer exists? Without actually running the reaction? Or does this exist already and I'm just not aware of how to do it? Obviously I can see entities that are no longer available, but not quite what I'm looking for. I guess it's something of an edge case so no huge issue. TIA! C
Multi-System Reactor
Logic Assistance: Exterior Lights on when Illuminance Below Threshold
PablaP
Topic thumbnail image
Multi-System Reactor
Time series documentation
tunnusT
Is the current manual (incl. examples) up to date with how retention value is handled in time series configuration? Referring to this post
Multi-System Reactor
MQTT templates for ZIgbee scene controller, or a better way?
CatmanV2C
Topic thumbnail image
Multi-System Reactor
Reset a delay
CatmanV2C
I'm sure this has been asked, and answered, but damned if I can figure it out Use case: I have a rear garden with lights. A door from the kitchen into the garden and a door from the garage. Currently if I open the kitchen door the lights come on (yay) and a 3 minute delay starts. After 3 minutes, no matter what else happens, the lights go off (Boo! But also yay!) What I would like is for the 3 minute delay until the lights go off to start from the latest door open event. That is, if I'm going from kitchen to garage, and back again, the lights stay on until there's three minutes of no activity. I've tried 'hacking' with a virtual switch, but can't seem to stop the delay. Any pointers? TIA C
Multi-System Reactor
Reactor Loading Screen Safari
S
Topic thumbnail image
Multi-System Reactor
Constraints states visually do not match actual
S
Topic thumbnail image
Multi-System Reactor

Reactor (Multi-System/Multi-Hub) Announcements

Scheduled Pinned Locked Moved Multi-System Reactor
announcements
133 Posts 2 Posters 82.1k Views 13 Watching
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • toggledbitsT Offline
    toggledbitsT Offline
    toggledbits
    wrote on last edited by
    #115

    Reactor build 24366

    • Fix an issue with the Entities list not filtering by group correctly.
    • Fix an issue with the Entities list not presenting the "Primary Value" alternate selector when a capability filter is active.
    • Fix an issue with the Global Expression editor not freeing resources when closing (since 24302).
    • Dashboard: adjust the action areas of Level widgets for more predictable touches on small devices.
    • HassController: Force a refresh of extended capabilities when the Home Assistant server version changes.
    • Entities List: adjust spacing of rows for improved appearance.
    • Rule Sets: Fix alignment of title for Rule Set selection panel (offcanvas).
    • Rules/conditions: Fix appearance (size) of fields in Interval condition.
    • Rules: (experimental) Show the rule state history on the detail panel (Rules tab, open rule panel).
    • Status: Fix an issue where widget frames may not be correctly upgraded when upgrading Reactor to 24343 (and beyond).
    • HassController: Bless Hass to 2024.12.5

    Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

    1 Reply Last reply
    2
    • toggledbitsT Offline
      toggledbitsT Offline
      toggledbits
      wrote on last edited by
      #116

      Reactor build 25016

      HOME ASSISTANT NOTE: Versions of Home Assistant earlier that 2024.1.0 are no longer supported. They may continue to work, but I won't be troubleshooting any issues that come up with them. Generally speaking, HA releases are supported one year in arears from current.

      NODEJS V18 EOL: If you are using nodejs version 18, it will go off maintenance on April 15, 2025, and is therefore now deprecated. Please update to a more recent version before this date. Even-numbered LTS versions are recommended. Version 20 will go EOL in April 2026, and version 22 (recommended) in 2028.

      • Reaction List: Fix an error thrown when creating a new Reaction.
      • Dashboard: improve display of ValueSensor class objects for capabilities temperature_sensor, humidity_sensor, battery_level, and volume.
      • HassController: Support new vacuum activity attribute and values (see HA 2025.1 release info).
      • HassController: Support state for lawn mowers.
      • HassController: Add x_hass_system.reload_configuration and x_hass_system.restart actions.
      • HassController: Bless Hass to 2025.1.2

      Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

      1 Reply Last reply
      3
      • toggledbitsT Offline
        toggledbitsT Offline
        toggledbits
        wrote on last edited by toggledbits
        #117

        Reactor build 25060

        • Reactions: Reactions can now be assigned to a Rule Set. This is strictly an organizational tool/capability for user convenience. For purposes of the Engine, Reactions in Rule Sets are still Global Reactions. That means, for example, that a Rule from one Rule Set can still run a Reaction in another Rule Set.
        • UI: The login page background should now look better on ultra-wide or beyond XXL monitors.
        • Docs: clarify formatting requirement for YAML octal values (must use 1.2 spec 0o prefix; the old 0 prefix without o no longer works).
        • Structure: improve startup handling of controllers and messages around controller startup and status (e.g. inability to load an implementation, etc.). These changes are cosmetic and intended to provide more helpful log messages when things don't go well.
        • Fix a sync problem in the Current Alerts and Controller Status Status tab widgets across restarts of the Reactor service.
        • VeraController: Fix an issue with lock.set affecting both it and toggle.toggle for locks.
        • HassController: Bless Hass to 2025.2.5

        Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

        1 Reply Last reply
        2
        • toggledbitsT Offline
          toggledbitsT Offline
          toggledbits
          wrote on last edited by toggledbits
          #118

          Reactor build 25067

          • Fix a runtime error thrown when creating a Reaction in a Rule Set.
          • Fix a race condition causing a runtime error in some browsers when the "Exit" button is hit on a Reaction Editor instance. The error was discovered to be more reliably reproducible when the Reaction being edited had a group (i.e. used an interior/child instance of a Reaction Editor).
          • Fix deletion of global expression.

          There are workarounds for the first two issues if upgrading is a hassle for you. For the first, create the Reaction under Global Reactions and then move it to the target Rule Set. For the second, you can safely ignore the error as it occurs after all save and cleanup have already taken place.

          Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

          1 Reply Last reply
          👍
          1
          • toggledbitsT Offline
            toggledbitsT Offline
            toggledbits
            wrote on last edited by
            #119

            Reactor build 25082

            NOTE: Bare-metal users, please run npm run deps in your Reactor directory after updating, then restart Reactor. Generally, you should always do this after upgrading to a new build, but for this build in particular, it's necessary.

            • Status Tab: fix an error that could cause lost notifications on object changes to some widgets.
            • Packages: update some packages and force one dependency to eliminate a warning from node about a deprecated subsystem (not every package has caught up yet).
            • Reactor UI: improve cleanup and memory utilization of tabs when switching between them.
            • Engine: The isRuleSet() and isRuleEnabled() expression functions now trigger re-evaluation of expressions in which they appear when the subject rule changes state.
            • HassController: Bless Hass to 2025.3.4

            ZWaveJSController build 25082

            This build of ZWaveJSController requires Reactor build 25082 or higher.

            BREAKING CHANGE: For RGBW/RGBWW devices, the color_temperature capability is no longer used; white channels will now be mapped to the dimming capability. If you have such devices and use color_temperature attributes and actions, you will need to make appropriate adjustments to your Rules and Reactions.

            • Add support for start and stop heal actions (in zwave_network capability).
            • Improve connection retry decay computation (use slow initial decay with rapid ramp).
            • Improve handling of white channels in RGBW/RGBWW devices. Mapping them to color_temperature seems to be incorrect in most cases, so they are now mapped to dimming. If the device has multiple channels, the white or color channels may be pushed to child entities.
            • The zwave_device.set_value action now accepts JSON in the value fields for Z-Wave JS values that support it. Some devices are able to report or set multiple values simultaneously by using a dictionary as the value (aka JSON object with key/value pairs). RGBWW devices, for example, may support the currentColor and targetColor property with a value object like { "warmWhite": 0, "coldWhite": 0, "red": 128, "green": 0, "blue": 240 }.

            Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

            1 Reply Last reply
            4
            • toggledbitsT Offline
              toggledbitsT Offline
              toggledbits
              wrote on last edited by toggledbits
              #120

              Reactor build 25097

              • Expression syntax enhancement: it is now possible to use a variable's value as a key when creating an object on the fly. For example, if the variable cmd contains the word "econo" (presumably derived from configuration or some other dynamic source), it is now possible to create an object { econo: true } by enclosing the key source in square brackets: obj = { [cmd]: true }. For reference, this syntax mimicks JavaScript.
              • Fixed a UI crash when bringing up Reactor initially after using the About page bypass.
              • OWMWeatherController: implement sys_system.restart, which will cause all locations to be refreshed immediately.
              • OWMWeatherController: new config option (boolean) ignore_certs can be set to ignore certificate errors. These seem to pop up occasionally, perhaps because of a misconfiguration in the load balancing at OWM.

              Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

              1 Reply Last reply
              2
              • toggledbitsT Offline
                toggledbitsT Offline
                toggledbits
                wrote on last edited by
                #121

                Reactor build 25139

                BARE-METAL USERS: You must execute the shell command npm run deps in your Reactor install directory after upgrading, to update package dependencies. The UI may not start if you fail to do this. This advisory does not apply to docker containers.

                BARE-METAL USERS: nodejs version 18 is End of Life (EOL) as of April 30, 2025, and is no longer supported. For best results and longevity, upgrade to an even-numbered version of nodejs. The current LTS (Long Term Support) version (recommended) is 22 and will go EOL in April 2027.

                BREAKING CHANGE FOR DEVELOPERS: If you use Entity.registerAction() and specify a function, the target function now takes the canonical action name as its second argument, and the action parameters will be the third argument (the target entity remains the first argument). That is, the signature of the function has changed from targetFunc( entity, params) to targetFunc( entity, actionName, params).

                • Engine: Improve the approach of Rule State conditions to changes in the subject rule's state that don't end up changing the top-level rule state. This should considerably reduce potential throttling that can occur when inter-related/co-dependent rules change.
                • Reactor UI: On the Entities list, fixed a minor display error in the display of atttribute values when an attribute other than the entity's primary is selected.
                • Reactor UI: Reworked the URL routing so that linking to tabs and objects is possible. For this build, this will be most visible in many (but not all) of the Status tab widgets. More linking will be done in future. There's a lot more to do; please don't bother reporting areas where objects are not linked at this time.
                • Reactor UI: The Rule Sets offcanvas navigation now has a search field that allows you to search for a rule by name.
                • Upgraded some packages used by Reactor to maintainer's latest versions.
                • HassController: Bless Hass to 2025.5.2

                ZWaveJSController build 25139

                • Minor bug fixes for initialization of devices with scene controller capability.

                MQTTController build 25139

                NOTE: Uses latest mqtt package, which is version 5.11 as of this writing. You must run npm run deps in the MQTTController install directory to update the package.

                • New template support for Shelly Plus 1PM (use include: shellyplus1pm) and Shelly 1 Mini Gen3 (use include: shelly1minig3).
                • The query directive in a device configuration now supports payload construction using the same semantics as that for action payload constructions. Principally, this gives you access to expr for query payloads, which facilitates more dynamic construction of payload fields where devices or templates need.
                • New inbound topic reactor/:ident/Reaction/:reaction_id/:command; the command may be run, stop, or query to run (enqueue), stop (if running), or query the status of the specified global or Ruleset-based Reaction. You cannot run, stop, or query the state of the SET or RESET Reactions in a Rule. The query command requires Reactor build 25111 or higher for accurate response.

                Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                1 Reply Last reply
                2
                • toggledbitsT Offline
                  toggledbitsT Offline
                  toggledbits
                  wrote on last edited by toggledbits
                  #122

                  Reactor STABLE Update

                  The stable branch of Reactor is now updated to build 25139. Please scroll back and see the changes and advisories listed for builds here since the previous stable branch build (which was 24257, 13-Sep-2024), or whatever build you are currently running.

                  ALL USERS: It's always recommended to back up your Reactor system before upgrading.

                  IMPORTANT: Bare-metal users (only) need to do the following:

                  • Update dependent packages by executing npm run deps in the Reactor install directory.
                  • Reactor no longer supports nodejs versions before 20. If you are running on an earlier version, please upgrade nodejs before upgrading to this build, and make sure your current environment is working. Once you are sure Reactor is happy on the upgraded nodejs, then and only then should you upgrade Reactor to this new stable build. An even-numbered LTS (Long-Term Support) version of nodejs is recommended; the current LTS version is 22.
                  • If you are running extension controllers like ZWaveJSController or MQTTController in your configuration, you will need to upgrade those to their respective latest versions.

                  Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                  1 Reply Last reply
                  0
                  • toggledbitsT Offline
                    toggledbitsT Offline
                    toggledbits
                    wrote on last edited by toggledbits
                    #123

                    Reactor build 25208

                    • Status page: fix an issue placing the widget adder tool the first time (i.e. on a new browser or after flushing cache/cookies).
                    • HTTP Request action now offers storage of the query response in "advanced form." This is a structure (object) that includes the response body as well as the response status, messages, and response headers. The simple form (store body or null) is the default and all existing HTTP Request actions will use the simple form response unless/until modified.
                    • Telegram notifications now support photo and video messages. To send a photo or video message, select the appropriate Message Format and place the URL or filename in the Message field. Telegram's limits for file type and size must be observed (refer to Telegram's documentation).
                    • HassController: Configuration for filter_entity now accepts regular expressions to match to entity IDs (i.e. it can now do pattern matching, not just match exact strings). Specify regular expressions in /regexp/flags form (e.g. /^update./i to match IDs that begin with update., case insensitive; flags are optional, and the only flag supported right now is i for case-insensitive matching).
                    • HassController will requery for service data if the lookup of service data from the startup query does not have the needed info. This can occur when an integration is not fully up and running when HA restarts -- HA will only report on services for fully running integrations at the time. The requery updates the service data for integrations that start later.
                    • HassController remove old entity mapping configuration that was preventing a mutable attribute (dimming.step) from being changed by the user permanently.
                    • Expressions: new geodist() extension function to compute Great Circle Distance between two points (presumably on Earth). See docs for details. Example: kilometers = geodist( lat1, lon1, lat2, lon2 )
                    • HassController: Bless Hass to 2025.7.3

                    Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                    1 Reply Last reply
                    1
                    • toggledbitsT Offline
                      toggledbitsT Offline
                      toggledbits
                      wrote on last edited by toggledbits
                      #124

                      Reactor build 25304

                      BARE-METAL USERS: It is recommended that you update package dependencies when installing all Reactor updates. After unpacking the Reactor archive, remove any existing package-lock.json file from your Reactor install directory, and then run npm run deps to update package dependencies.

                      ALL USERS: If you are using extension Controllers (like ZWaveJSController) please update them to the latest versions as well. Please refer to the CHANGELOG files for each for information on specific changes. Also don't forget to update any dependent packages for those extensions — dependent packages are maintained separately from Reactor itself and must be updated individually.

                      • Rules: POTENTIALLY BREAKING CHANGE the evaluation mechanism for rule-based (local) variables has been changed. Users with rules that rely on specific nuances (or bugs) in the old behavior/mechanism may find their variables and rules do not work as expected. However, most users should find that the new mechanism aligns well with their expectations. See the docs for Variables & Expressions - Overview for a complete description.
                      • The "Force re-evaluation of expressions and conditions" option available in the Set Variable action of Rule Reactions (SET & RESET) has been removed. When a rule-based variable is used in a trigger, and the variable's value changes, the Rule will now re-evaluate itself automatically. This is part of the above changes.
                      • Rule Reactions (SET & RESET) now have a "Wait for completion" option. When set, the rule will wait for its Reaction to finish before allowing itself to be re-evaluated. When not set (the default), the Rule will not wait and the Reaction runs asynchronously, and therefore a change to the rule state during the Reaction's execution could cause the Reaction to be pre-empted (stopped before completion).
                      • Rules: fix handling of some very old rule conditions where the changes operator was stored in an older structure (i.e. handling the legacy structure had a bug).
                      • A new alarm( interval_seconds ) function has been added; it can be used in global expressions (only) to cause periodic re-evaluation of the expression. This is particularly useful for expressions that don't have dependencies on other variables or entities/objects. A running timer can be cancelled by specifying an interval of zero (0).
                      • Expressions: fix an error in which the sort() function would sort the array in place rather than returning a new, sorted array (this was in conflict with its specification and intended operation, and apparently existed for a long time).
                      • UI/Expression Editor: button coordination in expressions editing has been improved, and the highlighting of error messages has been improved.
                      • HTTP API: A new endpoint /api/v1/variable/:name/update has been added to force re-evaluation of a global variable's expression and, if changed, set its new value. See docs
                      • HassController HA made a breaking change in 2025.9 (pull 150721) that wasn't declared in their general release notes, affecting the media_player.play_media service. This service also has a new field and selector type, and two fields previously declared have been removed.
                      • HassController now has ability to filter out entities (i.e. not import entities from HA into Reactor) based on source (integration). see docs
                      • HassController now supports binding of events directly to Reactions. This is in addition to the existing ability to bind events to entity attributes. Previously, if the user's goal was to run a Reaction in response to an event from HA, the user would need to first bind the event to a new entity and attribute, and then create a Rule triggered by that entity/attribute to launch the Reaction. Now, the Reaction can be launched directly on receipt of the event. See docs.
                      • DynamicGroupController: A configured group can be disabled by adding enabled: false to its configuration. The boolean value false is the only value that will be honored to disable the group (e.g. null and the number 0, while falsy values, will not be honored).
                      • Resolve an issue where some Controller subclass' system entities could lose track of their default primary attribute when unserialized (reloaded from storage at startup).
                      • UI: The rule search tool on the Rule Set left navigation offcanvas also finds Rule IDs that match the entered text (i.e. you can search by name and ID).
                      • UI: Fix an error that was thrown when using search on the Rule Sets navigation offcanvas list and some existing Reaction had no name.
                      • UI/Entities: Refresh all displayed entities when a structure event is received from the API (such as when reconnecting after a restart), to ensure the data displayed is the most current.
                      • UI/Expressions: page will now refresh all expression values when a structure event is received (e.g. after a restart of Reactor), as the Engine start and update of global variables often occurs before clients reconnect to the service, so clients can easily miss the update events from those objects.
                      • UI/Client API: fix an issue where a group entity could be assigned the wrong entity class.
                      • UI/Rules: Fix column not wrapping on large value for Rule-based expressions (rule detail card).
                      • UI/Reaction Editor: the single-action try button (for Entity Actions) now correctly omits optional fields that contain no data, rather than sending blank data and expecting the Controller instance to sort it out.
                      • UI/Entity Picker: click handler now covers an empty area when no entity has been selected.
                      • UI/modal dialogs: the ESC key will now dismiss most dialogs; if the dialog is a confirmation, the dismissal is equivalent to hitting "Cancel".
                      • Pushover Notifier: remove extraneous debug message.
                      • Developers of Controller subclasses: the Controller method removeControllerGroup() is now deprecated. To replace its functionality, you should now set the class static property createControllerGroup to false. See docs. The old method will continue to be available until October 2026, but will generate a warning to the log, unless the class property is also set, in which case the warning is reduced to informational level (i.e. you can do both for compatibility until next year).
                      • Tools: added a new trivial backup script.
                      • Docker images: now built with nodejs LTS (22.20 as of this entry) on Alpine 3.21
                      • HassController: Bless Hass to 2025.10.4

                      Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                      1 Reply Last reply
                      3
                      • toggledbitsT Offline
                        toggledbitsT Offline
                        toggledbits
                        wrote on last edited by
                        #125

                        Reactor build 25308

                        IMPORTANT: This build addresses two issues in 25304 only. If you are not experiencing these two issues (described below), you do not need to upgrade to this build.

                        • Expressions: Fix an error thrown when defining a function in a global expression.
                        • Reactions: fix an issue causing a disabled group to execute anyway.

                        Additional changes:

                        • Engine: It is now possible to create constants and functions for use in expressions system-wide that are not defined using global variables. see docs
                        • UI/Rules: Rule search field on offcanvas now also searches reactions by ID (parity with behavior for rules).
                        • Rule/Date-Time Condition: work around an anomaly in nodejs v24 (and maybe other versions) that would cause a between condition spanning a DST change to throttle the parent rule.

                        Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                        1 Reply Last reply
                        1
                        • toggledbitsT toggledbits forked this topic on
                        • toggledbitsT Offline
                          toggledbitsT Offline
                          toggledbits
                          wrote on last edited by toggledbits
                          #126

                          Reactor build 25310

                          IMPORTANT: This build was patched and re-released to address a compatibility issue for Home Assistant 2025.11. If you pulled this release before 1pm Eastern Standard Time (18:00 UTC) on Friday Nov 7, please re-pull/re-install this build to get those fixes.

                          • Expressions: restore ability (lost in 25304) to define a custom function in a global variable/expression and have it be available to other expressions.
                          • HassController: Bless HA to 2025.11.0

                          Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                          1 Reply Last reply
                          1
                          • toggledbitsT Offline
                            toggledbitsT Offline
                            toggledbits
                            wrote on last edited by
                            #127

                            Reactor build 25315

                            NOTE FOR HOME ASSISTANT USERS: Versions of Home Assistant prior to 2025.01 are no longer supported as of this build. They may continue to work, but no effort will be expended to maintain compatibility going forward.

                            • Rules: New Script condition -- write an expression (simple or complex/compound) that returns a boolean (true/false) or null, just like any other condition. The alarm() function works in it, too! And it holds more secrets... see docs WARNING: This is a "bleeding edge" new feature; it may be subject to breaking changes as it evolves into final form.
                            • Expressions: Add new print() function to assist troubleshooting of complex expressions.
                            • HassController: Support for new HA selector/data type in input_datetime entities and other similar.
                            • HassController: Versions of Home Assistant older than 2025.01 are no longer supported, as support for a number of (their) deprecated features and functions is about to end.
                            • HassController: Bless HA to 2025.11.1

                            Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                            CatmanV2C 1 Reply Last reply
                            3
                            • toggledbitsT toggledbits

                              Reactor build 25315

                              NOTE FOR HOME ASSISTANT USERS: Versions of Home Assistant prior to 2025.01 are no longer supported as of this build. They may continue to work, but no effort will be expended to maintain compatibility going forward.

                              • Rules: New Script condition -- write an expression (simple or complex/compound) that returns a boolean (true/false) or null, just like any other condition. The alarm() function works in it, too! And it holds more secrets... see docs WARNING: This is a "bleeding edge" new feature; it may be subject to breaking changes as it evolves into final form.
                              • Expressions: Add new print() function to assist troubleshooting of complex expressions.
                              • HassController: Support for new HA selector/data type in input_datetime entities and other similar.
                              • HassController: Versions of Home Assistant older than 2025.01 are no longer supported, as support for a number of (their) deprecated features and functions is about to end.
                              • HassController: Bless HA to 2025.11.1
                              CatmanV2C Offline
                              CatmanV2C Offline
                              CatmanV2
                              wrote on last edited by
                              #128

                              @toggledbits that looks like a massive leap!

                              C

                              The Ex-Vera abuser know as CatmanV2.....

                              1 Reply Last reply
                              0
                              • toggledbitsT Offline
                                toggledbitsT Offline
                                toggledbits
                                wrote on last edited by
                                #129

                                Reactor build 25321

                                • alarm() function: has been redefined to return a boolean; true will be returned when the configured interval has completed; false in all other cases. The function previously returned the number of milliseconds remaining in the interval (less useful).
                                • Fix an issue where modifying a global expression that contains an alarm() call may not reset the timer.
                                • HassController: Bless HA to 2025.11.2

                                Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                                1 Reply Last reply
                                2
                                • toggledbitsT Offline
                                  toggledbitsT Offline
                                  toggledbits
                                  wrote on last edited by
                                  #130

                                  Reactor build 25323

                                  • Rule-based Variables: correct an error handling dependency evaluation of subscoped variables.
                                  • SystemController: prevent spurious exception that could be thrown while shutting down Reactor. It had no effect, but it's preventable and I like my logs error-free.

                                  Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                                  1 Reply Last reply
                                  👍
                                  3
                                  • toggledbitsT Offline
                                    toggledbitsT Offline
                                    toggledbits
                                    wrote on last edited by
                                    #131

                                    Reactor build 25325

                                    • Rules/Expressions: fix an additional evaluation case from @Crille
                                    • UI: silence an error that could occur during restarts (the shutdown process could stimulate the Set Rules status widget to fire queries at the inoperative host that eventually time out).
                                    • HassController: Bless HA to 2025.11.3

                                    Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                                    1 Reply Last reply
                                    2
                                    • toggledbitsT Offline
                                      toggledbitsT Offline
                                      toggledbits
                                      wrote last edited by toggledbits
                                      #132

                                      Reactor build 25238

                                      • Rules/Date-Time: Fix a regression (in 25315) where a Date-Time between condition that crosses midnight may determine incorrect state if the Rule is reloaded (e.g. by editing it or a Reactor restart) in the period after midnight but before the end time.
                                      • Restarts on Win32 systems can now (finally) do a gradual, organized reload or shutdown.
                                      • HassController: Bless HA to 2025.11.3

                                      This is a "silent" release (it is not advertised in the Status page of Reactor)

                                      Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                                      1 Reply Last reply
                                      0
                                      • toggledbitsT Offline
                                        toggledbitsT Offline
                                        toggledbits
                                        wrote last edited by toggledbits
                                        #133

                                        Reaction build 26011

                                        USERS OF AARCH64-tagged DOCKER IMAGES: Per this earlier post, this build will likely be the last with the aarch64 tag. Please follow the post's guidance for changing to one of the newer tags appropriate for your hardware and OS (32-bit armv7l or 64-bit arm64).

                                        • Reactions UI: Fix update of display after copy in-place.
                                        • Don't store reaction history entries for sub-reactions
                                        • VirtualEntityController: better consistency in time-series configuration; update documentation.
                                        • Fix an error in date display of time range conditions within certain parameters.
                                        • HassController: Bless HA to 2026.1.0

                                        This is a "silent" release (it is not advertised in the Status page of Reactor).

                                        Author of Multi-system Reactor and Reactor, DelayLight, Switchboard, and about a dozen other plugins that run on Vera and openLuup.

                                        1 Reply Last reply
                                        1
                                        Reply
                                        • Reply as topic
                                        Log in to reply
                                        • Oldest to Newest
                                        • Newest to Oldest
                                        • Most Votes


                                        Recent Topics

                                        • HA and AI
                                          CatmanV2C
                                          CatmanV2
                                          0
                                          1
                                          34

                                        • How to upgrade from an old version of MSR?
                                          CatmanV2C
                                          CatmanV2
                                          0
                                          6
                                          94

                                        • Access control - allowing anonymous user to dashboard
                                          toggledbitsT
                                          toggledbits
                                          0
                                          2
                                          90

                                        • VEC Virtual Switch Auto Off
                                          S
                                          SweetGenius
                                          1
                                          1
                                          62

                                        • Upcoming Storage Change -- Got Back-ups?
                                          toggledbitsT
                                          toggledbits
                                          3
                                          1
                                          59

                                        • Oddness in Copy/Move of Reactions
                                          G
                                          gwp1
                                          0
                                          1
                                          77

                                        • [Solved] function isRuleEnabled() issue
                                          CrilleC
                                          Crille
                                          0
                                          4
                                          145

                                        • [Reactor] Problem with Global Reactions and groups
                                          therealdbT
                                          therealdb
                                          0
                                          3
                                          146

                                        • Possible feature request 2?
                                          CatmanV2C
                                          CatmanV2
                                          0
                                          3
                                          120

                                        • Reactor (Multi-System/Multi-Hub) Announcements
                                          toggledbitsT
                                          toggledbits
                                          5
                                          133
                                          82.1k

                                        • Genuinely impressed with Zigbee and HA / Reactor
                                          CatmanV2C
                                          CatmanV2
                                          1
                                          9
                                          423

                                        • Copying a global reaction
                                          toggledbitsT
                                          toggledbits
                                          0
                                          3
                                          146
                                        Powered by NodeBB | Contributors
                                        Hosted freely by 10RUPTiV - Solutions Technologiques | Contact us
                                        • Login

                                        • Don't have an account? Register

                                        • Login or register to search.
                                        • First post
                                          Last post
                                        0
                                        • Categories
                                        • Recent
                                        • Tags
                                        • Popular
                                        • Unsolved