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. Which user to install nodejs as ? Debian Linux
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
Bail out of failed reaction?
T
Topic thumbnail image
Multi-System Reactor
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
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

Which user to install nodejs as ? Debian Linux

Scheduled Pinned Locked Moved Multi-System Reactor
20 Posts 4 Posters 6.3k Views 4 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
    #9

    If that's the case, your global expressions file is damaged/unreadable for some reason. I'll send you a link privately to upload it to me, and I'll see if I can repair it for you.

    When backing up and restoring, the entire storage folder should always go as a unit. No cherry-picking.

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

    cw-kidC 1 Reply Last reply
    1
    • toggledbitsT toggledbits

      If that's the case, your global expressions file is damaged/unreadable for some reason. I'll send you a link privately to upload it to me, and I'll see if I can repair it for you.

      When backing up and restoring, the entire storage folder should always go as a unit. No cherry-picking.

      cw-kidC Offline
      cw-kidC Offline
      cw-kid
      wrote on last edited by cw-kid
      #10

      @toggledbits said in Which user to install nodejs as ? Debian Linux:

      When backing up and restoring, the entire storage folder should always go as a unit. No cherry-picking

      Understood now thanks.

      I uploaded the file to your dropbox. Cheers for the help!

      Btw I formatted everything and started again earlier, no longer using NVM to install node.js I installed it globally instead with apt via the command from this webpage here. That seems to have fixed my Node-Red service file issues anyways. Both MSR and Node-Red are auto starting at boot now.

      toggledbitsT 1 Reply Last reply
      0
      • cw-kidC cw-kid

        @toggledbits said in Which user to install nodejs as ? Debian Linux:

        When backing up and restoring, the entire storage folder should always go as a unit. No cherry-picking

        Understood now thanks.

        I uploaded the file to your dropbox. Cheers for the help!

        Btw I formatted everything and started again earlier, no longer using NVM to install node.js I installed it globally instead with apt via the command from this webpage here. That seems to have fixed my Node-Red service file issues anyways. Both MSR and Node-Red are auto starting at boot now.

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

        @cw-kid said in Which user to install nodejs as ? Debian Linux:

        I installed it globally instead with apt via the command from this webpage here.

        Sigh. OK. Unfortunately, that version (20) is already out of development, but at least it's LTS and will hold until 2026. Or maybe the header on the page is wrong and it's been updated to install the latest LTS. Either way, Reactor will support it as long as it's under maintenance with the authors.

        There's nothing wrong with your expressions.json file. I'm guessing it's a permissions problem after you copy it from whatever source you copied it from (it's keeping the user and group IDs on the file from whatever source, and the user ID has changed between the two systems).

        As I said, you should copy the entire storage directory, don't cherry pick, because there are other important files in there that align with your installation. Once you've copied everything, run the following commands in a shell from the Reactor install directory (where Reactor's app.js is located), substituting <user> and <group> with the user and group names, respectively:

        sudo chown -R <user>:<group> .
        sudo chmod -R ug=rwX,o= .
        

        This should fix all file permissions. Then start Reactor.

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

        cw-kidC 1 Reply Last reply
        0
        • toggledbitsT toggledbits

          @cw-kid said in Which user to install nodejs as ? Debian Linux:

          I installed it globally instead with apt via the command from this webpage here.

          Sigh. OK. Unfortunately, that version (20) is already out of development, but at least it's LTS and will hold until 2026. Or maybe the header on the page is wrong and it's been updated to install the latest LTS. Either way, Reactor will support it as long as it's under maintenance with the authors.

          There's nothing wrong with your expressions.json file. I'm guessing it's a permissions problem after you copy it from whatever source you copied it from (it's keeping the user and group IDs on the file from whatever source, and the user ID has changed between the two systems).

          As I said, you should copy the entire storage directory, don't cherry pick, because there are other important files in there that align with your installation. Once you've copied everything, run the following commands in a shell from the Reactor install directory (where Reactor's app.js is located), substituting <user> and <group> with the user and group names, respectively:

          sudo chown -R <user>:<group> .
          sudo chmod -R ug=rwX,o= .
          

          This should fix all file permissions. Then start Reactor.

          cw-kidC Offline
          cw-kidC Offline
          cw-kid
          wrote on last edited by cw-kid
          #12

          @toggledbits

          I used WINSCP to copy the file from my Windows PC to the Linux box.

          00936b30-dc96-4b99-b184-32534269c217-image.png

          It says rw-r--r-- next to the expressions file and has me as the owner of the file.

          29861561-54e2-4f54-93b4-d5c92e0625df-image.png

          Regarding nodejs installed via apt it says its version v20.18.1 I think version 22.x is the latest. Maybe I can upgrade it somehow later.

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

            Yeah, but I can see in that screen shot that there are other broken permissions that are going to cause problems. For example, look at the reactions folder. It's owned by root, with no write permission for group or other users, so that's going to prevent you from saving new reactions, at least, and depending on individual file permissions within that folder, editing and saving any existing reactions. So I suspect the parent folder storage, and maybe even the Reactor install directory itself, have gotten broken permissions/ownership along the way of your efforts.

            You need to fix the entire directory tree to be safe, using the commands I gave you.

            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
            • cw-kidC Offline
              cw-kidC Offline
              cw-kid
              wrote on last edited by cw-kid
              #14

              OK I ran these commands in the home/stuart/reactor folder where the app.js file is located. That appears to have worked and changed some of the folders and files from root to my name now.

              Also after restarting MSR the expressions.json file is no longer changing from 9k to 1k in size and I can open the file from the Linux machine and see its contents are still all intact. It wasn't doing that before.

              However in the MSR GUI in Expressions its still empty.

              image.png

              88bf0fe7-c1e1-4437-a3c9-21232af71bf5-image.png

              Edit I seem to have ballsed something up, i have a path now of /home/stuart/reactor/reactor hang on let me try and fix that.

              1 Reply Last reply
              0
              • cw-kidC Offline
                cw-kidC Offline
                cw-kid
                wrote on last edited by
                #15

                Not sure how I ended up with a reactor folder in the reactor folder. I deleted it.
                It now looks correct and I ran the commands again for the permssions.

                be37bb7d-dfb8-4b60-957d-e543e8ea78d4-image.png

                46bbf45c-a84e-42b7-b45e-fcef80a5d13b-image.png

                However every time I copy the expression file from the PC to the Linux box its 9k in file size. But when I restart MSR it changes that file to be 1k and wipes out all its contents.

                2144a076-86e5-4c08-9017-d253e9881581-image.png

                1 Reply Last reply
                0
                • cw-kidC Offline
                  cw-kidC Offline
                  cw-kid
                  wrote on last edited by cw-kid
                  #16

                  Think I have got it working now!
                  95101eda-401d-4f99-99b3-73b9a97acf55-image.png

                  I ran these commands again logged in as me.

                  cd /home/stuart
                  pkill -QUIT node
                  tar xzvf /home/stuart/reactor-latest-24302-751a06b6.tar.gz
                  sudo systemctl start reactor

                  cd /home/stuart/reactor
                  npm i --no-save --omit dev

                  Will try and figure out how to update nodejs now from 20.x to 22.x.

                  1 Reply Last reply
                  0
                  • cw-kidC Offline
                    cw-kidC Offline
                    cw-kid
                    wrote on last edited by
                    #17

                    It seems nodesource is just out of date and does not have the latest versions of nodejs

                    I tried this command instead and it still only wants to get version v20.18.1 as the latest one.

                    curl -fsSL https://deb.nodesource.com/setup_current.x | -E bash -

                    apt-get install -y nodejs

                    And when I run a "Which node" command its put it in this directory which I don't think is ideal?

                    /usr/bin/node

                    So now sure now the best way to update nodejs.

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

                      Frankly, I wouldn't update. The amount of changes you've made are making your entire system a moving target. You're good until 2026. Leave it alone for now. Get everything else working, and get it stable.

                      In the meanwhile, grab yourself a Pi or something else cheap that can run Linux, and practice. Install versions and get to know where things go and how they are connected together. Upgrade it. Blow it up, wipe it, and do it again until you understand why it blows up. The time you invest will pay you back later when you deal with your "production" system. Sandboxes are a lovely thing. Go play!

                      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
                      • therealdbT Offline
                        therealdbT Offline
                        therealdb
                        wrote on last edited by
                        #19

                        Ah this point, if I was you @cw-kid , I’ll start taking a look at docker. That’s exactly why they built it: to easily install and manage applications. Just backup your docker file and settings and you’ll move in seconds. I have a backup installation always ready on my synology and ready to run in minutes in case of problems.

                        --
                        On a mission to automate everything.

                        My MS Reactor contrib
                        My Luup Plug-ins

                        G 1 Reply Last reply
                        0
                        • therealdbT therealdb

                          Ah this point, if I was you @cw-kid , I’ll start taking a look at docker. That’s exactly why they built it: to easily install and manage applications. Just backup your docker file and settings and you’ll move in seconds. I have a backup installation always ready on my synology and ready to run in minutes in case of problems.

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

                          @therealdb I have the hardware, just haven't had the time yet, to do exactly this.

                          *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 unlocked this topic on
                          • toggledbitsT toggledbits locked this topic on
                          Reply
                          • Reply as topic
                          Log in to reply
                          • Oldest to Newest
                          • Newest to Oldest
                          • Most Votes


                          Recent Topics

                          • DynamicGroupController and attributes
                            therealdbT
                            therealdb
                            1
                            8
                            175

                          • Bail out of failed reaction?
                            T
                            tamorgen
                            0
                            3
                            58

                          • Arming Envisalink panel from MSR
                            T
                            tamorgen
                            0
                            7
                            277

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

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

                          • Upgrade Issues
                            T
                            tbully
                            0
                            9
                            306

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

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

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

                          • Logon screen timeout
                            G
                            gwp1
                            0
                            5
                            218

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

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