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
Home Assistant 2025.11.2 and latest-25315
CrilleC
Topic thumbnail image
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
Notice to Docker + ARM Users (RPi 3/4/5 and others)
toggledbitsT
This post does not apply to users of Intel/AMD-based systems. If you are using a Reactor image tagged latest-amd64 or stable-amd64, then this post does not apply to you. It also does not apply to bare-metal installs; it's for users of docker images on ARM-based systems only (principally Raspberry Pi hosts, but could be others). After January 15, 2026, I will no longer produce the aarch64-tagged docker image for Reactor. The ARM images will be arm64 for 64-bit operating systems, and armv7l for 32-bit operating systems. For those of you running a container from the aarch64 image today, this will be a relatively simple change: you just need to switch the image used for your docker container to a differently-tagged image. If you are using docker-compose, then this is a relatively simple matter of changing the image line in your docker-compose.yaml file and then stopping (docker-compose down) and restarting (docker-compose up -d) your Reactor daemon. But there's a catch... not all of you can safely just switch from the aarch64 image to the arm64 image. And, you can't just trust the output of uname -m, for example, because this exposes the CPU architecture, but not the word size of the OS running on that CPU. For Raspberry Pi systems, the transition to 64-bit operating systems was long (starting in 2016) and not always obvious — although there was a first "official" 64-bit OS for RPis in 2020, it did not become a default recommendation in the Raspberry Pi Imager until 2021, and then that was only the default for Pi 3/4 systems with >4GB RAM; it was 2022 before it was universally recommended for all 64-bit CPUs regardless of RAM size. Depending on when you first imaged your RPi system and what default you may have been offered/chosen, you could today easily have a 64-bit CPU Raspberry Pi running a 32-bit version of the operating system. Upgrades along the way would not change this; changing it to fully 64-bit requires a full reimage of the system. To establish if your OS is 64- or 32-bit, log in to your Pi and run: sudo dpkg-architecture -q DEB_HOST_ARCH. If the response is arm64 or aarch64, then you are running a 64-bit OS and you should use the arm64-tagged image. If it's anything else, you are running a 32-bit OS, and you should use the armv7l-tagged image. pi@rpi4-1:~ $ sudo dpkg-architecture -q DEB_HOST_ARCH armhf pi@rpi4-1:~ $ uname -m aarch64 pi@rpi4-1:~ $ In the example above, the uname command reports that the CPU is 64-bit architecture (aarch64), which is true for the host on which I ran these commands, but the DEB_HOST_ARCH value is armhf, indicating a 32-bit operating system. This system has to use the armv7l-tagged image. Other systems will have their own ways of determining the word size of the running OS. Since the majority of Reactor users running ARM systems are on Raspberry Pis, I am able to supply the above instructions, but if you happen to have a different ARM system, you'll need to do some web searching to figure out how to expose that information. Or, you can just try the arm64 image, and if it doesn't start up, try the armv7l image. Remember to always back up your system before making any changes. For everyone, please make this change as soon as possible, and if you have any trouble finding a working image, please (1) go back to the current aarch64 image; and (2) let me know in this thread along with as much detail about your host system as you can offer (including the output of the dpkg-architecture command mentioned above).
Multi-System Reactor
Requesting a proper ARM64/aarch64 Docker image (Pi 5 support)
M
Hi, I'm in the process of migrating from a Raspberry Pi 4 (ARMv7) to a Raspberry Pi 5 (ARMv8/aarch64), but I’ve run into an issue: there is no proper ARMv8/aarch64 image available. None of the existing images run on the Pi 5 - they all exit immediately with code 139 (segmentation fault), which typically indicates that the binaries inside the image are not compatible with the ARM64/aarch64 architecture used by the Pi 5. Would it be possible to publish a correct ARMv8/aarch64 (linux/arm64) image? Building one should be relatively straightforward using docker buildx with multi-arch support. For example, my own Node.js images are built this way: docker buildx build --push \ -t <localrepo>/<project>:<tag> \ --platform=linux/arm64,linux/amd64 \ --file ./apps/<project>/Dockerfile . This produces both the AMD64 and ARM64/v8 variants automatically. Also, as a side note, it may be best to avoid using Alpine as the base image for the ARM64 build, since musl-based builds often cause compatibility issues and unnecessary headaches. A glibc-based base image (e.g., Debian or Ubuntu) tends to work far more reliably on ARM64, especially for Node.js applications. @toggledbits - tagging you in case you missed this. Thanks, mgvra
Multi-System Reactor
Script action and custom timers
therealdbT
Sorry to write here without trying, but I’m flying today. Am I correct if i say that script action with alarm() makes it possible to execute a reaction in a given interval, lets say 15 seconds or 3.5 minutes? That sounds amazing, since I’ve used weird tricks, including a custom controller, just to do this.
Multi-System Reactor
Help resolve change in behaviour post update
CatmanV2C
Topic thumbnail image
Multi-System Reactor
Reactor w/HA 2025.11 error on set_datetime service call setting only time
CrilleC
@toggledbits Do you know if this is related to that PR or is it a change they made in 2025.11.1? [latest-25310]2025-11-11T13:16:24.319Z <HassController:INFO> HassController#hass perform x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_dag with { "time": "10:45" } [latest-25310]2025-11-11T13:16:24.320Z <HassController:INFO> HassController#hass: sending payload for x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_dag action: { "type": "call_service", "service_data": { "date": (null), "time": "10:45", "datetime": (null), "timestamp": (null) }, "domain": "input_datetime", "service": "set_datetime", "target": { "entity_id": "input_datetime.vvb_dag" } } [latest-25310]2025-11-11T13:16:24.321Z <HassController:ERR> HassController#hass request 1762866984320<2025-11-11 14:16:24> (call_service) failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.321Z <HassController:WARN> HassController#hass action x_hass_input_datetime.set_datetime({ "time": "10:45" }) on Entity#hass>input_datetime_vvb_dag failed! [latest-25310]2025-11-11T13:16:24.321Z <HassController:INFO> Service call payload: {"type":"call_service","service_data":{"date":null,"time":"10:45","datetime":null,"timestamp":null},"domain":"input_datetime","service":"set_datetime","target":{"entity_id":"input_datetime.vvb_dag"},"id":1762866984320} [latest-25310]2025-11-11T13:16:24.322Z <HassController:INFO> Service data: {"fields":{"date":{"example":"\"2019-04-20\"","selector":{"text":{"multiline":false,"multiple":false}}},"time":{"example":"\"05:04:20\"","selector":{"time":{}}},"datetime":{"example":"\"2019-04-20 05:04:20\"","selector":{"text":{"multiline":false,"multiple":false}}},"timestamp":{"selector":{"number":{"min":0,"max":9223372036854776000,"mode":"box","step":1}}}},"target":{"entity":[{"domain":["input_datetime"]}]}} [latest-25310]2025-11-11T13:16:24.322Z <Engine:ERR> Engine#1 reaction rule-mgb8pfhs:S step 0 perform x_hass_input_datetime.set_datetime failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.322Z <Engine:INFO> Engine#1 action args: { "time": "10:45" } [latest-25310]2025-11-11T13:16:24.322Z <Engine:INFO> Resuming reaction Sätt Schema VVB i Home Assistant<AKTIV> (rule-mgb8pfhs:S) from step 1 [latest-25310]2025-11-11T13:16:24.323Z <HassController:INFO> HassController#hass perform x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_natt with { "time": "03:00", "timestamp": 0 } [latest-25310]2025-11-11T13:16:24.323Z <HassController:INFO> HassController#hass: sending payload for x_hass_input_datetime.set_datetime on Entity#hass>input_datetime_vvb_natt action: { "type": "call_service", "service_data": { "date": (null), "time": "03:00", "datetime": (null), "timestamp": 0 }, "domain": "input_datetime", "service": "set_datetime", "target": { "entity_id": "input_datetime.vvb_natt" } } [latest-25310]2025-11-11T13:16:24.324Z <HassController:ERR> HassController#hass request 1762866984323<2025-11-11 14:16:24> (call_service) failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.324Z <HassController:WARN> HassController#hass action x_hass_input_datetime.set_datetime({ "time": "03:00", "timestamp": 0 }) on Entity#hass>input_datetime_vvb_natt failed! [latest-25310]2025-11-11T13:16:24.324Z <HassController:INFO> Service call payload: {"type":"call_service","service_data":{"date":null,"time":"03:00","datetime":null,"timestamp":0},"domain":"input_datetime","service":"set_datetime","target":{"entity_id":"input_datetime.vvb_natt"},"id":1762866984323} [latest-25310]2025-11-11T13:16:24.324Z <HassController:INFO> Service data: {"fields":{"date":{"example":"\"2019-04-20\"","selector":{"text":{"multiline":false,"multiple":false}}},"time":{"example":"\"05:04:20\"","selector":{"time":{}}},"datetime":{"example":"\"2019-04-20 05:04:20\"","selector":{"text":{"multiline":false,"multiple":false}}},"timestamp":{"selector":{"number":{"min":0,"max":9223372036854776000,"mode":"box","step":1}}}},"target":{"entity":[{"domain":["input_datetime"]}]}} [latest-25310]2025-11-11T13:16:24.324Z <Engine:ERR> Engine#1 reaction rule-mgb8pfhs:S step 1 perform x_hass_input_datetime.set_datetime failed: [Error] Not a parseable type for dictionary value @ data['date'] [-] [latest-25310]2025-11-11T13:16:24.324Z <Engine:INFO> Engine#1 action args: { "time": "03:00", "timestamp": 0 } [latest-25310]2025-11-11T13:16:24.325Z <Engine:INFO> Resuming reaction Sätt Schema VVB i Home Assistant<AKTIV> (rule-mgb8pfhs:S) from step 2 [latest-25310]2025-11-11T13:16:24.325Z <Engine:INFO> Sätt Schema VVB i Home Assistant<AKTIV> all actions completed.
Multi-System Reactor
Reactor Version 25310 : Office Light control via rule in reactor no longer working since last update.
P
Hello, I currently have an office light (connected via a Leviton Zwave Dimmer switch) controlled from a Gen5 Aeotech Zwave switch installed on my Synology 720+ NAS. I run HA(2025.11.10) in a virtual machine from my NAS and Reactor on the container manager of the same NAS. Prior to updating to 25304 the rule I had set to turn the light on to a specific dimming value worked correctly. Now the rule appears to follow the decision tree, however the reaction does not trigger setting the dimming or turning on the office light? Strangely I can still turn the light on and off as well as dim it directly from HASS..? I have tried using the ''try this action'' button in the rules reaction setting and it will not control the light and does not throw an error flagÉ Please help, P.S Reactor has been rock steady for me over the last few years and I'm a big fan of this solution.
Multi-System Reactor
[Solved] alarm() in global expression throws error in log.
CrilleC
Topic thumbnail image
Multi-System Reactor
[Solved] Define function issue in latest-25304
CrilleC
Topic thumbnail image
Multi-System Reactor
No Upgrade Notification for Build 25308?
CatmanV2C
FWIW I'm no longer getting a notification from MSR that there's an update. Just thought I'd mention it C
Multi-System Reactor
Strange behavior in MSR latest-25304 with disabled groups in Reaction
therealdbT
Topic thumbnail image
Multi-System Reactor
[Reactor] Variables not updating correctly in latest-25201-2aa18550
therealdbT
Topic thumbnail image
Multi-System Reactor
The reaction stopped working (Google Nest max playing a video)
F
Topic thumbnail image
Multi-System Reactor
Handling Dead Entities and Renamed Entities
PablaP
Hello all.. been a minute! I recently rebuilt my Z wave network and migrated to a new z wave stick. In order to prevent any downtime I kept my original z wave network up and ran a docker version of Z Wave JS UI with my new controller. This way I could add device by device without having any devices down. I finally moved all the devices over to my new stick today. The final step was to migrate everything from my Docker instance of Z Wave JS UI to the HA add-on of Z Wave JS UI. However during this migration some of the names didn't populate correctly which I later managed to import back into Z Wave JS UI. The issue was in Reactor it is stuck on the default names and the entities are not updating. I removed the controller from Reactor, restarted, hard refreshed, and added the controller back however the new entity names have not updated. Also it seems like the old entities from my previous instance of Z Wave JS UI are lingering and not being marked as dead (I believe a certain amount of time needs to lapse before they're marked as dead in Reactor). My goal is to basically purge all the entities for the 'ZWaveJS' controller in Reactor so it can pull all the updated entity names and only the entities that exist in Z Wave JS UI. I cannot find a quick way to do this, I know entities can be deleted one by one, but with over 100 entities this would take long I am guessing that if I added the controller with a new name in in the Reactor config it would pull the updated entities and names but I think that would break my rules since the entity IDs would change (I made sure to name all the entities the exact same as they were previously to prevent this issue).
Multi-System Reactor
Strange behavior for MQTT templates using payload and attributes
therealdbT
Topic thumbnail image
Multi-System Reactor
[MSR] reactor-mqtt-contrib package for additional MQTT templates
therealdbT
I'm slowly migrating all my stuff to MQTT under MSR, so I have a central place to integrate everything (and, in a not-so-distant future, to remove virtual devices from my Vera and leave it running zwave only). Anyway, here's my reactor-mqtt-contrib package: https://github.com/dbochicchio/reactor-mqtt-contrib Simply download yaml files (everything or just the ones you need) and you're good to go. I have mapped my most useful devices, but I'll add others soon. Feel free to ask for specific templates, since I've worked a lot in the last weeks to understand and operate them. The templates are supporting both init and query, so you have always up-to-date devices at startup, and the ability to poll them. Online status is supported as well, so you can get disconnected devices with a simple expression. Many-many thanks to @toggledbits for its dedication, support, and patience with me and my requests
Multi-System Reactor
HA 2025.9.4 Supported Yet?
CatmanV2C
Tangentially did I miss 2025.9.4 getting blessed in MSR? I've been holding off Cheers C
Multi-System Reactor
Rule Set UI bug - RESOLVED
3
Topic thumbnail image
Multi-System Reactor
[Reactor] Copy&Paste of Rules
therealdbT
I don't know if I'm the only one, but managing more than one Reactor installs, the need to have some sort of copy&paste for rules has grown on me. While I understand the technical challenges, I'm wondering if a "god mode" where I could copy the raw JSON rule and paste it into another rule could be an advanced, flag only feature that could benefit power users. I know I can copy the JSON file and proceed, but I must stop Reactor and when doing maintenance, it's more clicks to do. Just an idea
Multi-System Reactor

Reactor (Multi-System/Multi-Hub) Announcements

Scheduled Pinned Locked Moved Multi-System Reactor
announcements
129 Posts 2 Posters 73.2k 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 toggledbits
    #105

    Reactor build 24190

    BREAKING CHANGE: Home Assistant versions prior to 2023.6 are no longer supported. Going forward, you may expect HassController to support Home Assistant releases made in the last 12 months. Older releases may continue to work, but will rececive a warning at startup, and may cause errors (that I will not troubleshoot or fix/work around). Special workarounds for pecularities of releases older than 24 months will be removed from the code (meaning versions of Home Assistant older than that will almost certainly have issues).

    • Access Control: setting the session timeout to 0 in users.yaml disables timed-based session expiration.
    • PR 0000374: Rolling refresh appears not to work (many UI operations don't cause enough activity to stimulate the refresh).
    • PR 0000371: Localization for login page submit button.
    • Conditions: Ignore excess whitespace in comma-separated list of values for "in" and "not in" condition operators.
    • Rule UI: Hovering over a condition's value in a rule detail card now shows info for current and previous value.
    • HassController: Bless Hass to 2024.7.0

    MQTTController build 24162

    • Address an issue with action configuration in a template stomping on the action definition in the parent capability.
    • Ensure deep copy of template applied to entity.
    • Fix an initialization issue when multiple instances of MQTTController are configured.

    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
      #106

      EnvisalinkController build 24191

      This is the initial release of a Controller for Envisalink EVL4 alarm panel interfaces. The controller currently supports only Honeywell panels, but I'm happy to work with anyone who has an EVL4-connected DSC panel to get that working as well.

      Distribution package is available in the extras folder of the download site.

      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
        #107

        Reactor build 24212

        • PR 0000376: Search by name is now available on the Reactions list (similar to Entities list).
        • Attribute security_mode.state recognizes max value.
        • Action security_mode.set_mode now takes code argument (if not given, the default code in the Controller's configuration will be applied, if available).
        • Dashboard: support /dashboard/group/<group-canonical-id> path for direct display of a group.
        • PR 0000375: Fix a path where a global variable (expressionless) could have its value modified and not update variables that depend on it.
        • HassController: Bless Hass to 2024.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
        0
        • toggledbitsT Offline
          toggledbitsT Offline
          toggledbits
          wrote on last edited by toggledbits
          #108

          Reactor build 24243

          POTENTIAL BREAKING CHANGE: The conditions in a Reaction's repeat...while group are meant to be Constraints, not Triggers -- they are stateless, meaning that they are evaluated each time they are run, not when an underlying condition triggers them (such as a timer expiring on a sustained for option). This was always meant to be the case, but an error in the UI implementation permitted certain condition options applicable only to trigger conditions. This is now fixed, and any constraints containing condition options will have those options removed during later editing, and the options will not function (they haven't been working correctly anyway) until that time.

          • Shell Command action now supports expression substitution. This makes an already dangerous (security-wise) action even moreso, so it must be enabled explicitly by setting allow_shell_action_substitution: true in the engine configuration section of reactor.yaml. It is highly recommended that Shell Command actions only be used on systems that have HTTPS access and Access Control (user authentication) enabled, to reduce the possibility that the action could be a vector for attacking the host system and your network.
          • PR 0000378: VirtualEntityController: fix configuration collision between virtual entities affecting time-series aggregations.
          • PR 0000369: Add error attribute for ev_charger system capability documentation.
          • PR 0000349: Support custom sounds for Pushover notification.
          • PR 0000290: Display rule ID in rule editor (convenience).
          • HassController: Bless Hass to 2024.8.3

          ZWaveJSController 24242

          BREAKING CHANGE WARNING: The entity IDs of certain child entities may change to reflect a more deterministic naming style. Entities principally effected would be those created in 2022 and earlier for scene activation. Rules that use these entities will need to be updated.

          • Handle notification special events (in Notification CC 113 type 6) for locks for better performance of keypad capability attributes (where the device and Z-Wave JS support it).
          • Update Fibaro FGR222/FGRM222 handling for manufacturer proprietary venetian blind position and tilt
          • Creation of child entities is expanded to include all command classes that result in capability/attribute collisions on an entity. That is, if two or more values (from Z-Wave JS) on an endpoint resolve to the same Reactor capability, a new child entity is created.

          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
            #109

            Reactor build 24257

            • System Capabilities: the new tag system capability has been introduced to extend data and behavior for RFID tags and similar devices.
            • HassController: Implement tag_scanned event handling, which creates a new entity from the tag ID. This entity is updated whenever Hass reports that the tag is detected any scanning device. This automatic event handling does not preempt or prevent user-configurable event handling for different behavior, if desired.
            • HassController: Improve the initialization of event-driven entities so they are not cleared every time Reactor is restarted (they will be cleared only if a configuration change is detected).
            • HassController: The event processor now ensures that time_fired is included in the event data before handling. If not, Reactor will provide it. In addition, since Hass passes time_fired as a string, Reactor will parse the string to an Epoch time (seconds since midnight Jan 1, 1970 UTC) and provide it in time_fired_epoch, which can be used in user configuration for events.
            • HassController: Allow filtering of state attributes to reduce rule re-evaluation traffic for related entities. (see docs)
            • HassController: Bless Hass to 2024.9.1

            ZWaveJSController build 24257

            • Fix an issue with polling rescheduling that can cause polling to take too long to re-poll a node after the initial poll.
            • Handle forced-write of attributes when processing events for the Notification Command Class.

            MQTTController build 24257

            • Code cleanups and minor bug fixes; mostly changes to sync with evolution of various system capabilities.

            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
              #110

              Reactor build 24293

              BARE-METAL USERS: UPDATE YOUR PACKAGES! You must remove any package-lock.json file in your Reactor install directory and run npm i --no-save --no-package-lock --omit dev after unpacking the Reactor distribution archive. Failure to do so will result in a non-functioning UI (notably non-working dark mode) and many other issues.

              POTENTIAL BREAKING CHANGE: The validity of characters in entity IDs is now enforced. Previously, only a warning was written to the log if the ID contained invalid characters; now, the entity will not be allowed to exist. If you use VirtualEntityController, MQTTController, or other Controllers where you can configurably create entities, the IDs you establish for those entities must now contain only valid characters, which are ASCII alphanumerics, dash (-), underscore (_), and the high ASCII ranges 192-214, 216-246, and 248-255 (which covers some letters with diacritics). Other characters, including Unicode characters outside this range, are not permitted.

              POTENTIAL BREAKING CHANGE: The alert attributes have been moved off of the Reactor System (reactor_system>system) entity on to a separate Reactor System Alerts (reactor_system>alerts) entity. If you have Rules or Reactions that use alert data in conditions, you will need to point them to the new entity/attributes.

              LOCALIZATION UPDATE: There are several new strings in the reference localization template (new version 24293). See the Github repository for the current reference version and change log.

              • Entity action implementations can now return values/results and store them directly to a local (Rule-based) or global variable for further processing. Note that HassController was previously (in build 24115) given this ability in a slightly different form, where the response was written to a single attribute from which it could be retrieved by other expressions. HassController will support both mechanisms for the foreseeable future, but transition to the new mechanism is recommended.
              • New Script Action action in Reactions allows you to run an expression/script in-line in a Reaction. This is intended to simplify handing of results from Entity Actions that return results.
              • Fixed a bug in the changes operator where, if there were terminal values (values for changes from, to, or both), the output would pulse rather than "stick." The design intent was such that it should stick, because a change with terminal values is predictably persistent (i.e. a condition that watches for an alarm panel state change from disarmed to away will go true and should stay true as long as the alarm panel remains in away state). When there are no terminal values, a change is still signalled with a pulse (i.e. a change from any value to any other value produces a pulse, and is then ready to signal a change to yet another value).
              • Capabilities may now define user-writable attributes, and the user may set the value of such an attribute on an entity. The intent of this feature is to provide storage for user preference in actions (such as the amount to change the light level when performing dimming.up), but could have many other uses. To make an attribute user-writable, the developer must include writable: true in the attribute definition. Attributes derived from device data (like switch state or blind position; i.e. where a Controller instance controls the value) are not writable by the user and should not be made user-writable by developers. User-writable attribute values can be set using the new Set Attribute button in Entity list detail cards, or using the reactor_entity.set_attribute action.
              • New reactor_entity capability is extended to all entities, and contains actions to rename the entity and set its writable attributes.
              • Additional work to preserve the state of attributes across upgrades/changes to underlying capabilities and implementations. The new Controller methods refreshCapabilites() and refreshCapability() provide a mechanism for updating an Entity's stored capability data without losing the values of attributes and metadata that exist in both the old and new versions of a capability.
              • Logger now supports (via logging.yaml entry) the rotation of log files on specific intervals. The maxage: time configuration can be added, where time is an integer followed by secs, mins, hours, or days. These may be abbreviated to a single character (e.g. 1d or 4h). If the time is an integer only, the units are assumed to be days.
              • DynamicGroupController now supports an expanded form of group_actions configuration to more narrowly specify which actions are to be made available as group actions. See the Group Actions section of the documentation for DynamicGroupController.
              • UI now has a dark theme (long-awaited).
              • UI (Reaction Editor) for HTTP Request action now shows more clearly that when storing response to a variable, it must wait for the response to complete (i.e. when you choose a target variable, it automatically checks the "Wait for" checkbox in addition to disabling it). The semantics of this have been documented since inception, but the UI now reinforces the concept in its display.
              • UI (Entities List) detail cards for Entities now have a Perform dropdown to run actions, rather than a list of links. The selected action is performed immediately if it has no arguments; otherwise, the arguments are requested in a modal dialog as before. This should improve access to actions on entities from this area.
              • New expression functions from updated lexpjs: isvalue(), scale(), constrain(). See docs for Expressions.
              • PR 0000380: Resolve an issue with an optional argument in a HAss-specific service requiring a value in the action editor (service climate.set_temperature for example).
              • A (very) simple log file viewer/fetcher is now available at /api/v1/log. The optional file query parameter can be given to select which log file (by name); by default, reactor.log is displayed. This endpoint is protected when access control is enabled, so if you are using access control, you may need to modify an existing ACL or create a new one to enable access to it.
              • HassController: Bless Hass to 2024.10.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
                #111

                Reactor build 24296

                UPGRADE NOTICE: If you are upgrading to this version from earlier than 24293, please update your packages! See the notes and instructions for build 24293 above for instructions and other notices.

                • Fix a race condition when painting the Status tab when painting a widget that must traverse the ruleset index.
                • Make sure errors thrown by widgets show in the widget container, not by popping the exception dialog.
                • Fix activation of the Expressions tab so it paints every time (a guard for edit mode was too aggressive, because this tab is always in edit mode).
                • Fix a number of reported appearance issues, and some new ones.

                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
                  #112

                  Reactor build 24302

                  UPGRADE NOTICE: If you are upgrading to this version from earlier than 24293, please see the notes and instructions for 24293 for additional actions you need to perform during upgrade.

                  • You may supply a CSS (Cascading Style Sheet) containing customizations for Bootstrap 5.3 in a file called config/customstyles.css. This allows you to further adjust theme colors to your liking. For instructions on how to customize Bootstrap styles, refer to its documentation.
                  • PR 0000383 (and 385): The changes operator was not allowing "pulse" output option. It is now allowed (whether terminal values are used or not).

                  NUTController build 24303

                  • PR 0000384: Fix an error that may be thrown when the NUT client library fails to get the UPS list from the service. This error prevents the real error from being logged properly.

                  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
                    #113

                    Reactor STABLE Update

                    The stable branch of Reactor is now updated to build 24257. For changes, please scroll back and see the changes and advisory listed since the previous stable branch build (which was 24057).

                    IMPORTANT: Bare-metal users will need to update installed packages (run npm i --no-save --no-package-lock --omit-dev in the Reactor install directory).

                    NOTE: This stable branch build no longer supports nodejs versions under 18. If you are installing Reactor bare-metal (i.e. not using docker), please make sure you have upgraded to nodejs 18+. An even-numbered LTS (Long-Term Support) version of nodejs is recommended.

                    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
                      #114

                      Reactor build 24343

                      BARE-METAL USERS: Please run npm run deps from your Reactor install directory to upgrade packages. Remove any existing package-lock.json file first if it exists. These steps are only required for bare-metal installs (does not apply to Docker).

                      NOTE: Notable UI Change: removing widgets on the Status tab now requires you to drag the widget (by its header) to the top navigation bar and release it there. Previously, moving a widget anywhere outside the content panel would remove it, but this was troublesome for small touch displays (too easy to remove items while scrolling).

                      NOTE: If your Current Alerts widget displays two menu icons in its header, remove the widget (by dragging it to the top nav bar and releasing it), and then create a new replacement Current Alerts widget.

                      • PR 0000389: Improve mobile device compatibility. Although many aspects of the UI have been tweaked for better presentation on small displays, it will continue to be the case that editing of major system objects (Rules, Reactions, Expressions) is a high-interactivity task, and the design goals do not and will not include "mobile first" compatibility for that.
                      • PR 0000387: Make VirtualEntityController operation of reactor_system.set_attribute action identical to (and in fact, just an alias for) x_virtualentity.set_attribute. On virtual entities, all attributes are de-facto writable.
                      • PR 0000386: Fix an issue with HubitatController where it could attempt to set NaN on an attribute, generating a warning in the log.
                      • The Reaction List has been modified to show a spinner while a Reaction is running, rather than holding a green highlight.
                      • Fix an issue with the Reaction List not repainting correctly after editing a (global) reaction.
                      • Additional hard-coded colors in some CSS styles have been removed in favor of CSS variables (Bootstrap- or Reactor-defined). This should help user making custom themes.
                      • Improve the error message given when a script/expression attempts to set a global variable that is not writable (i.e. it's not expressionless).
                      • The default action handlers for increasing/decreasing values in dimming, position, and volume capabilities has been updated to more consistently move in increments of the related step value. For example, when the current dimming level is 0.55 (55%), the dimming.up action with a step of 0.1 will move to 0.6 rather than 0.65 as previously implemented. Not all devices/Controllers use the default action handlers for these actions — if the Controller implements its own semantics, this change has no effect.
                      • VirtualEntityController can now do HTTP requests in actions. This allows you to create a virtual entity that functions as an interface for a device that is HTTP-controllable without the need to write a custom Controller instance. See the docs for VirtualEntityController for updated section on actions.
                      • HassController: Bless Hass to 2024.11.3

                      I am working on some bigger structural changes to Reactor, and have been for a while now. In the interest of finishing those changes, the rate of latest builds is going to go down for a bit. I will, of course, address any serious issues that need fixing during that time.

                      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
                      5
                      • 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 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
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Recent Topics

                                          • Home Assistant 2025.11.2 and latest-25315
                                            CrilleC
                                            Crille
                                            0
                                            3
                                            14

                                          • Reactor (Multi-System/Multi-Hub) Announcements
                                            toggledbitsT
                                            toggledbits
                                            5
                                            129
                                            73.2k

                                          • Notice to Docker + ARM Users (RPi 3/4/5 and others)
                                            toggledbitsT
                                            toggledbits
                                            1
                                            1
                                            35

                                          • Requesting a proper ARM64/aarch64 Docker image (Pi 5 support)
                                            M
                                            mgvra
                                            1
                                            3
                                            98

                                          • Script action and custom timers
                                            toggledbitsT
                                            toggledbits
                                            0
                                            4
                                            111

                                          • Help resolve change in behaviour post update
                                            CatmanV2C
                                            CatmanV2
                                            0
                                            12
                                            308

                                          • There is an alternative to homebridge-mqttthing
                                            akbooerA
                                            akbooer
                                            1
                                            2
                                            101

                                          • Reactor w/HA 2025.11 error on set_datetime service call setting only time
                                            CrilleC
                                            Crille
                                            0
                                            6
                                            122

                                          • Reactor Version 25310 : Office Light control via rule in reactor no longer working since last update.
                                            toggledbitsT
                                            toggledbits
                                            0
                                            17
                                            372

                                          • Shelly Wall Display XL
                                            akbooerA
                                            akbooer
                                            2
                                            9
                                            742

                                          • [Solved] alarm() in global expression throws error in log.
                                            toggledbitsT
                                            toggledbits
                                            0
                                            26
                                            671

                                          • [Solved] Define function issue in latest-25304
                                            CrilleC
                                            Crille
                                            0
                                            12
                                            435
                                          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