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. Replacing SiteSensor Plugin (Vera) with MSR
Arming Envisalink panel from MSR
T
Topic thumbnail image
Multi-System Reactor
[Solved] DynamicGroupController updating members issue
CrilleC
Edit: Solved in latest-26221. Bare-metal latest-26193 I have this group: "OKforLarm": name: OK för Larm select: - include_controller: vera - include_capability: door_sensor filter_expression: entity.attributes.door_sensor.state It contains the entities I expect but behaves a bit odd. When I open vera>device_10097 the entity attribute door_sensor.state changes to true but it won't show up as member in the group, when I also open vera>device_10095 they both shows as members and when I close vera>device_10095 it disappear from the group but when I close vera>device_10097 it lingers in the group until I restart Reactor.
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
DynamicGroupController and attributes
therealdbT
Hey @toggledbits I'm back to trying to optimize a couple of things based on dynamic group. First of all, I think I found a typo in the doc: primary_attribute: "binary_sensor.state" primary_attribute_value: | d = false; each id in members: d = getEntity(id)?.attributes?.power_switch?.state or d, d I think the correct code snippet is d = false, All that said, my use case for dynamic groups is to group 3 different climate devices, so I could easily command them at the same time. Commands are good, but sometimes I want to check if any of the devices are on, and that's easily done with a similar snippet as the one you have in the docs. But this is limited to the primary attribute, while I want to have any of the attributes in the group to be driven by a similar logic (while all are null in the group). ie, access hvac_control.mode and see if any of the unit is set to cool, or heat. Is that possible, without re-defining an expression in each of my rules? Thanks!
Multi-System Reactor
Upgrade Issues
T
Topic thumbnail image
Multi-System Reactor
[SOLVED] Conflicting Set Reaction Groups Appear to Fire Simultaneously in Single Rule Evaluation
G
Topic thumbnail image
Multi-System Reactor
[SOLVED] Question regarding "in" vs "contains" vs contents of the string
G
Topic thumbnail image
Multi-System Reactor
Logon screen timeout
G
Noticing since 170 that the lock screen doesn't switch to the logon prompt but, rather, stays on the active UI until such time as you go to click something within it. Then it jumps to the login screen. Brave browser Brave 1.92.139 (Official Build) (arm64) Chromium: 150.0.7871.114
Multi-System Reactor
[MSR] Copy&past of actions and/or drag&drop between set/reset
therealdbT
Hey @toggledbits One thing that bothers me while doing work on new systems/new features, is that I cannot copy&paste actions, and I cannot drag&drop between set and resets. #1 is for when I want to copy an action between different rules opened in two separate browser windows, while #2 is when I just need to flip a bunch of actions in the reset, or move some logic back and forth. Both will be appreciated, but I understand the technical challenges. Thanks!
Multi-System Reactor
Upgrade advice - upgrade from aarch64 to ARM64 image
T
I'm currently on version 26011. I understand that the aarch64 image is no longer supported. So, I therefore need to update to the ARM64 image. Can anyone possibly suggest how I update my docker compose.yaml file (see below). Ideally I'd like to keep my existing reactions etc. rather than start from scratch. # Multi-System Reactor template docker-compose.yml (version 22160) # # Change the lines indicated by "DO"... # services: reactor: container_name: reactor environment: # DO change the TZ: line to set your local time zone. # See valid TZ list: https://en.wikipedia.org/wiki/List_of_tz_database_time_zones TZ: GB # # DO NOT change this path. Your directory location is in "source" below. REACTOR_DATA_PREFIX: /var/reactor # DO change the image below to the one you are using (e.g. armv7l or aarch64 for RPi 4) image: toggledbits/reactor:latest-aarch64 restart: "always" expose: - 8111 ports: - 8111:8111 volumes: # DO change the /home/username/reactor below to the directory you created for # your local data; DO NOT change the /var/reactor part - /home/pi/docker/reactor:/var/reactor - /etc/localtime:/etc/localtime:ro tmpfs: /tmp
Multi-System Reactor
Alexa for MSR, any interest?
MikeReadingtonM
Topic thumbnail image
Multi-System Reactor
[RESOLVED] Telegram notification broke with latest update
3
Topic thumbnail image
Multi-System Reactor
[RESOLVED] Phantom device, “INFO” appears
wmarcolinW
Topic thumbnail image
Multi-System Reactor
[RESOLVED] Mode Status NULL
wmarcolinW
Topic thumbnail image
Multi-System Reactor
[RESOLVED] HTTP query failing after version 26177
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Question about the find function
wmarcolinW
Topic thumbnail image
Multi-System Reactor
[Answered] OK to remove old json files?
3
Topic thumbnail image
Multi-System Reactor
Deprecation Announcement: 32-bit ARM *docker* images
toggledbitsT
If you are using the armv7l docker image, the OpenJS Foundation that publishes node is no longer producing 32-bit builds as of v24. That means the last supported LTS version of node for armv7l is v22, which will go End-of-Life in May 2027. Therefore, the Reactor armv7l image is now deprecated and will only be produced until node v22 goes EOL, and I will not publish armv7l images beyond that date. If you are running an RPi 3 or earlier with Reactor, you are on this image, and will need to upgrade hardware to a 64-bit model and use the arm64 image. If you need help getting it done, ask in this category.
Multi-System Reactor
[Solved] build 26150 - engine not starting
G
@toggledbits I pulled the image (well, Watchtower did) and within minutes the whole system went offline. The log looks like it ends with 26143. [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-mkahsmgf/26qq82mw-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lqyfljfi/22f8on0t-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lsb61rw8/24oenqi2-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lrh58he0/rule-lrh58he0:S-1c00gfib-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lrh58he0/1c00dylr-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lrh58he0/1nam9w5u-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-miuh2qqi/22ls4lql-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-kwc6rmci/rule-kwc6rmci:S-1vj8sdfc-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-kwc6rmci/rule-kwc6rmci:S-1qanz01x-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/24lq19p6-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-mk0o8iox/23oy468y-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-miscg2h3/rule-miscg2h3:S-22gmbq1c-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-kxgrfjke/238p0old-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-m7ccsso5/re-m7ccsso5-1r0myjxa-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/19nl9wq2-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/rule-ladyja6a:S-yl3xk9t-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ladyja6a/rule-ladyja6a:S-yl3vv5m-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-ln7j2nqp/re-ln7j2nqp-22mx9lzd-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-ln7j2nqp/22mx87c8-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-licneppy/1mzwe7ht-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-ml3194ih/25jqt1j4-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-kxgrg7kf/227hshak-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-reactorexmachina/13ua1p95-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-reactorexmachina/13uagam7-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-grpvl9oypg/rule-grpvl9oypg:R-134x4cbv-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-grpvl9oypg/rule-grpvl9oypg:R-134x2fyl-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#re-lscjrws1/238p5c22-cons [latest-26143]2026-05-31T15:23:44.547Z <default:INFO> Closing container Container#Predicate#rule-lbwr0jvq/1xkczf03-cons [latest-26143]2026-05-31T15:23:44.547Z <Structure:NOTICE> Structure Structure#1 stopped [latest-26143]2026-05-31T15:23:44.547Z <app:NOTICE> Closing APIs... [latest-26143]2026-05-31T15:23:44.547Z <wsapi:NOTICE> wsapi: closing... [latest-26143]2026-05-31T15:23:44.547Z <wsapi:NOTICE> wsapi: disconnecting from "192.168.1.23#82" (1001 service closing) [latest-26143]2026-05-31T15:23:44.548Z <httpapi:NOTICE> HTTP API closing... [latest-26143]2026-05-31T15:23:44.549Z <wsapi:NOTICE> wsapi: server closed [latest-26143]2026-05-31T15:23:44.549Z <httpapi:INFO> HTTP server closed. [latest-26143]2026-05-31T15:23:44.549Z <app:NOTICE> Stopping timers... [latest-26143]2026-05-31T15:23:44.551Z <app:null> Shutdown complete, process ID 1 [latest-26143]2026-05-31T15:23:44.551Z <app:null> Closing logs... [latest-26143]2026-05-31T15:23:44.551Z <default:null> Closing log I can SSH to the VM. Alas, I do not have the previous image for 26143 as I'm a little too quick sometimes on housekeeping.
Multi-System Reactor
http request action & digest auth
tunnusT
I’m using the HTTP Request action in MSR and need to authenticate against an endpoint that uses HTTP Digest authentication. Now that endpoint was changed to use SHA-256 in digest auth, so I would like to know if MSR supports it, or is it limited to MD5-based digest auth?
Multi-System Reactor

Replacing SiteSensor Plugin (Vera) with MSR

Scheduled Pinned Locked Moved Multi-System Reactor
91 Posts 7 Posters 49.2k Views 6 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
    #81

    Give me a couple of days to see what I can noodle out on this. So far, things are looking like they're going the right direction, but sometimes you get >80% of the way before realizing you've painted yourself into a corner and need to take a different approach. Stay tuned!

    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
    • G Offline
      G Offline
      gwp1
      wrote on last edited by
      #82

      Preaching to the choir. As you're well aware from my previous escapades, I do tend to make things much more complicated than they need to be. I don't want you compromising your product, though, just because I am going down the wrong path. Steer me back! 🙂

      I would very much love to have shared elements like the outdoor temp, wind speed, and solar radiation something I can just point to. I've finally done that with HVAC, having only one master set and then pointing to them with the HVAC Ambient and HVAC OWN rulesets. Consolidation is king!

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

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

      *Prod MSR in docker/portainer
      MSR: latest-26193-8dd8f854
      MQTTController: 25139
      ZWave Controller: 25139

      1 Reply Last reply
      0
      • toggledbitsT toggledbits

        I don't recommend using if statements. There are coalescing operators to make the deferencing through the structures easier and tidier when null is a possibility. See the documentation

        Also your API Sensor OpenWxMap would be better without the Interval condition and applying pulse output mode (condition options) on the null test.

        As for the throttling, I would comb through all of your rules and reactions to see if you have any left-over Set Variable or other actions that would change the value of any of the subject variables. Something seems to be competing with what you've shown here.

        tunnusT Offline
        tunnusT Offline
        tunnus
        wrote on last edited by
        #83

        @toggledbits Better?

        Screenshot 2021-09-17 at 13.46.02.png

        Using MSR on Docker (Synology NAS), having InfluxDB, Grafana & Home Assistant, Zigbee2MQTT & ZWA-2

        G 1 Reply Last reply
        1
        • tunnusT tunnus

          @toggledbits Better?

          Screenshot 2021-09-17 at 13.46.02.png

          G Offline
          G Offline
          gwp1
          wrote on last edited by
          #84

          @tunnus I'm back knocking on this again. lol

          I've enabled the OWM controller via reactor.yaml and this will be the dumbest question of the day, @toggledbits, but where do I see the results from it? Are new Entities created or should they appear under OWM Weather?

          I know I'm gonna feel like an idiot at the answer but I can take it lol

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

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

          *Prod MSR in docker/portainer
          MSR: latest-26193-8dd8f854
          MQTTController: 25139
          ZWave Controller: 25139

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

            Yeah, it creates new entities. In the Entities list, you can filter by controller. Do that. It should pop right out at you. If you want to get even more specific, filter on the wx capability, which is used by the entities that the controller publishes, and these are the entities you will want to use in rules.

            30aebdd4-baa1-458f-87d9-46b37de22f1d-image.png

            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

              Yeah, it creates new entities. In the Entities list, you can filter by controller. Do that. It should pop right out at you. If you want to get even more specific, filter on the wx capability, which is used by the entities that the controller publishes, and these are the entities you will want to use in rules.

              30aebdd4-baa1-458f-87d9-46b37de22f1d-image.png

              G Offline
              G Offline
              gwp1
              wrote on last edited by
              #86

              @toggledbits Hmmm... I'm.... not seeing the new entities at all.

              Mental checklist/talking out loud:

              • It's the same API/application key from SiteSensor in Vera and verified working.
              • I went with the basic config, using default location.
              • Restarted MSR via Tools
              • Key is not encased in single quotes

              Refresh is set to 10: for now - does MSR do an automatic call on restart?

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

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

              *Prod MSR in docker/portainer
              MSR: latest-26193-8dd8f854
              MQTTController: 25139
              ZWave Controller: 25139

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

                Did you enable the controller in its config?

                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
                • G Offline
                  G Offline
                  gwp1
                  wrote on last edited by
                  #88

                  Hang on lol. So it seems it creates the Entity as the location name, in my case "Charleston" and then the wx entities UNDER it. I should have picked that up from your screenshot with "PCT Current Weather" being the location.

                  Only oddity.... this entry:

                  wx.location="Melgrove (historical)"

                  The rest of the data seems to line up just fine so that appears to be an outlier.

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

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

                  *Prod MSR in docker/portainer
                  MSR: latest-26193-8dd8f854
                  MQTTController: 25139
                  ZWave Controller: 25139

                  toggledbitsT G 2 Replies Last reply
                  0
                  • G gwp1

                    Hang on lol. So it seems it creates the Entity as the location name, in my case "Charleston" and then the wx entities UNDER it. I should have picked that up from your screenshot with "PCT Current Weather" being the location.

                    Only oddity.... this entry:

                    wx.location="Melgrove (historical)"

                    The rest of the data seems to line up just fine so that appears to be an outlier.

                    toggledbitsT Offline
                    toggledbitsT Offline
                    toggledbits
                    wrote on last edited by toggledbits
                    #89

                    @gwp1 said in Replacing SiteSensor Plugin (Vera) with MSR:

                    wx.location="Melgrove (historical)"
                    The rest of the data seems to line up just fine so that appears to be an outlier.

                    It's just what OWM returns for the location search given. Every location has official place names. Here in the US, the United States Postal Service has the official place names (for the most part), and we can end up with some "official" designations that have nothing to do with how the locals see it, sometimes decades-old and long disused (working at the speed of government, there). The installation instructions recommend using the official OpenWeatherMap city IDs for the greatest reliability in determining location, so you may want to look into that.

                    it creates the Entity as the location name, in my case "Charleston" and then the wx entities UNDER it.

                    Oh, and terminology here... the entity is given the place name (as set by the name field in your config, or if not set, other defaults), so Charleston here. The wx is a capability assigned to entity, not an entity under (or within) the Charleston entity.

                    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
                    • G gwp1

                      Hang on lol. So it seems it creates the Entity as the location name, in my case "Charleston" and then the wx entities UNDER it. I should have picked that up from your screenshot with "PCT Current Weather" being the location.

                      Only oddity.... this entry:

                      wx.location="Melgrove (historical)"

                      The rest of the data seems to line up just fine so that appears to be an outlier.

                      G Offline
                      G Offline
                      gwp1
                      wrote on last edited by gwp1
                      #90

                      I will update the MSR config to be more specific vs using the lat/long from the base location. I believe that's how I did it in SiteSensor, actually.

                      Terminology is completely where I missed the data that was clearly present the entire time. Once again, a fine example of "ALL THE WORDS MATTER."

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

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

                      *Prod MSR in docker/portainer
                      MSR: latest-26193-8dd8f854
                      MQTTController: 25139
                      ZWave Controller: 25139

                      1 Reply Last reply
                      0
                      • G Offline
                        G Offline
                        gwp1
                        wrote on last edited by
                        #91

                        The final update here was that I decided against the onboard OWM config and went with creating matching Global Expressions generated via API call that I was using for Ambient's API. Consistency goes a long way for me. Paired up with matching HVAC rulesets that pull from the appropriate expressions and viola.

                        My biggest concern was around making useless calls to OWM's API (I try to be a responsible Netizen). I'd resolved that with SiteSensor by having the OWM version only arm itself when the Ambient one failed but, alas, that was not to be the path forward here. I bit the proverbial bullet and have the two running simultaneously and use NULL results from Ambient as my trigger for which rulesets actually action the HVAC. It's been working quite smoothly, knock on wood.

                        I do see instances were Honeywell's API for the stats is just a bit finicky about setting both stats in a single call. To resolve this I've added some "course correction" rulesets that resend the correct setpoints after seven minutes. So far, so good.

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

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

                        *Prod MSR in docker/portainer
                        MSR: latest-26193-8dd8f854
                        MQTTController: 25139
                        ZWave Controller: 25139

                        1 Reply Last reply
                        1
                        • toggledbitsT toggledbits locked this topic on
                        • T tbully referenced this topic on
                        Reply
                        • Reply as topic
                        Log in to reply
                        • Oldest to Newest
                        • Newest to Oldest
                        • Most Votes


                        Recent Topics

                        • Arming Envisalink panel from MSR
                          T
                          tamorgen
                          0
                          7
                          156

                        • [Solved] DynamicGroupController updating members issue
                          CrilleC
                          Crille
                          0
                          5
                          99

                        • Reactor (Multi-System/Multi-Hub) Announcements
                          toggledbitsT
                          toggledbits
                          5
                          148
                          129.4k

                        • DynamicGroupController and attributes
                          therealdbT
                          therealdb
                          1
                          5
                          109

                        • Upgrade Issues
                          T
                          tbully
                          0
                          9
                          225

                        • [SOLVED] Conflicting Set Reaction Groups Appear to Fire Simultaneously in Single Rule Evaluation
                          toggledbitsT
                          toggledbits
                          0
                          10
                          247

                        • [SOLVED] Question regarding "in" vs "contains" vs contents of the string
                          G
                          gwp1
                          0
                          5
                          128

                        • openLuup console disappeared - 500 - Internal Server Error
                          A
                          a-lurker
                          0
                          2
                          173

                        • Logon screen timeout
                          G
                          gwp1
                          0
                          5
                          191

                        • [MSR] Copy&past of actions and/or drag&drop between set/reset
                          toggledbitsT
                          toggledbits
                          0
                          9
                          360

                        • Upgrade advice - upgrade from aarch64 to ARM64 image
                          toggledbitsT
                          toggledbits
                          0
                          4
                          215
                        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