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. [Solved]Global Expression with null value and Auto-Evaluation
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
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

[Solved]Global Expression with null value and Auto-Evaluation

Scheduled Pinned Locked Moved Multi-System Reactor
16 Posts 4 Posters 3.0k 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.
  • V Offline
    V Offline
    vezinpi
    wrote on last edited by vezinpi
    #1

    Hi, I am not a software developper so I apologise in advance...
    MSR 20002 Docker on Raspberry PI 4

    I am using MSR and global expressions to control my house humidifier. To calculate the target humidity level, the outside temperature is used within a simple formula.

    From time to time and for short period, the outside temperature, coming from a Hass sensor is showing a value "null" which is screwing up my target level. Ideally, I would like to retain the current value when the OutsideTemp is not available (i.e. null)

    Here are my global expressions to perform this:

    b8f39a70-d602-4adb-8bb5-30276cecc08a-image.png

    OutsideTemp: Simply get the outside temperature (that is the one showing "null" from time to time.
    CurrentHumid: Current house humidity
    CalculatedHumid: This is where the target humidity is calculated. (Used to be 45 + round(OutsideTemp)
    LowHumidity: This is the flag that tell the humidifier to start working.

    CalculatedHumid and LowHumid are use in a rule to update sensor in HASS.
    In addiditon LowHumidity is used in 2 rules to turn the Humidifier on and off.

    At first, I was crashing MSR because CalculatedHumid was auto evaluating constantly. After a couple of attempt I disabled "Auto-Evaluation". From what I can tell, all is working fine which is a bit surprising considering what the documentation says about disabling auto-evaluation.

    2 questions:

    1- Since auto-evaluation is disable, how come the CalculatedHumid is still evaluating when the temperature changes?

    2- Is there a better way to filter out a null value while retaining the previous valid value.

    Thanks

    Using MSR 26177 on Docker, on a Raspberry Pi with Trixie. Home Assistant 2026.08, Z-Wave JS-UI 11.21.1

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

      If you just want it to keep the last value when the device is handing back null, you can use the order of operations to your advantage: the assignment to the variable is the last thing that happens in the evaluation, so if you change OutsideTemp like this:

          getEntity( 'hass>sensor_etc' )?.attributes?.temperature_sensor?.value ?? OutsideTemp
      

      This will do the entity fetch and member accesses (with extra guards), and if the result of that is null, it just returns the current value of OutsideTemp. So as long as the entity fetch clause returns null, the previous temperature value will be saved as the current temperature value.

      Edit: Added an additional guard to the above expression (immediately after the getEntity()'s closing paren).

      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
      1
      • V Offline
        V Offline
        vezinpi
        wrote on last edited by
        #3

        This is a good day. I have learned something again.

        Many thanks for your support.

        Using MSR 26177 on Docker, on a Raspberry Pi with Trixie. Home Assistant 2026.08, Z-Wave JS-UI 11.21.1

        1 Reply Last reply
        2
        • V Offline
          V Offline
          vezinpi
          wrote on last edited by vezinpi
          #4

          @toggledbits I might have celebrated a bit too soon on that one. After doing the change all seemed fine. Tested the null value and a temperature change and all was working as advertised. After a certain time I am getting an error and the container crashes and cannot be re-started. By looking at the container log, I can see some issues with the file sys_alerts.json. Indeed the file is still in the storage folder but has a size of 0 byte and is complety empty. I replaced the empty file by the original one (I keept a copy of all files of the reactor folder after the original install) and was able to restart the container but it eventually crashed again. I changed the OutsideTemp expression back to what is was and I am back to normal. I am in the process of collecting log info and whatever might be relevant to investigate. It does seemed similar to my original problem where the expression is self trigering and get caught in a loop. I will be in and out this week so it may take some time before I get back to you. In the interim here is a screen capture of the error:

          36833887-cd63-44ea-a125-d6b0fb242330-image.png

          Using MSR 26177 on Docker, on a Raspberry Pi with Trixie. Home Assistant 2026.08, Z-Wave JS-UI 11.21.1

          wmarcolinW toggledbitsT 2 Replies Last reply
          0
          • therealdbT Offline
            therealdbT Offline
            therealdb
            wrote on last edited by
            #5

            it's a classic situation of stack overflow. you'd probably just set a value (like "unavailable") on startup and a constraint on the rule. That's what I'm doing anyway for a couple of things that send spurious values from time to time.

            --
            On a mission to automate everything.

            My MS Reactor contrib
            My Luup Plug-ins

            1 Reply Last reply
            0
            • V vezinpi

              @toggledbits I might have celebrated a bit too soon on that one. After doing the change all seemed fine. Tested the null value and a temperature change and all was working as advertised. After a certain time I am getting an error and the container crashes and cannot be re-started. By looking at the container log, I can see some issues with the file sys_alerts.json. Indeed the file is still in the storage folder but has a size of 0 byte and is complety empty. I replaced the empty file by the original one (I keept a copy of all files of the reactor folder after the original install) and was able to restart the container but it eventually crashed again. I changed the OutsideTemp expression back to what is was and I am back to normal. I am in the process of collecting log info and whatever might be relevant to investigate. It does seemed similar to my original problem where the expression is self trigering and get caught in a loop. I will be in and out this week so it may take some time before I get back to you. In the interim here is a screen capture of the error:

              36833887-cd63-44ea-a125-d6b0fb242330-image.png

              wmarcolinW Offline
              wmarcolinW Offline
              wmarcolin
              wrote on last edited by
              #6

              @vezinpi

              In the engine group config (reacotr.yaml), add this parameter:

              update_rate_limit: 300
              

              This solved my problem and did not harm the system at all.

              Thanks.

              toggledbitsT 1 Reply Last reply
              0
              • toggledbitsT Online
                toggledbitsT Online
                toggledbits
                wrote on last edited by toggledbits
                #7

                Can you post all the expressions as you have them now? That's a pretty unusual error message. There's a distinction between evaluation and compilation, and I'm very meticulous about making sure the message reports the right one. The alert shows that the compilation is the problem, which suggests the expression isn't written properly somehow. I need to see what you've got.

                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
                • wmarcolinW wmarcolin

                  @vezinpi

                  In the engine group config (reacotr.yaml), add this parameter:

                  update_rate_limit: 300
                  

                  This solved my problem and did not harm the system at all.

                  Thanks.

                  toggledbitsT Online
                  toggledbitsT Online
                  toggledbits
                  wrote on last edited by toggledbits
                  #8

                  @wmarcolin update_rate_limit has no effect on global variable evaluation, FYI. That's a control/config for rule evaluations. Global variables have no equivalent config value, it's really not needed. I think there's (a) a problem with the expression that's causing a compilation error, and (b) a problem handling the compilation error that's causing the loop/stack overflow. Once (b) is fixed we'll be back to "no rate limiting needed here" status.

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

                  wmarcolinW 1 Reply Last reply
                  1
                  • toggledbitsT toggledbits

                    @wmarcolin update_rate_limit has no effect on global variable evaluation, FYI. That's a control/config for rule evaluations. Global variables have no equivalent config value, it's really not needed. I think there's (a) a problem with the expression that's causing a compilation error, and (b) a problem handling the compilation error that's causing the loop/stack overflow. Once (b) is fixed we'll be back to "no rate limiting needed here" status.

                    wmarcolinW Offline
                    wmarcolinW Offline
                    wmarcolin
                    wrote on last edited by
                    #9

                    @toggledbits ok, understood!
                    Thanks.

                    1 Reply Last reply
                    0
                    • V Offline
                      V Offline
                      vezinpi
                      wrote on last edited by vezinpi
                      #10

                      Here it is, as requested. Getting the logs, standby...

                      523ba299-471f-4675-9a8f-de76622065cf-image.png

                      Using MSR 26177 on Docker, on a Raspberry Pi with Trixie. Home Assistant 2026.08, Z-Wave JS-UI 11.21.1

                      1 Reply Last reply
                      0
                      • V Offline
                        V Offline
                        vezinpi
                        wrote on last edited by vezinpi
                        #11

                        MSR Logs. It is quite long with the middle repeating OutsideTemp so I copied the start and the end. After that it repeats. I did preserved the logs so if you want more let me know.

                        This is how (I think) it started

                        GlobalExpression#CurrentHumid
                        [latest-22002]2022-01-04T17:33:01.558Z Rule:5:813:Rule.js Rule#rule-grpqosf66u Humidifier On requesting eval; expression-state-changed from GlobalExpression#CurrentHumid
                        [latest-22002]2022-01-04T17:33:01.559Z Rule:5:813:Rule.js Rule#rule-grpqoyiumi Humidifier Off requesting eval; expression-state-changed from GlobalExpression#CurrentHumid
                        [latest-22002]2022-01-04T17:33:01.560Z Rule:5:813:Rule.js Rule#rule-kwz0myt1 Low Humidity To Hass requesting eval; data-changed from Data#states:expr-global-CurrentHumid
                        [latest-22002]2022-01-04T17:33:01.561Z Rule:5:1009:Rule.js Rule#rule-kwz0myt1 evaluation in progress; waiting for completion
                        [latest-22002]2022-01-04T17:33:01.562Z Rule:5:813:Rule.js Rule#rule-grpqosf66u Humidifier On requesting eval; data-changed from Data#states:expr-global-CurrentHumid
                        [latest-22002]2022-01-04T17:33:01.563Z Rule:5:1009:Rule.js Rule#rule-grpqosf66u evaluation in progress; waiting for completion
                        [latest-22002]2022-01-04T17:33:01.564Z Rule:5:813:Rule.js Rule#rule-grpqoyiumi Humidifier Off requesting eval; data-changed from Data#states:expr-global-CurrentHumid
                        [latest-22002]2022-01-04T17:33:01.565Z Rule:5:1009:Rule.js Rule#rule-grpqoyiumi evaluation in progress; waiting for completion
                        [latest-22002]2022-01-04T17:33:01.566Z Engine:5:984:Engine.js [Engine]Engine#1 var CurrentHumid changed, evaluating dependent child LowHumidity
                        [latest-22002]2022-01-04T17:33:02.407Z Engine:ERR [Engine]Engine#1: error evaluating expression OutsideTemp: [RangeError]RangeError: Maximum call stack size exceeded
                        [latest-22002]2022-01-04T17:33:02.411Z Engine:ERR [Engine]Engine#1: expression: getEntity( "hass>sensor_ottawa_kanata_orleans_temperature" ).attributes?.temperature_sensor?.value ?? OutsideTemp
                        [latest-22002]2022-01-04T17:33:02.411Z Engine:ERR [Engine]Engine#1: path LowHumidity->CalculatedHumid->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp

                        And this is how it ended

                        OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp->OutsideTemp
                        [latest-22002]2022-01-04T17:33:02.415Z Engine:CRIT RangeError: Maximum call stack size exceeded
                        RangeError: Maximum call stack size exceeded
                        at /opt/reactor/server/lib/Logger.js:434:21
                        at Array.forEach (<anonymous>)
                        at Logger._emit_streams (/opt/reactor/server/lib/Logger.js:428:57)
                        at Logger._emit_streams (/opt/reactor/server/lib/Logger.js:436:71)
                        at Logger._emit_streams (/opt/reactor/server/lib/Logger.js:436:71)
                        at Logger._emit (/opt/reactor/server/lib/Logger.js:423:35)
                        at Logger.err (/opt/reactor/server/lib/Logger.js:452:31)
                        at Engine._eval_expr (/opt/reactor/server/lib/Engine.js:954:57)
                        at Engine._expr_resolve (/opt/reactor/server/lib/Engine.js:1217:38)
                        at _resolve (/opt/reactor/common/lexp.js:1217:35)
                        [latest-22002]2022-01-04T17:33:02.416Z Engine:ERR [Engine]Engine#1: error evaluating expression OutsideTemp: [RangeError]RangeError: Maximum call stack size exceeded
                        [latest-22002]2022-01-04T17:33:02.416Z Engine:ERR [Engine]Engine#1: expression: getEntity( "hass>sensor_ottawa_kanata_orleans_temperature" ).attributes?.temperature_sensor?.value ?? OutsideTemp

                        Using MSR 26177 on Docker, on a Raspberry Pi with Trixie. Home Assistant 2026.08, Z-Wave JS-UI 11.21.1

                        1 Reply Last reply
                        0
                        • toggledbitsT Online
                          toggledbitsT Online
                          toggledbits
                          wrote on last edited by
                          #12

                          OK. I'm busy this afternoon, but will look at it later today.

                          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
                          • toggledbitsT Online
                            toggledbitsT Online
                            toggledbits
                            wrote on last edited by
                            #13

                            OK. I think I have this nailed down. Sorry it took me so long, I was working on an edge case to make sure the system stays in control under the worst of conditions. Is essence, as I suspected, the first issue is that the dependency loop check had an error and wasn't always working. In addition, I've added additional checks for more cases where a loop may evade the first check. Also, the system should remain in control if a loop does sneak by the checks, rather than hanging.

                            Build will be published shortly...

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

                            V 1 Reply Last reply
                            0
                            • V vezinpi

                              @toggledbits I might have celebrated a bit too soon on that one. After doing the change all seemed fine. Tested the null value and a temperature change and all was working as advertised. After a certain time I am getting an error and the container crashes and cannot be re-started. By looking at the container log, I can see some issues with the file sys_alerts.json. Indeed the file is still in the storage folder but has a size of 0 byte and is complety empty. I replaced the empty file by the original one (I keept a copy of all files of the reactor folder after the original install) and was able to restart the container but it eventually crashed again. I changed the OutsideTemp expression back to what is was and I am back to normal. I am in the process of collecting log info and whatever might be relevant to investigate. It does seemed similar to my original problem where the expression is self trigering and get caught in a loop. I will be in and out this week so it may take some time before I get back to you. In the interim here is a screen capture of the error:

                              36833887-cd63-44ea-a125-d6b0fb242330-image.png

                              toggledbitsT Online
                              toggledbitsT Online
                              toggledbits
                              wrote on last edited by
                              #14

                              @vezinpi I've added one additional guard to the expression in the post linked below. You should make that edit as well during your upgrade.

                              https://smarthome.community/post/11053

                              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
                              • toggledbitsT toggledbits

                                OK. I think I have this nailed down. Sorry it took me so long, I was working on an edge case to make sure the system stays in control under the worst of conditions. Is essence, as I suspected, the first issue is that the dependency loop check had an error and wasn't always working. In addition, I've added additional checks for more cases where a loop may evade the first check. Also, the system should remain in control if a loop does sneak by the checks, rather than hanging.

                                Build will be published shortly...

                                V Offline
                                V Offline
                                vezinpi
                                wrote on last edited by
                                #15

                                @toggledbits said in Global Expression with null value and Auto-Evaluation:

                                OK. I think I have this nailed down. Sorry it took me so long

                                You have nothing to be sorry about. Being aware of a potential issue, evaluating the problem, developping a solution and posting a new version in the same day, is really remarquable and almost unheard of now a day.

                                Thanks you for your dedication.

                                Using MSR 26177 on Docker, on a Raspberry Pi with Trixie. Home Assistant 2026.08, Z-Wave JS-UI 11.21.1

                                1 Reply Last reply
                                2
                                • V Offline
                                  V Offline
                                  vezinpi
                                  wrote on last edited by
                                  #16

                                  Installed the new version yesterday along with the new guard and all is still fine this morning. Considering that it was failing very quickly before, I consider that issue fixed.

                                  Using MSR 26177 on Docker, on a Raspberry Pi with Trixie. Home Assistant 2026.08, Z-Wave JS-UI 11.21.1

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


                                  Recent Topics

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

                                  • Arming Envisalink panel from MSR
                                    T
                                    tamorgen
                                    0
                                    7
                                    265

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

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

                                  • DynamicGroupController and attributes
                                    therealdbT
                                    therealdb
                                    1
                                    5
                                    153

                                  • Upgrade Issues
                                    T
                                    tbully
                                    0
                                    9
                                    290

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

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

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

                                  • Logon screen timeout
                                    G
                                    gwp1
                                    0
                                    5
                                    216

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

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