Skip to content

Multi-System Reactor

864 Topics 8.1k Posts
  • Category Topic Guide -- Read Before Posting

    Pinned Locked guidelines
    1
    8 Votes
    1 Posts
    1k Views
    No one has replied
  • Reactor (Multi-System/Multi-Hub) Announcements

    Pinned Locked announcements
    141
    5 Votes
    141 Posts
    105k Views
    toggledbitsT
    Reactor build 26150 If you are upgrading to this build from 26011 or earlier, please read the cautions for build 26116! A new Router notification method is now available. This method allows a single notification action to send a message to multiple notification targets. Configurable routes allow the selection and filtering of messages for different destinations. See docs In support of the new Router notification method, configured Notifier profiles other than default are considered children of default. If a configuration value is not specified in such a profile, the value will be inherited from the default profile. This allows, for example, the default profile for SMTP to contain the host and authentication information, while additional profiles may contain only different recipient addresses — the additional profiles will use the default profile's host/auth info to connect to the same mail server, without the need to repeat that information in each profile. If an additional profile needs to connect to a different mail server, it may specify its own host and authentication parameters as before. DynamicGroupController: improve response to changes in groups using filter_expression in configuration; Expressions: fix an error in the runReaction() function that may cause it to crash on an attempted dereference through undefined. Make the system more resilient to startup failures caused by hard errors in configuration files. When a (syntactically) valid configuration file is successfully loaded, it is copied to a last-known-good shadow file in the config directory. If the YAML configuration is later edited and contains errors that would prevent it being loaded, Reactor will load the last-known-good configuration, log the error, and display an alert in the Current Alerts widget on the Status page. The alert will clear itself when the file is fixed and later successfully loaded. To be clear, "valid" in this context means parseable (syntactically correct YAML). It does not mean that the keys and values given in the configuration will do what you expect/want or contain values or structures that Reactor can't recognize. Fix a compatibility issue with node version 18. This version of node is only supported in the armv7l docker image (for 32-bit Raspberry Pis). A new backup script backup_reactor_gfs.sh has been added to the tools directory; this script uses the grandfather-father-son backup strategy. If run daily, it will keep 30 daily backups, monthly backups (i.e. the first daily backup of each month), and quarterly backups (i.e. the first monthly backup of each quarter). Command line options suppress the backups of the logs directory and/or the transient/temporary state data for smaller backup size.
  • [Solved] build 26150 - engine not starting

    7
    0 Votes
    7 Posts
    31 Views
    G
    @toggledbits I checked, rechecked, RErechecked and couldn't find any issue with that YAML. That being said, I completely removed the extra rule logging I had added and restarted. Brought down the new image and everything is fine. So... my question NOW is: why did it run fine until this build? That logging has been there for several weeks.
  • http request action & digest auth

    7
    0 Votes
    7 Posts
    214 Views
    toggledbitsT
    I'll see what can be done later, but this comes from a package I use, not code of my own creation. Despite the bug discovered, if I abandon the external package, I lose years of testing against myriad servers in the wild, so it's a potentially costly trade-off that makes a lot of future work (and frustration, potentially).
  • Cloning actions in reactions does not work

    2
    0 Votes
    2 Posts
    103 Views
    toggledbitsT
    Got it. Next build... tomorrow, or Sunday at the latest.
  • Has ping command been removed?

    4
    1
    0 Votes
    4 Posts
    139 Views
    toggledbitsT
    OK. I've respun 26140 docker images with some additions to the underlying minimal OS. Grab the updated image for your container and you should have ping back.
  • ReferenceError with Home Assistant data & build 26140

    6
    1
    0 Votes
    6 Posts
    192 Views
    tunnusT
    @toggledbits got it, thanks!
  • Integrations and 'Loaded'

    3
    0 Votes
    3 Posts
    88 Views
    CatmanV2C
    Perfect! Thanks (again) C
  • Possible mismatch between binary_sensor in HA and MSR

    25
    0 Votes
    25 Posts
    660 Views
    CatmanV2C
    Thanks, installed and working. Although after the first restart there were some virtual switches in HA that were not being accurately reflected in MSR, but I restarted MSR again, and everything looks fine. Thanks again for your help. Next time I'll upload the logs to start with! C
  • This topic is deleted!

    1
    0 Votes
    1 Posts
    9 Views
    No one has replied
  • 0 Votes
    19 Posts
    813 Views
    therealdbT
    @gwp1 I never had any doubt about @toggledbits
  • Reactor build 26116: empty group reaction

    18
    1 Votes
    18 Posts
    797 Views
    toggledbitsT
    OK. Please turn on log level 5 for that rule only. Run the rule to show the issue, and upload the entire Rule log file as well as reactor.log, the rule storage files (dval and json). Link for upload in your DMs
  • Upcoming Storage Change -- Got Back-ups?

    2
    3 Votes
    2 Posts
    408 Views
    toggledbitsT
    OK, everyone, it's almost time. Sorry for the long pause. Life takes over sometimes. The aforementioned updates will be in the next build, and I am working on wrapping everything up to get that build out later this week. Please make backups of your Reactor data as advised in the head post here. As I said then/there, I've been working with this for months now, with no issues, but my world is not your world or everyone else's world, so there's always the possibility I don't see or have an issue that you do. Prior to releasing this new build in the latest channel, the 26011 build will become the stable channel head. In addition to your backups, that gives you a relatively quick path (especially docker users) to get back onto 26011 if there's a showstopper. This build will also include unified room groups: DynamicGroupController will manage "rooms" (or areas or locations or whatever your hub calls them). If you have two different hubs with devices in the "Living Room," there will be one "Living Room" group with the combined set of devices. The per-controller room groups generated by VeraController and EzloController will be disabled by default, and existing room groups created by these controllers will be marked as dead entities (and eventually purged). If you already use DynamicGroupController to manually create your own room groups via configuration, you can either keep that (and disable DGC's new behavior, if you wish) or switch to DGC's version. An updated version of ZWaveJSController that supports this functionality will be released simultaneously with the core build.
  • Next Release?

    6
    0 Votes
    6 Posts
    529 Views
    CatmanV2C
    Just an update. Nothing apparent issue wise since my update yesterday C
  • 0 Votes
    2 Posts
    302 Views
    toggledbitsT
    Grab ZWaveJSController build 26048. It will publish the location in zwave_device.location. It will not create groups automatically (yet), so you'll need to use DynamicGroupController to make your own. Rooms are going to be handled very differently in future. Right now, controllers great groups they own for rooms, and that prevents sharing of rooms between controllers (they can't modify another's groups), so you have to use DGC to manually create unified groups across controllers. That will be more automated in future.
  • Variables not updating properly

    5
    4
    0 Votes
    5 Posts
    494 Views
    tunnusT
    @toggledbits thanks, using an independent reaction works nicely!
  • [Solved] Loading Screen Safari

    11
    1
    0 Votes
    11 Posts
    1k Views
    S
    Update: This was not a Reactor issue and Home Assistant was having the problem loading also. It is now working normally in Mac OS 26.4.
  • VEC Virtual Switch Auto Off

    2
    1 Votes
    2 Posts
    438 Views
    S
    Is this the proper place to ask for a feature request? I think it would be useful to have VEC Virtual switches to have an option for an Auto Off setting. Thanks
  • Changes operator does not always detect change

    4
    0 Votes
    4 Posts
    469 Views
    toggledbitsT
    Yup. That's from an ancient UI bug. If you edit the conditions that have that, it will fix them. I'll add some code to the rule startup check to root them out and fix them as well.
  • Dynamic MQTT topics and parameters

    6
    4
    0 Votes
    6 Posts
    696 Views
    M
    Hi, I've installed the latest version 26059 and can confirm that the parameter substitution works perfectly! Thanks a lot for the quick fix and the feature update @toggledbits Here's my setup local_mqtt_capabilities.yaml x_mqtt_annunciator_panel: actions: on: arguments: led: type: int min: 1 max: 45 color: type: string effect: type: string default: "static" values: - static - blink - breath speed: type: int default: 500 off: arguments: led: type: int min: 1 max: 45 static: arguments: led: type: int min: 1 max: 45 color: type: string blink: arguments: led: type: int min: 1 max: 45 color: type: string speed: type: int default: 500 breath: arguments: led: type: int min: 1 max: 45 color: type: string speed: type: int default: 500 brightness: arguments: value: type: int min: 0 max: 255 local_mqtt_devices.yaml annunciator-panel: capabilities: - x_mqtt_annunciator_panel requires: [panel] actions: x_mqtt_annunciator_panel: on: topic: "annunciator/panel/%panel%/led/%parameters.led%/set" retain: true payload: expr: > { "color": parameters.color, "effect": parameters.effect, "speed": parameters.speed } type: json off: topic: "annunciator/panel/%panel%/led/%parameters.led%/set" retain: true payload: expr: > { "color": "off", "effect": "static" } type: json static: topic: "annunciator/panel/%panel%/led/%parameters.led%/set" retain: true payload: expr: > { "color": parameters.color, "effect": "static" } type: json blink: topic: "annunciator/panel/%panel%/led/%parameters.led%/set" retain: true payload: expr: > { "color": parameters.color, "effect": "blink", "speed": parameters.speed } type: json breath: topic: "annunciator/panel/%panel%/led/%parameters.led%/set" retain: true payload: expr: > { "color": parameters.color, "effect": "breath", "speed": parameters.speed } type: json brightness: topic: "annunciator/panel/brightness" retain: true payload: expr: > { "value": parameters.value } type: json reactor.yaml # Annunciator panels annunciator-panel-1: name: 'Annunciator panel 1' panel: 1 include: annunciator-panel annunciator-panel-2: name: 'Annunciator panel 2' panel: 2 include: annunciator-panel Note that the brightness control is not panel-dependent, as it uses the rpi-ws281x-native library's global brightness attribute. This works well for my setup, as I want all panels to share the same brightness level anyway. Speaking of brightness, it will be controlled by the technical room's PIR and MSR rules that dim or turn off the panels when nobody is present. Below is the setup for the ventilation unit (AHU) indicator light: Green: Running OK Yellow: Switched off Blinking Red: Error [image: 1772470856148-ba29ea20-cc5f-4998-abd7-c14456600fce-screenshot-from-2026-03-02-18-25-07.png] And here are the panel operations: [image: 1772470932086-b8995409-8929-4c71-bba4-5ac7f8eae3f4-screenshot-from-2026-03-02-18-23-40.png] br, mgvra

Recent Topics