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. Reactor logic talk
Oddness in Copy/Move of Reactions
G
Topic thumbnail image
Multi-System Reactor
[Solved] function isRuleEnabled() issue
CrilleC
Topic thumbnail image
Multi-System Reactor
[Reactor] Problem with Global Reactions and groups
therealdbT
Topic thumbnail image
Multi-System Reactor
Possible feature request 2?
CatmanV2C
Just another thought. Adding devices from my Home Assistant / Zigbee2MQTT integration. Works perfectly but they always add as their IEEE address. Some of these devices have up to 10 entities associated, and the moment they are renamed to something sensible, each of those entities 'ceases to exist' in MSR. I like things tidy, and deleting each defunct entity needs 3 clicks. Any chance of a 'bulk delete' option? No biggy as I've pretty much finished my Z-wave migration and I don't expect to be adding more than 2 new Zigbee devices Cheers C
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
Copying a global reaction
tunnusT
With build 25328, if you copy a global reaction, a new reaction does not appear in the UI unless you do a refresh. I recall this used to work without needing this page refresh? Anyway, only a minor nuisance.
Multi-System Reactor
[Reactor] Bug when sending MQTT boolean payloads
therealdbT
Topic thumbnail image
Multi-System Reactor
Difficulty defining repeating annual period
R
I have tried numerous ways to define a recurring annual period, for example from December 15 to January 15. No matter which method I try - after and before, between, after and/not after, Reactor reports "waiting for invalid date, invalid date. Some constructs also seem to cause Reactor to hang, timeout and restart. For example "before January 15 is evaluated as true, but reports "waiting for invalid date, invalid date". Does anyone have a tried and true method to define a recurring annual period? I think the "between" that I used successfully in the past may have broken with one of the updates.
Multi-System Reactor
Need help with sequence
T
Good evening all, For about the past week or so, I've been having problems with a specific rule in my home automation that controls when my home goes from an Away mode to Home mode. One of the conditions it checked for was my alarm panel, when it changed from Armed Away to Disarmed. There seems to have been a firmware update on the panel that added an intermittent step of "pending", and I can't say for certain it happens 100% of the time. Is there a way to write a condition that so it changes from one condition, to the next, and then another condition? As in, Home alarm changes from armed_away to pending to disarmed. Thanks.
Multi-System Reactor
Possible feature request?
CatmanV2C
No idea how easy this would be. During my migration away from Z-wave I've been replacing the Z-wave devices with Sonoff which has broken some of my automations. Any chance of a 'Test Reaction' function to call out which ones are broken because an entity no longer exists? Without actually running the reaction? Or does this exist already and I'm just not aware of how to do it? Obviously I can see entities that are no longer available, but not quite what I'm looking for. I guess it's something of an edge case so no huge issue. TIA! C
Multi-System Reactor
Logic Assistance: Exterior Lights on when Illuminance Below Threshold
PablaP
Topic thumbnail image
Multi-System Reactor
Time series documentation
tunnusT
Is the current manual (incl. examples) up to date with how retention value is handled in time series configuration? Referring to this post
Multi-System Reactor
MQTT templates for ZIgbee scene controller, or a better way?
CatmanV2C
Topic thumbnail image
Multi-System Reactor
Reset a delay
CatmanV2C
I'm sure this has been asked, and answered, but damned if I can figure it out Use case: I have a rear garden with lights. A door from the kitchen into the garden and a door from the garage. Currently if I open the kitchen door the lights come on (yay) and a 3 minute delay starts. After 3 minutes, no matter what else happens, the lights go off (Boo! But also yay!) What I would like is for the 3 minute delay until the lights go off to start from the latest door open event. That is, if I'm going from kitchen to garage, and back again, the lights stay on until there's three minutes of no activity. I've tried 'hacking' with a virtual switch, but can't seem to stop the delay. Any pointers? TIA C
Multi-System Reactor
Reactor Loading Screen Safari
S
Topic thumbnail image
Multi-System Reactor
Constraints states visually do not match actual
S
Topic thumbnail image
Multi-System Reactor
[MSR] Feature request: For Each action on arrays/groups
therealdbT
Topic thumbnail image
Multi-System Reactor
[Solved] Error: Command timeout
G
at _ClientAPI._commandTimeout (http://192.168.1.100:8111/client/ClientAPI.js:807:179 Seeing this randomly when returning to open browser tab after being away awhile. Once, maybe twice a day. "What did you do to trigger it?" Literally nothing, just walked away and returned and there it was. Actions taken in reasonably close proximity to this particular instance of it popping up: I'd restarted the MSR container in Portainer. I'll try to grab some logs here shortly.
Multi-System Reactor
Issue with MSR UI becoming unresponsive
S
I'm having an issue with MSR's UI being very unresponsive. It started happening a couple days ago and I didn't make any changes that would have caused this except adding some meross lan devices in HA. When I go into an entity action and use the search functionality, it usually will start filtering and then get to a place after a few letters are entered where it will take 30 seconds or more (sometimes minutes) for the UI to show what I am typing. During this time MSR ui is completely unresponsive. I've tried multiple browsers and multiple computers. HA and MSR are both deployed in docker. I have run HTOP on the host and when the problem happens there are no CPU/Memory spikes at all. From a functionality standpoint MSR is working perfectly. This seems to be an UI issue only. Do i need to ditch Docker and run MSR on a Proxmox VM? I have both stand alone Docker and Proxmox environments. I dont mind doing that I just want to be able to use the UI again... Installation method Home Assistant Container Core 2025.7.3 Frontend 20250702.3 nothing crazy in the logs except some openweather map stuff that doesn't make any sense as it is working fine in MSR Any help would be greatly appreciated Reactor latest-25328-b2ed1365 app 25328 configuration from /var/reactor/config NODE_PATH /opt/reactor:/opt/reactor/node_modules [latest-25328]2025-11-30T20:01:53.843Z <app:null> Reactor build latest-25328-b2ed1365 starting on v24.11.1 /usr/local/bin/node [latest-25328]2025-11-30T20:01:53.844Z <app:null> Process ID 1 user/group 0/0; docker; platform linux/x64 #161-Ubuntu SMP Tue Jul 22 14:25:40 UTC 2025; locale (undefined) [latest-25328]2025-11-30T20:01:53.844Z <app:null> Basedir /opt/reactor; data in /var/reactor/storage [latest-25328]2025-11-30T20:01:53.844Z <app:null> NODE_PATH=/opt/reactor:/opt/reactor/node_modules [latest-25328]2025-11-30T20:01:53.865Z <app:null> Resolved timezone=America/New_York, environment TZ=America/New_York; offset minutes from UTC=-300 [latest-25328]2025-11-30T20:01:53.867Z <default:null> Module i18n v25141 [latest-25328]2025-11-30T20:01:53.867Z <app:null> Configured locale (undefined); selected locale(s) en-US.UTF-8 [latest-25328]2025-11-30T20:01:53.879Z <app:null> Loaded locale en-US for en-US [latest-25328]2025-11-30T20:01:53.879Z <app:null> Local date/time using configured timezone and locale formatting is "11/30/2025, 3:01:53 PM" [latest-25328]2025-11-30T20:01:53.889Z <Structure:null> Module Structure v25326 [latest-25328]2025-11-30T20:01:53.890Z <Capabilities:null> Module Capabilities v24312 [latest-25328]2025-11-30T20:01:53.904Z <Plugin:null> Module Plugin v25141 [latest-25328]2025-11-30T20:01:53.923Z <Timer:null> Module Timer v25279 [latest-25328]2025-11-30T20:01:53.924Z <TimerBroker:null> Module TimerBroker v25314 [latest-25328]2025-11-30T20:01:53.927Z <Entity:null> Module Entity v25251 [latest-25328]2025-11-30T20:01:53.929Z <Controller:null> Module Controller v25253 [latest-25328]2025-11-30T20:01:53.930Z <AlertManager:null> Module AlertManager v25318 [latest-25328]2025-11-30T20:01:53.937Z <default:null> Module Ruleset v25283 [latest-25328]2025-11-30T20:01:53.937Z <default:null> Module Rulesets v25141 [latest-25328]2025-11-30T20:01:53.942Z <GlobalExpression:null> Module GlobalExpression v25258 [latest-25328]2025-11-30T20:01:53.953Z <Predicate:null> Module Predicate v25328 [latest-25328]2025-11-30T20:01:53.956Z <Rule:null> Module Rule v25323 [latest-25328]2025-11-30T20:01:53.958Z <GlobalReaction:null> Module GlobalReaction v25292 [latest-25328]2025-11-30T20:01:53.959Z <Engine:null> Module Engine v25325 [latest-25328]2025-11-30T20:01:53.964Z <httpapi:null> Module httpapi v25328 [latest-25328]2025-11-30T20:01:53.972Z <wsapi:null> Module wsapi v25328 [latest-25328]2025-11-30T20:01:53.994Z <TaskQueue:null> Module TaskQueue 24138 [latest-25328]2025-11-30T20:01:53.994Z <VeraController:null> Module VeraController v25141 [latest-25328]2025-11-30T20:01:54.179Z <HassController:null> Module HassController v25325 [latest-25328]2025-11-30T20:02:13.797Z <OWMWeatherController:null> Module OWMWeatherController v25268 [latest-25328]2025-11-30T20:02:13.800Z <SystemController:null> Module SystemController v25323 [latest-25328]2025-11-30T20:02:13.807Z <MQTTController:null> Module MQTTController v22092 [latest-25328]2025-11-30T20:02:20.630Z <OWMWeatherController:CRIT> FetchError: request to https://api.openweathermap.org/data/2.5/weather?lat=xxxxxxxxxx&lon=-xxxxxxxxx&appid=xxxxxxxxxxxxxxxxxxxxxxxxxx&units=standard&_r=1xxxxxxxxxxxxxxfailed, reason: [-] FetchError: request to https://api.openweathermap.org/data/2.5/weather?lat=xxxxxxxxxxx&lon=-xxxxxxxxxxxxxxxxxx&appid=xxxxxxxxxxxxxxxxxxx&units=standard&_r=xxxxxxxxxxxxxxxfailed, reason: at ClientRequest.<anonymous> (/opt/reactor/node_modules/node-fetch/lib/index.js:1501:11) at ClientRequest.emit (node:events:508:28) at ClientRequest.emit (node:domain:489:12) at emitErrorEvent (node:_http_client:108:11) at TLSSocket.socketErrorListener (node:_http_client:575:5) at TLSSocket.emit (node:events:508:28) at TLSSocket.emit (node:domain:489:12) at emitErrorNT (node:internal/streams/destroy:170:8) at emitErrorCloseNT (node:internal/streams/destroy:129:3) at processTicksAndRejections (node:internal/process/task_queues:89:21
Multi-System Reactor
Date/time condition
tunnusT
Topic thumbnail image
Multi-System Reactor

Reactor logic talk

Scheduled Pinned Locked Moved Multi-System Reactor
14 Posts 3 Posters 1.6k 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.
  • PerHP Offline
    PerHP Offline
    PerH
    wrote on last edited by
    #5

    hmm.. but if I have "turn off night lights" in the IsFALSE, and the light is manually turned on (in day mode - more light) after this condition is True and night light is on, it will turn them back off immediately..

    A bit difficult to explain properly, but in essence i need a way to interrupt this automation on manual input..

    1 Reply Last reply
    0
    • LibraSunL Offline
      LibraSunL Offline
      LibraSun
      wrote on last edited by
      #6

      No, don't put any of your "Turn off" actions in the isFALSE. Put something else (a Comment may even suffice?), anything that won't impact this workflow negatively. So long as isFALSE is non-empty, it will behave as I've described above... effectively truncating the isTRUE Activity the moment the Reactor's AND group goes false (e.g. when wife turns on any light).

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

        Generally, using delays in activities isn't going to get you where you are going, I find.

        Most people want the lights to go on when motion is sensed, but to remain on until motion has not been sensed for some period of time. That's a two-part problem that you can solve in one step in Reactor.

        Let's ignore the time of day component and just focus on the motion for a moment. If you just have a condition to check if the motion sensor is tripped, it will be true when the sensor signals tripped, and reset to false when the motion sensor untrips. So it's pretty clear, you can use that true edge to turn on the lights. The way you get the delay for the off is by using a "delay reset" option on the condition. The delay reset option lets you hold the condition in true state for a period of time after the underlying test has gone false. If you set the reset delay to the amount of time you want the lights to be on in response to motion, and have the false activity turn the light off, then the light will go on when the motion sensor trips, and then at some point after the motion sensor untrips, the delay will kick in and leave the lights alone until the delay expires, and at that point, the condition goes false, the false activity runs (or reset reaction in MSR) and the light goes out. An additional effect of the delay reset option is that if there are several tripped-untripped transitions from the motion sensor during the delay period, indicating someone is still moving about in the sensor's path, the delay is extended, so it's a convenient way to make sure the lights don't just blindly go off after 30 seconds while someone is still standing in the room.

        de628b26-10b1-4460-84d5-a078410d3966-image.png

        To get the time of day restriction, depends on whether you are doing it in Reactor for Luup (which seems to be what's in the screenshots), or MSR (this category).

        • For Reactor for Luup: I would wrap the motion condition in a group, then add the date/time condition as a sibling to the group. Then open condition options for the group, and set the "Condition must occur after" to the date/time condition.
        • For MSR: The motion sensor condition and option goes into Triggers, and the date/time condition goes into Constraints (no option needed).

        Here's what that looks like in Reactor for Luup:

        065f30e3-ca1c-4853-a468-f8727a7ea5bf-image.png

        Note the above screen shot is showing the condition options for the group containing the motion sensor condition. The motion sensor condition itself is not shown because the options are open for display/edit.

        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
        • PerHP Offline
          PerHP Offline
          PerH
          wrote on last edited by PerH
          #8

          Having good logic sometimes depend on wether what you want to do is smart. 😉
          This may be one where i save myself some hassle by just delaying from untrip, as suggested. Thanks.

          Didn't know that an the False action would interfere with/stop the execution of True group, is that a fact in MSR as well?

          I took the liberty to discuss the old reactor in this forum, as i'm suspended from the forum for that one. 😉 This thread is however for reactor logic in general, but i realise there may be different approaches in the two..

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

            Yes, same in both. The reason is this: if you have the set reaction do something, often the reset reaction is used to undo it. Having both running at the same time, which could happen otherwise, may lead to undesirable effects.

            On Reactor for Luup, you can add a separate group and check to see if your main logic group is false, and if so, run its activities. Since these actions are in a separate group, they are not pre-empted.

            In MSR, you make a rule to see if the main rule is false, and have its reaction do what it needs to. Same effect.

            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
            • PerHP Offline
              PerHP Offline
              PerH
              wrote on last edited by
              #10

              Makes sense, by all means.

              another thing, the "double trigger" I have in my example was something i got from a thread on the other forum, but the result would be the same with one "changes from 0 to 1" right? that would also just be true in one instance?

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

                Yeah, that double-trigger probably stems from a misunderstanding of how Reactor works. Reactor acts on changes, not states. So if you have a trigger that checks temperature >= 50, and it goes 49... 50... 51... it will of course go true at 50, and that's when action happens, because the trigger state changes from false to true at that point, but when the temperature goes from 50 to 51, the result of the test is still as true at 51 as it was at 50, so that's no change in state, so no action.

                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
                • PerHP Offline
                  PerHP Offline
                  PerH
                  wrote on last edited by
                  #12

                  I've now taken this one over to MSR, and one part of the problem is still not solved. The Constraints i have is not time of day, its wether someone turned the lights on in the room. This may happen when the motion trigger have been set, and that means that it will turn the lights off at reset, which at this point have been turned on to stay on..

                  I think i may have to go back to having the actions in the "set" category, with the delay, in order to be able to intervene the "reset" of the motion sensor state?

                  One other option is to have another rule for "night light Off", and evaluate Off separately..

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

                    I would choose opposing rules over delays. I think the topic of handling "manual on" is well-covered in the other forums. The gist is that you can do a little work with an expression variable to track whether the light is being turned on because the switch itself is changing state when there's no motion detection (manual mode), or if motion is detected when the switch is off (automatic mode).

                    It does have a caveat though: there's little chance of consistent success if the switch used to turn the lights on manually is in the detection area of the motion sensor, as this usually means the motion sensor sees you before you get to the switch, so the automatic on is already happening before you touch it.

                    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
                    • PerHP Offline
                      PerHP Offline
                      PerH
                      wrote on last edited by
                      #14

                      It works well now with separate rules for on and off, where "OFF" has the same constraints as "ON", and "OFF" has "ON"-rule changes to false as trigger.

                      Now, the autolight (which turns on a very low dimming level) turn on, and if someone manually turns the light on at this point, the light goes to the dimming level chosen.
                      (In this case its not the switch connected to one light that is pressed, its a virtual switch that turns on multiple lights.)

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


                      Recent Topics

                      • Oddness in Copy/Move of Reactions
                        G
                        gwp1
                        0
                        1
                        37

                      • [Solved] function isRuleEnabled() issue
                        CrilleC
                        Crille
                        0
                        4
                        52

                      • [Reactor] Problem with Global Reactions and groups
                        therealdbT
                        therealdb
                        0
                        3
                        72

                      • Possible feature request 2?
                        CatmanV2C
                        CatmanV2
                        0
                        3
                        53

                      • Reactor (Multi-System/Multi-Hub) Announcements
                        toggledbitsT
                        toggledbits
                        5
                        133
                        79.7k

                      • Genuinely impressed with Zigbee and HA / Reactor
                        CatmanV2C
                        CatmanV2
                        1
                        9
                        360

                      • Copying a global reaction
                        toggledbitsT
                        toggledbits
                        0
                        3
                        105

                      • [HowTo] Using HABridge with Reactor
                        CatmanV2C
                        CatmanV2
                        0
                        9
                        425

                      • [Reactor] Bug when sending MQTT boolean payloads
                        toggledbitsT
                        toggledbits
                        0
                        4
                        158

                      • Difficulty defining repeating annual period
                        G
                        gwp1
                        0
                        5
                        129

                      • Need help with sequence
                        therealdbT
                        therealdb
                        0
                        3
                        80

                      • Possible feature request?
                        therealdbT
                        therealdb
                        0
                        5
                        190
                      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