Skip to content
  • 5 Votes
    134 Posts
    97k Views
    toggledbitsT
    Reactor build 26116 PLEASE READ ALL CAUTIONS AND INSTRUCTIONS BELOW! IMPORTANT: PERSISTENT FORMAT STORAGE CHANGE! I STRONGLY RECOMMEND MAKING AN INTENTIONAL, SEPARATE BACKUP OF YOUR REACTOR STORAGE/DATA BEFORE UPGRADING TO THIS BUILD, AND SAVING IT SAFELY SOMEWHERE FOR A WHILE. The file format and name used to store Reactor system objects and data has changed as of this build. Data files under the storage directory now have a .dval suffix rather than .json. See this post for background. Conversion of your existing files to the new format is automatic and transparent on the first run of this and future builds, so your existing backups will be restorable into the foreseeable future. If you need to see the contents of a file in its native form, a new utility under tools has been provided: dval2json.js. You can run this utility (e.g. node tools/dval2json.js storage/expressions.dval) and it will read the .dval file and output its JSON representation, if possible. However, due to the limitations of standard JSON, some .dval files may not be convertible to JSON by this tool; if that happens, the tool will switch to an alternate output format that is JSON-like enough to be human-readable (but is not parseable as JSON). BARE-METAL UPGRADE MUST UPDATE DEPENDENCIES! Those of you on bare-metal installs will need to run npm run deps in your Reactor install directory after unpacking the distribution archive. There are new and updated packages required to run this build of Reactor, and it will not start without these updates. Docker users don't need to do anything, as the image is built with all dependencies preloaded. ERRORS WILL BE LOGGED ON THE FIRST RESTART AFTER UPGRADING TO THIS BUILD. ALLOW THE SYSTEM TO SETTLE A MINUTE, AND THEN RESTART AGAIN. THEN AND ONLY THEN SHOULD YOU BEGIN CHASING/REPORTING ANY ISSUES THAT REMAIN. DynamicGroupController now manages rooms across all standard controllers where room information is available from the source hub. Previously, each Controller had to manage rooms on its own (if that data was available from the hub/source), and the room groups were local to that controller. Now, the room information on Vera, Ezlo, Home Assistant (area), Hubitat, and Z-Wave JS (location) will be used to automatically generate shared groups owned by DynamicGroupController. Rooms are associated by name (case insensitive); for example, a "Living Room" room on a Vera and a "Living Room" area in Home Assistant will both use the "Living Room" group automatically created and managed by DynamaicGroupController. This behavior can be turned off on a per-controller basis by setting rooms_as_sys_groups: false in a controller's configuration. By default, this setting is true (on, system-level groups will be created) for all controllers. All standard controllers (Home Assistant, Hubitat, Vera, Ezlo, and Z-Wave JS) have been updated to use the new room group strategy. Refer to the documentation for each Controller for additional details. VeraController: Add configuration flag rooms_as_local_groups to enable VeraController's legacy behavior of creating local groups for Vera rooms. In support of the shared groups described above, this setting defaults to false as of this build. Existing local groups will be marked dead for eventual purging unless this setting is changed. Expressions: new runReaction() function can be used to launch a Reaction (see docs); Reactions UI: Additional fixes to coordination and placement for copy/move; Reactions: While actions now have an optional iteration limit — a maximum number of times the loop will run. If the loop hits this limit before its conditions stop it, the loop will stop without error; Reactions: While actions now have an enforced once-per-second minimum iteration delay (that is, if you omit a Delay action in the While group, Reactor will provide a one second delay); Reactions UI: The display of the While condition on the detail card has been improved; DynamicGroupController: new include_attribute selector (see docs); Rules: The rule detail display now updates the main constraints' evaluation values continuously. This restores UI functionality lost when fixing an earlier bug that caused unexpected/undesirable re-evaluation of a Rule's triggers when dependent entities or variables in constraints were modified; Controller Config: The type config key, previously deprecated, is no longer supported. Use implementation instead. Unless you've ignored prior deprecation warnings, this should not be an issue. Rules: The startup scan of rule conditions has been improved to correctly update old conditions using the changes operator with blank operands; HubitatController: The room of a device is now stored on the entity attributes. HassController: The area and floor properties of a device/entity are now stored on the Reactor entity's attributes. HassController: Better support for new "state" selector in service data as of 2026.4.0. The most notable effect is that, where HA offers us data, we will present a list of expected values for a field down to the device/entity level (because not every device may support every possible value for a field). This is not universal yet, but seems to be HA's direction, so as they publish the data on more entities, it should just start working in Reactor Editor fields. Entities List: Fix page overflow when attribute has a long value with no natural word breaks (i.e. force wrap). Entity: extended attribute values on standard capabilities will now survive refresh of the capability. Reaction Editor: Fix presentation issue with gutter in section header. Rule Editor: Fix presentation issues with gutters in section headers. Reaction Editor: After a data entry validation error, an error was not being cleared after the user fixed the entry. Dashboard: the sys_group.visible attribute has been added to control the selection of groups for automatic display on the Dashboard's default group list display (default: true); Many documentation tweaks and updates; supply some new/improved images. Docker images: Detection of improperly mounted data volume. This will help alert new users in particular to missing/misconfigured data volume binding. HassController: Bless HA to 2026.4.3

Recent Topics