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. Rulesets with multiple groups in Set Reaction not working post-26116
Rulesets with multiple groups in Set Reaction not working post-26116
G
Topic thumbnail image
Multi-System Reactor
Reactor build 26116: empty group reaction
therealdbT
I have a couple of rules that has group reactions with empty conditions. I notice, in particular on one that's called every 5 secs, that it was not working. I added an empty comment as condition and it started working again. I don't know if saving was enough to "reset" it, but I'm reporting anyway. No errors in the logs, but the MQTT message was not published, so I had an easy path to check the rule. I have others like these, but not easy to test. @toggledbits maybe some stuck status data? (I restarted a couple of times after the last update). Thanks.
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
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
Next Release?
CatmanV2C
Morning. Do we have a roadmap for the next release, at all? I only ask as there's a breaking HA change and I have many packages now out of date. Cheers! C
Multi-System Reactor
Controller Z-Wave JS UI: "Location" attribute not visible in Reactor entities
N
Hi, I'm on Docker/NAs (latest-26011-c621bbc7) with Zwave js ui (last version). I have set the 'Location' for each device in the Z-Wave JS UI dashboard, I cannot find this information among the Entity Attributes in the Reactor. I tried and the result is an empty array []. It seems the 'Location' metadata from Z-Wave JS is not being mapped to a standard attribute in Reactor. Location is equale to Rooms for me. When comparing this to the Vera or Ezlo Controller, Reactor automatically creates Room Icons also in the Reactor Dashboard and places the various devices under those room categories. This is a very convenient way to keep the dashboard organized and quickly find lights to turn off with a click (especially when something isn't switched off as expected for me:) ). Is there a way to map the Z-Wave JS UI 'Location' attribute and a dashboard organization, just like it does with Vera/Ezlo? Thanks in advance for all the great tips you've shared
Multi-System Reactor
Variables not updating properly
tunnusT
Topic thumbnail image
Multi-System Reactor
[Solved] Loading Screen Safari
S
Topic thumbnail image
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
Changes operator does not always detect change
tunnusT
I've had similar problems before, but now this issue has resurfaced. Using build 26011 on Docker. As I copied one old rule as a "template" for a similar new rule, where I have multiple conditions using changes operator (from any to any, and with delay reset of 900), these conditions do not detect change in attributes. Even if I manually reset the rule, reset delay timers do not restart. If I do a new rule from scratch, and do not copy/import anything old, the same conditions work properly. Also, if I modify copied rule's conditions (put a random number to "from" & "to" fields), then save, and after that remove those modifications, rule begins to function normally. Just editing e.g. delay reset value does not do any good in this context. @toggledbits, I can DM logs & related rule files to you, if you just send me instructions.
Multi-System Reactor
Dynamic MQTT topics and parameters
M
Topic thumbnail image
Multi-System Reactor
Condition for trend
T
Topic thumbnail image
Multi-System Reactor
Struggling to setup my first Tasmota device and MQTT
cw-kidC
Topic thumbnail image
Multi-System Reactor
Existing Rule stopped working HTTP command fetching IP address from website
cw-kidC
Topic thumbnail image
Multi-System Reactor
Set reaction triggering wrong z-wave device
T
Topic thumbnail image
Multi-System Reactor
Can you run MSR on Home Assistant OS ?
cw-kidC
Looking at using Home Assistant for the first time, either on a Home Assistant Green, their own hardware or buying a cheap second hand mini PC. Sounds like Home Assistant OS is linux based using Docker for HA etc. Would I also be able to install things like MSR as well on their OS ? On the same box? Thanks.
Multi-System Reactor
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
This trigger no longer working - complaining about the operator needing changing
cw-kidC
Topic thumbnail image
Multi-System Reactor
Self test
CatmanV2C
Having been messing around with some stuff I worked a way to self trigger some tests that I wanted to do on the HA <> MSR integration This got me wondering if there's an entity that changes state / is exposed when a configured controller goes off line? I can't see one but thought it might be hidden or something? Cheers C
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

Rulesets with multiple groups in Set Reaction not working post-26116

Scheduled Pinned Locked Moved Multi-System Reactor
6 Posts 2 Posters 58 Views 2 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.
  • G Offline
    G Offline
    gwp1
    wrote last edited by
    #1

    I have some rules that have multiple Groups as the Set Reaction based on different scenarios. In one instance, it's a bedroom light that has three possible "outcomes": morning, evening, and rainstormers. If I break out the ruleset into three unique rulesets each works fine.

    Here's another instance that I caught tonight: porch lights that are supposed to react differently - but this time it's the Reset Reaction that's being ignored:

    9936cf46-04c6-45fc-bf1a-39ed9e2949ae-image.png

    Here are the log entries directly tied to this but I will upload the entire log to you @toggledbits

    [latest-26120]2026-05-02T01:17:35.641Z <Rule:INFO> Porch lights:  brighten for guests (rule-grpvl9oypg in Outdoor Lighting, Nightly) evaluated; rule state transition from SET to 'RESET'
    [latest-26120]2026-05-02T01:17:35.644Z <Engine:INFO> Enqueueing "Porch lights:  brighten for guests<RESET>" (rule-grpvl9oypg:R)
    [latest-26120]2026-05-02T01:17:35.655Z <Engine:NOTICE> Starting reaction Porch lights:  brighten for guests<RESET> (rule-grpvl9oypg:R)
    [latest-26120]2026-05-02T01:17:35.655Z <Engine:INFO> Porch lights:  brighten for guests<RESET> all actions completed.
    

    The Set Reaction for the bedroom light looks like this:

    dd9a5bd2-4387-4018-8dca-46d54e87b82f-image.png

    I've not had a chance to re-enable that ruleset and grab logs from it yet.

    *Hubitat C-7 2.5.0.126
    *Proxmox VE v8, Beelink MiniPC 12GBs, SSD

    *HAOS
    Core 2026.4.4
    w/ HA Connect ZWA-2
    FW: v1.1
    SDK: v7.23.1

    *Prod MSR in docker/portainer
    MSR: latest-26011-c621bbc7
    MQTTController: 25139
    ZWave Controller: 25139

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

      Again, if you're not posting 20 or more lines of logs around what you think is interesting, it's not enough. You're also not showing the conditions for this Rule (a Ruleset is a collection of Rules).

      It's suspicious to me that you have both Set and Reset reactions here... do you remember contra-reactions? If the rule is Set, the Set reaction starts running. While it's running, if the rule Resets and the Reset reaction is not empty, the Set reaction will be stopped (pre-empted) before the Reset reaction is started. The same is true the other way... the Reset reaction can be pre-empted by the rule Setting while the Reset reaction is running.

      This very much comes into play when the rule's conditions look at an entity that is also controlled by either reaction (i.e. condition to see if the light is off with a reaction that turns it on), and any condition that produces pulse output (i.e. by using pulse output in condition options, or using the changes operator in a condition). The former instantly changes the rule conditions and possibly the rule state. The latter (pulse) happens very fast when no reset delay is configured, and can easily pre-empt the Set reaction before it even has a chance to start.

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

      G 1 Reply Last reply
      0
      • toggledbitsT toggledbits

        Again, if you're not posting 20 or more lines of logs around what you think is interesting, it's not enough. You're also not showing the conditions for this Rule (a Ruleset is a collection of Rules).

        It's suspicious to me that you have both Set and Reset reactions here... do you remember contra-reactions? If the rule is Set, the Set reaction starts running. While it's running, if the rule Resets and the Reset reaction is not empty, the Set reaction will be stopped (pre-empted) before the Reset reaction is started. The same is true the other way... the Reset reaction can be pre-empted by the rule Setting while the Reset reaction is running.

        This very much comes into play when the rule's conditions look at an entity that is also controlled by either reaction (i.e. condition to see if the light is off with a reaction that turns it on), and any condition that produces pulse output (i.e. by using pulse output in condition options, or using the changes operator in a condition). The former instantly changes the rule conditions and possibly the rule state. The latter (pulse) happens very fast when no reset delay is configured, and can easily pre-empt the Set reaction before it even has a chance to start.

        G Offline
        G Offline
        gwp1
        wrote last edited by gwp1
        #3

        @toggledbits That's why I uploaded the full reactor.log to your Dropbox.

        These are two different rules. Here they are in full:

        Porch lights (logs provided last night)
        ef9ee6a2-76d8-4d3d-9c6b-5dcfee2202ce-image.png 121cc44a-044b-4a53-9afb-7dcf1ed0b4f3-image.png 661a73ac-720c-491c-9ba0-3bce4ad7a650-image.png

        Bedroom lamp (no logs yet)
        68e76156-884e-4b7e-b02a-15821c270c48-image.png aff1cdea-c532-4859-a4ee-cb82e443073f-image.png b31043fc-f69e-49ea-a62f-08fff3534bc1-image.png f94bd100-5ba2-455b-a638-d6c0cba9e595-image.png

        I'll try to grab logs on the second one today and put in the same Dropbox folder.

        *Hubitat C-7 2.5.0.126
        *Proxmox VE v8, Beelink MiniPC 12GBs, SSD

        *HAOS
        Core 2026.4.4
        w/ HA Connect ZWA-2
        FW: v1.1
        SDK: v7.23.1

        *Prod MSR in docker/portainer
        MSR: latest-26011-c621bbc7
        MQTTController: 25139
        ZWave Controller: 25139

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

          Enable logging at level 5 just for that rule. Anything else is going to generate too much information/distraction.

          Edit: I'm not finding any issues yet in focused testing on this. I obvious don't know what the dependent rules do in your conditions (what conditions they have), but basic functional tests of groups with true and false constraints are working fine for me.

          Since you have delays in your groups (or can easily add them), that's one way to slow things down so you can watch the "Running Reactions" status widget, which also may give us a clue why it's not working the way you expect.

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

          G 2 Replies Last reply
          0
          • toggledbitsT toggledbits

            Enable logging at level 5 just for that rule. Anything else is going to generate too much information/distraction.

            Edit: I'm not finding any issues yet in focused testing on this. I obvious don't know what the dependent rules do in your conditions (what conditions they have), but basic functional tests of groups with true and false constraints are working fine for me.

            Since you have delays in your groups (or can easily add them), that's one way to slow things down so you can watch the "Running Reactions" status widget, which also may give us a clue why it's not working the way you expect.

            G Offline
            G Offline
            gwp1
            wrote last edited by
            #5

            @toggledbits logging enabled for both rules.

            The deep rules are simply presence rules. When I isolate each group into it's own rule and change nothing else, they work fine.

            *Hubitat C-7 2.5.0.126
            *Proxmox VE v8, Beelink MiniPC 12GBs, SSD

            *HAOS
            Core 2026.4.4
            w/ HA Connect ZWA-2
            FW: v1.1
            SDK: v7.23.1

            *Prod MSR in docker/portainer
            MSR: latest-26011-c621bbc7
            MQTTController: 25139
            ZWave Controller: 25139

            1 Reply Last reply
            0
            • toggledbitsT toggledbits

              Enable logging at level 5 just for that rule. Anything else is going to generate too much information/distraction.

              Edit: I'm not finding any issues yet in focused testing on this. I obvious don't know what the dependent rules do in your conditions (what conditions they have), but basic functional tests of groups with true and false constraints are working fine for me.

              Since you have delays in your groups (or can easily add them), that's one way to slow things down so you can watch the "Running Reactions" status widget, which also may give us a clue why it's not working the way you expect.

              G Offline
              G Offline
              gwp1
              wrote last edited by gwp1
              #6

              @toggledbits Is this not correct?

              "Rule#rule-lnict0lq":
                  level: 5
                  streams:
                  - type: file  # filename is derived from rule ID
                    keep: 2
                    level: 999
                "Rule#rule-grpvl9oypg":
                  level: 5
                  streams:
                  - type: file  # filename is derived from rule ID
                    keep: 2
                    level: 999
                    recycle: true#      recycle: true
              

              (It is in line...)

              e1c2644b-73d6-4220-88bc-8d09e656e38e-image.png

              *Hubitat C-7 2.5.0.126
              *Proxmox VE v8, Beelink MiniPC 12GBs, SSD

              *HAOS
              Core 2026.4.4
              w/ HA Connect ZWA-2
              FW: v1.1
              SDK: v7.23.1

              *Prod MSR in docker/portainer
              MSR: latest-26011-c621bbc7
              MQTTController: 25139
              ZWave Controller: 25139

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


              Recent Topics

              • Rulesets with multiple groups in Set Reaction not working post-26116
                G
                gwp1
                0
                6
                58

              • Reactor build 26116: empty group reaction
                therealdbT
                therealdb
                1
                14
                221

              • Reactor (Multi-System/Multi-Hub) Announcements
                toggledbitsT
                toggledbits
                5
                134
                98.5k

              • Temperature control with TRVs
                CatmanV2C
                CatmanV2
                0
                1
                116

              • Upcoming Storage Change -- Got Back-ups?
                toggledbitsT
                toggledbits
                3
                2
                330

              • Next Release?
                CatmanV2C
                CatmanV2
                0
                6
                326

              • Controller Z-Wave JS UI: "Location" attribute not visible in Reactor entities
                toggledbitsT
                toggledbits
                0
                2
                216

              • Do you Matter?
                CrilleC
                Crille
                0
                8
                1.0k

              • Variables not updating properly
                tunnusT
                tunnus
                0
                5
                319

              • [Solved] Loading Screen Safari
                S
                SweetGenius
                0
                11
                1.2k

              • VEC Virtual Switch Auto Off
                S
                SweetGenius
                1
                2
                337

              • Changes operator does not always detect change
                toggledbitsT
                toggledbits
                0
                4
                383
              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