Navigation

    Discussion Forum to share and further the development of home control and automation, independent of platforms.

    SmartHome Community

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Unsolved
    (Last Updated: October 15, 2021)
    • Adding remotes, scene controllers as entities to MSR

      A

      EDIT: 2022.07.01

      So I will try to remake this thread to some kind of guide for future use, or in worst case a documentation of my failure. At least that could also be useful for letting someone know what didn't work...
      I have zero knowledge of programming, so every time I need to edit a config file in HomeAssistant or similar it requires a good portion of googletime and read, re-reading instructions.
      Also is english not my native language, so bear with me.

      Two goals!
      1: Get MSR to take notice (and then actions of course) of pressed buttons on remotes.
      2: Document what I do in hope I can help someone else in the future.

      I will use a Fibaro Keyfob as described below, but what I understand from Togglebits answers most type of remotes should work in similar ways.

      Original thread:
      Fibaro Keyfob support in MSR? (thru Hassio & Z-wave JS)
      Hi

      I just bought a Fibaro Keyfob FGKF-601 and plan to give this to my son so he can control some stuff in his own room. Primary some lightning and Sonos, maybe blinds in the future.

      As the noob I am it will, of course, not work as I expected.👶🏻

      The remote handle 1x, 2x, 3x clicks per button (six of them) and "release button"
      I thought that it would appear like some "scene controller" in HA and that I could make Rules in MSR depending on what scene-entety that was triggered.
      So is not the case, and if that is because of HA, Z-wave JS or MSR I have no idea.
      I found a HA Blueprint that works in HA, but of course I would prefer to keep all automation in MSR.
      I guess a workaround could be using HA virtual switches "Helpers" that I suppose will come up as an on/off trigger in MSR, but before going this way I would like to check with the wisdom of your guys if there is a better way of doing this.

      I am using:
      MSR 22168 on windows.
      Home Assistant Core 2022.6.7
      Home Assistant Supervisor 2022.05.3
      Home Assistant OS 7.6
      Z-Wave JS version: 0.1.64

      Multi-System Reactor
    • Constraints under triggers or under constraints, what is the difference?

      A

      Need to ask, have thougth about this since the move from Rector to MSR I think.

      What is the difference between putting constraints under trigger groups, like this
      23b4a249-3292-41cd-9927-7f49c9bf1d07-image.png

      Compared to this similar rule, but the time limits is under contraints instead?
      ee596c9f-f52b-4a39-9605-f5932f3d9ed5-image.png

      I think the Constraints parts in manual is still to be done because I can only find in the chapter menu, but it is not mentioned anywhere else.

      Multi-System Reactor
    • The Home Remote with MSR

      MikeReadington

      Did anyone do/start any work on a full integration with The Home Remote application yet?

      Multi-System Reactor
    • Condition must occur after -restriction not working

      tunnus

      Running MSR 22123 in Docker container and trying to use "condition must occur after" option. Will update to the latest build and log a PR if needed, but wanted to poll first if anyone is using this option successfully?

      I have the following rules:

      Screenshot 2022-06-28 at 15.18.50.png

      Notification activity connected to "Alarm disabled" rule did not trigger. I also did another test with quite simple rules and that didn't work either (FWIIW - when observing that test in "real-time", I didn't see any timer running on the second rule while the first rule was true).

      As said, before going further with debug/logs, nice to know if someone is using this option/restriction (successfully).

      Multi-System Reactor
    • Reactor (Multi-System/Multi-Hub) Announcements

      toggledbits

      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
    • [Solved] Changes in 22178 for HASS sensor no longer provide a value in topic "value", MQTTController echo capability

      Crille

      Before updating to 22178 there was a primary value echoed in MQTTControllers echo capability, can I tell the controller which value to put as primary from HASS sensors after this change as it now is null? or is it a bug?

      I have not changed the

      primary_attributes: true

      mqtt_value.PNG

      Reactor latest-22178 bare metal
      Hass 2022.6.7

      Edit: Solved in build 22179

      Multi-System Reactor
    • Using InfluxDB with MSR

      wmarcolin

      Hi!

      I have a system that I consider pretty stable, running in a VM Ubuntu 20.04, it has some communication failures, but I think more by HE than by the OS/MSR.

      I'm thinking of taking the next step to get more advantages from the system, and I'm thinking of using InfluxDB maybe for queries or to extend rules.

      The question is, I would like practical examples of what really helps to install InfluxDB? What would you be doing that really makes a difference with this installation? Can you post examples of features or information?

      Thanks

      Multi-System Reactor
    • git hub docker container not available?

      Black Cat

      @toggledbits - what now?

      Re: Cheapest platform on which to run MSR

      21aaf68e-c031-414d-847d-d8bec01d57e7-Clipboard01.jpg

      Multi-System Reactor
    • Synology NAS docker image replacement

      MikeReadington

      Hi Everyone,

      MSR had a docker image file naming convention change, and I am not exactly sure how to swap the image out. I'm sure it's not rocket science, I've just never done this before.

      I am using a Synology NAS, and under the environment tab there is a "REACTOR_IMAGE" variable. Can I just change the image name to the new image naming convention and clear the container, or should I launch a new container and populate the volume location from the previous reactor?

      Thanks in advance

      Multi-System Reactor
    • Cheapest platform on which to run MSR

      T

      Please can anyone give me advice on a cheap way to run MSR (both initial cost and ongoing electricity cost). I currently run it on my QNAP network drive (which works very well incidentally). However, this draws a constant 35Watts (£90/yr @ 30p/kWh) and given the recent rise in fuel costs I am evaluating the best way forwards. Note, I only really need to turn my QNAP on for an hour a week to back-up my computer data. I understand that MSR can run on a Raspberry PI, but I am not competent with Linux! Thanks.

      Multi-System Reactor
    • Copying configuraiton and rules from QNAP install to Raspberry PI 4 install

      T

      I have made good progress setting up a new Raspberry PI 4 with the latest OS (64bit) and latest Reactor images in Docker. However I am not able to copy my configuraiton files (.yml) and reactor reactions over. I am not yet that confident with linux commands, so I have tired to drag and drop the files from a USB drive to the working folders in my new Raspberry PI. I am getting a popup in the GUI stating 'The file operation was completed with errors.' and Errors occured: "rule-xxxxxx.json: Error opening file "/home/pi/reactor/....................................json":Permission denied.

      I suspect it's something to do with permissions?

      Is there an easier way to copy my configuration over??

      Multi-System Reactor
    • Alexa TTS via Home Assistant?

      T

      Hello All -

      I'm gradually moving away from Vera to Home Assistant. I've recently gotten the Alexa and Mini Media Player setup in Home Assistant and everything is working well.

      Is there a way to call this service from Reactor? My goal is to send TTS requests to HAAS upon certain events within Reactor (e.g. "Front Door Opened")

      Multi-System Reactor
    • Integrate UPS with MSR

      wmarcolin

      I have a Tripp-Lite UPS (https://www.tripplite.com/smartpro-lcd-120v-1500va-900w-line-interactive-ups-avr-tower-lcd-usb-10-outlets~smart1500lcdt) that connected by a USB cable to my computer, reports various power supply and failure information, as shown in the panel below.

      b9f0ea34-d654-4b26-b968-4f8cf0a4e0c1-image.png

      afa73913-5318-42c6-af9a-02d36e2e6ea1-image.png

      The application I installed runs Java and opens the console to send the information.

      Has anyone tried to bring the information into the MSR? Or even a VeraPlus?

      Thanks.

      Multi-System Reactor
    • Reactor as tab in Hass sidebar

      Matohl

      panel_iframe in configuration.yaml. If you access MSR with HTTP it works in HA with HTTP to Reactor and HTTPS to HTTPS obviously.

      configuration.yaml

      # ============ SIDEBAR ============ panel_iframe: reactor: title: "Reactor" url: "http://192.168.0.23:8111/reactor/sv-SE/"
      Multi-System Reactor
    • Documentation>Network Status

      S

      It appears that in the Manual, under Management>Network Status is for Reactor on Vera. Is the Internet check functionality available with MSR and if so is there updated instructions? I do see a variable reactor_system.internet.ok but the value is null.
      I am looking for a way to check for internet status with MSR before installing an extra app on a hub to get the information.

      Synology Docker latest-22149

      Multi-System Reactor
    • MSR Upgrade from 22119 to 22136 fails, service wont start

      W

      Windows Server 2022 Build 20348
      Nodejs v16.14.0
      Currently running Reactor (Multi-hub) stable-22119-ae7212f
      Linked to Hass 2022.0.5.4 (on a different box)
      Windows server is dedicated to MSR and doesn't do anything else.

      I'd like to upgrade to 22136 to take advantage of the SSL feature added recently, and also to bring my current version of Hass into the 'supported' column with MSR.

      Following the instructions here: link text, section "Upgrade Windows Bare Metal"

      Stop Reactor Service Extract the zip, overwriting the reactor folder in c:\reactor\reactor There is no package-lock.json file so I skip that. Run "npm install --no-save --omit dev"

      Next step is to start the service. I start the service and it immediately stops. "Windows could not start the Reactor service on Local Computer. Error 1067: The process terminated unexpectedly".

      Tried rebooting, service won't stay running.

      I suspect I'm missing something, it's probably obvious but I've not been able to figure it out.

      I rolled back the reactor folder version (Windows Shadow copies) and then the service starts fine.

      Anyone else running Windows and know what I'm missing?

      Tail of log file from running OK version, before upgrade attempt [stable-22119]2022-06-01T22:20:19.081Z <Rule:INFO> Lounge Billy Ambient Lighting - Turn On (Rule#rule-l0ki453b) evaluation complete [stable-22119]2022-06-01T22:20:19.082Z <httpapi:NOTICE> HTTP API v1 22021 base URL http://172.16.128.6:8111; listening [stable-22119]2022-06-01T22:20:19.228Z <app:NOTICE> HTTP server running; registering proxy endpoints. [stable-22119]2022-06-01T22:20:19.228Z <app:NOTICE> Starting WSAPI... [stable-22119]2022-06-01T22:20:19.229Z <wsapi:NOTICE> wsapi: starting version 21334 [stable-22119]2022-06-01T22:20:19.656Z <Engine:INFO> [Engine]Engine#1 master timer tick, local time "6/2/2022, 8:20:19 AM" (TZ offset 600 mins from UTC) [stable-22119]2022-06-01T22:27:54.788Z <wsapi:INFO> wsapi: connection from ::ffff:172.16.128.5 Tail of log file from failed to start after upgrade (is identical, ii.e. nothing has been appended to it) [stable-22119]2022-06-01T22:20:19.081Z <Rule:INFO> Lounge Billy Ambient Lighting - Turn On (Rule#rule-l0ki453b) evaluation complete [stable-22119]2022-06-01T22:20:19.082Z <httpapi:NOTICE> HTTP API v1 22021 base URL http://172.16.128.6:8111; listening [stable-22119]2022-06-01T22:20:19.228Z <app:NOTICE> HTTP server running; registering proxy endpoints. [stable-22119]2022-06-01T22:20:19.228Z <app:NOTICE> Starting WSAPI... [stable-22119]2022-06-01T22:20:19.229Z <wsapi:NOTICE> wsapi: starting version 21334 [stable-22119]2022-06-01T22:20:19.656Z <Engine:INFO> [Engine]Engine#1 master timer tick, local time "6/2/2022, 8:20:19 AM" (TZ offset 600 mins from UTC) [stable-22119]2022-06-01T22:27:54.788Z <wsapi:INFO> wsapi: connection from ::ffff:172.16.128.5 reactor.wrapper.log (log file the failed to start event points to) 2022-06-02 08:19:23 - Stopping reactor.exe 2022-06-02 08:19:23 - ProcessKill 3628 2022-06-02 08:19:25 - Shutdown exception Message:A system shutdown is in progress. Stacktrace: at System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) at System.Management.ManagementScope.InitializeGuts(Object o) at System.Management.ManagementScope.Initialize() at System.Management.ManagementObjectSearcher.Initialize() at System.Management.ManagementObjectSearcher.Get() at winsw.WrapperService.GetChildPids(Int32 pid) at winsw.WrapperService.StopProcessAndChildren(Int32 pid) at winsw.WrapperService.StopIt() at winsw.WrapperService.OnShutdown() 2022-06-02 08:20:11 - Starting C:\Program Files\nodejs\node.exe C:\reactor\reactor\node_modules\node-windows\lib\wrapper.js --file C:\reactor\reactor\app.js --scriptoptions= --log "Reactor wrapper" --grow 0.25 --wait 1 --maxrestarts 3 --abortonerror n --stopparentfirst undefined 2022-06-02 08:20:11 - Started 3272 2022-06-02 08:30:54 - Stopping reactor.exe 2022-06-02 08:30:54 - ProcessKill 3272 2022-06-02 08:30:54 - Found child process: 3280 Name: conhost.exe 2022-06-02 08:30:54 - Found child process: 3504 Name: node.exe 2022-06-02 08:30:54 - Stopping process 3280 2022-06-02 08:30:54 - Send SIGINT 3280 2022-06-02 08:30:54 - SIGINT to 3280 failed - Killing as fallback 2022-06-02 08:30:54 - Stopping process 3504 2022-06-02 08:30:54 - Send SIGINT 3504 2022-06-02 08:30:54 - SIGINT to 3504 failed - Killing as fallback 2022-06-02 08:30:54 - Stopping process 3272 2022-06-02 08:30:54 - Send SIGINT 3272 2022-06-02 08:30:54 - SIGINT to 3272 failed - Killing as fallback 2022-06-02 08:30:54 - Finished reactor.exe 2022-06-02 08:33:41 - Starting C:\Program Files\nodejs\node.exe C:\reactor\reactor\node_modules\node-windows\lib\wrapper.js --file C:\reactor\reactor\app.js --scriptoptions= --log "Reactor wrapper" --grow 0.25 --wait 1 --maxrestarts 3 --abortonerror n --stopparentfirst undefined 2022-06-02 08:33:41 - Started 4184 2022-06-02 08:36:57 - Starting C:\Program Files\nodejs\node.exe C:\reactor\reactor\node_modules\node-windows\lib\wrapper.js --file C:\reactor\reactor\app.js --scriptoptions= --log "Reactor wrapper" --grow 0.25 --wait 1 --maxrestarts 3 --abortonerror n --stopparentfirst undefined 2022-06-02 08:36:57 - Started 3100 Windows event log event: Child process [4184 - C:\Program Files\nodejs\node.exe C:\reactor\reactor\node_modules\node-windows\lib\wrapper.js --file C:\reactor\reactor\app.js --scriptoptions= --log "Reactor wrapper" --grow 0.25 --wait 1 --maxrestarts 3 --abortonerror n --stopparentfirst undefined] finished with 1
      Multi-System Reactor
    • [Solved] suninfo.period "night" and rule trigger for sunset are at different times

      Crille

      I'm just curious, what's the difference between suninfo.period changing from "day" to "night" vs "after sunset" with no offset?
      suninfo.period changes to "night" 7 minutes and 33 seconds before "after sunset" is triggered in my latest-22149 bare metal setup.

      Multi-System Reactor
    • Status page rule history length.

      MikeReadington

      Hello Patrick,

      On the status page rule history is there any adjustably on length of the history shown? I had an occasion where it would have been helpful to go a few notches farther back than it does as currently configured.

      I don't know if this is a log parser or if it is a separate smaller data set. If it is a log parser, any chance for maybe something like a "more" button?

      Thanks,
      Mike

      Multi-System Reactor
    • [Solved] New device on Ezlo is not added in Reactor

      Crille

      I can't find any posts or reference in docs for this log message

      <EzloController:NOTICE> EzloController#ezlo received notice of new device, but auto-rediscover is OFF; ignoring

      I've restarted MSR and hard refreshed browser but the new entity is not added. Can I set auto-rediscover to ON or how do I get the new device added into Reactor?

      Edit:
      Bare metal latest-22142
      The device is a Xiaomi Mini Switch, it's publishing correct values in ezmqtt.

      Edit 2: The Xiaomi Aqara Mini Switch is now mapped in build 22149.

      Multi-System Reactor
    • Disk Warning on Multisystem Reactor

      S

      334ccd7a-9499-4dea-8a4a-2347609dce62-image.png

      For the life of me I cannot figure this out.
      when I run the du -hs command (from the host) for the mapped volume I get 25M
      (/home/seth/ReactorConfig maps to /var/reactor)

      Inside the container I ran du -hs for each of the folders that the ui is complaining about
      /opt/reactor = 71.2M
      /var/reactor/storage = 2.9M
      /var/reactor/logs = 17.6M

      If I run df on the docker container I get this. Disk space is not critical
      1f5d230c-0792-468b-b3b7-9f45e31581c5-image.png

      What gives?

      Multi-System Reactor
    For those who registered but didn't received the confirmation email, please send an email to support@smarthome.community with the email you used

    Logic loop? Throttling...

    Multi-System Reactor
    2
    11
    160
    Loading More Posts
    • 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.
    • wmarcolin
      wmarcolin last edited by

      Hi Patrick! @toggledbits

      I don't remember before version 21277 receiving this kind of message.

      dbea16f0-39f8-475a-bee8-8899069f2db3-image.png

      This is in the log, this warning appears hundreds of times, every 1 second it repeats.

      [latest-21281]2021-10-10T16:13:46.107Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
      [latest-21281]2021-10-10T16:13:46.482Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
      [latest-21281]2021-10-10T16:13:46.835Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...

      As you can see, the rule that has generated this warning is run on demand at 10am, where the information is loaded into local variables, and then I use it to send the information by Telegram, only once a day.

      5d55901a-bcbe-4cd6-8989-01d7a0ff9c67-image.png

      I started using this matchEntities() instruction recently when it was made available, and I see you have been making recent adjustments. Wouldn't this situation of continuing to evaluate be related?

      I will turn the rule off, so as not to generate this situation that surely damages the functioning of the MSR, and I look forward to your comments please.

      Thanks

      1 Reply Last reply Reply Quote 0
      • toggledbits
        toggledbits last edited by

        Update to 21281. It would be great if everyone would make sure they are on the latest release before reporting problems.

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

        wmarcolin 1 Reply Last reply Reply Quote 0
        • wmarcolin
          wmarcolin @toggledbits last edited by

          @toggledbits master I am already with version 21281, the error started at 21277.

          7b2ad594-81c0-4d52-9844-9d10e6b1da57-image.png

          1 Reply Last reply Reply Quote 0
          • toggledbits
            toggledbits last edited by toggledbits

            Sigh. Sorry, I'm running fast today... way too fast, much on my plate.

            So looking at what you've done... I would not do it this way. Put those expressions in the variables they are meant to manipulate.

            Also, your matchEntities() for BatterySensor, you should not include level. That is an attribute of the capability battery_power, and since we're matching capabilities, it won't match anything and creates needless work. You can list capabilities here, but not attributes. All attributes of the capability come with the capability. Same for FaultSensor: remove failed; it's an attribute, not a capability.

            And please, when posting log snippets, showing me just the error is one line away from showing me nothing. I need to see several dozen lines from before the error for context.

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

            wmarcolin 1 Reply Last reply Reply Quote 0
            • wmarcolin
              wmarcolin @toggledbits last edited by

              @toggledbits master, as you instructed, I believe this is the correct way to do it, and apparently, the error is gone.

              067eabd9-a914-43c2-be57-b2b210d46741-image.png

              Thanks!

              1 Reply Last reply Reply Quote 0
              • toggledbits
                toggledbits last edited by toggledbits

                LOL! OK. Yes, this is better structure-wise. It is much less efficient to use SetVariable to accomplish what is effectively the same as putting the expressions on the variables as you have now done.

                I did replicate your prior structure on my system to try it out, but I was unable to replicate the throttling. Nonetheless, I think I understand why it would have happened... and I'm guessing you have significantly more devices on your system than I have on my development system (maybe, I've got about 100 across the four hubs I use for development). I can see why it would throttle, I just could not make it do it. Nonetheless, I'm going to see what I can do about preventing it, based on my assumption about how it happened for you.

                Another thing... mentioned in another thread is a small step up you could take in efficiency in BatteryMSG: you are doing getEntity() twice on the same ID. You can improve on that by using a temporary variable inside the loop to store the getEntity() result, and use that temporary variable in the string assembly:

                join( each id in BatteryLow: do
                    e = getEntity( id ),
                    e.name + " " + int( e.attributes.battery_power.level * 100 ) + "%"
                done, ', ' )
                

                The do...done block looks like a single expression to each. The result of a do...done block is the result of the last expression executed within it. That block contains two expressions, the first being the e = getEntity() which does the lookup and stores the value in a temporary variable, and the second which uses the temporary variable to build the result string for the entity. This saves you the cycles looking up the same entity twice.

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

                wmarcolin 1 Reply Last reply Reply Quote 0
                • wmarcolin
                  wmarcolin @toggledbits last edited by wmarcolin

                  @toggledbits hi my friend!

                  The warning message has appeared again.

                  5f36db72-ab37-4b81-aff7-532ede046146-image.png

                  Looking at the log, it is not an error, this message appears several times intermittently, only being interrupted when another action occurs.

                  [latest-21281]2021-10-12T13:30:35.222Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
                  [latest-21281]2021-10-12T13:32:10.561Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
                  [latest-21281]2021-10-12T13:32:10.695Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
                  [latest-21281]2021-10-12T13:32:11.054Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
                  [latest-21281]2021-10-12T13:32:12.810Z Rule:INFO Internal Motion (Rule#rule-kpq9tnbr) SET!
                  [latest-21281]2021-10-12T13:32:22.152Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
                  [latest-21281]2021-10-12T13:33:15.364Z Rule:INFO Internal Motion (Rule#rule-kpq9tnbr) RESET!
                  [latest-21281]2021-10-12T13:33:55.112Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
                  [latest-21281]2021-10-12T13:34:29.630Z Rule:INFO Internal Motion (Rule#rule-kpq9tnbr) SET!
                  [latest-21281]2021-10-12T13:35:27.808Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
                  [latest-21281]2021-10-12T13:35:40.960Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
                  [latest-21281]2021-10-12T13:35:41.809Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
                  [latest-21281]2021-10-12T13:35:50.185Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...

                  Here is another cut of the log, 45 minutes later the warnings follow.

                  [latest-21281]2021-10-12T14:16:04.876Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
                  [latest-21281]2021-10-12T14:16:05.201Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...
                  [latest-21281]2021-10-12T14:16:05.389Z Rule:WARN Rule#rule-ku32lfti (Warning (93) Devices) update rate 61/min exceeds limit (60/min)! Logic loop? Throttling...

                  I will stop the task again, I am concerned, even though a safe warning is consuming MSR processing.

                  A topic that catches my attention. The action is scheduled to run on my schedule from 8:00am to 8:05am (-5), and because it is a local variable, it should not be updated outside this time, is my understanding.

                  If it is a global variable, the update is recurrent, because it is active 24 hours, now why is an action with a defined time, and local variable still being executed in a loop?

                  toggledbits 1 Reply Last reply Reply Quote 0
                  • toggledbits
                    toggledbits @wmarcolin last edited by toggledbits

                    @wmarcolin said in Logic loop? Throttling...:

                    A topic that catches my attention. The action is scheduled to run on my schedule from 8:00am to 8:05am (-5), and because it is a local variable, it should not be updated outside this time, is my understanding.

                    That's incorrect. Any changes to a watched device will cause the rule to re-evaluate. The first step in re-evaluating the rule is re-evaluating all of the rule's expressions; only after that are the conditions then evaluated, because the conditions may reference the rule's variables. This is documented behavior. So given that you may be doing a getEntity() on several dozen, or hundred, devices, you are making that rule subject to re-evaluation any time any of those devices changes, for any reason. Reactor does not "see through" to the attribute you are eventually referring to; it does not and could not (reasonably) do that.

                    To reduce the evaluation rate of the rule, you'd have to make your expressions global. There is (currently) no throttling on the evaluation of global expressions, and they evaluate/update much faster than rules. I suggest you move all of your expressions that perform getEntity() on the result of matchEntities() into global expressions; specifically, I mean BatterySensor which creates the battery-operated device array, and BatteryLow which checks and evaluates (using getEntity()) the battery level of each matching device in BatterySensor, and BatteryMSG which builds the text from BatteryLow. You can then use an Expression Value condition in your rule to check the value of BatteryMSG for a non-empty string. This will be the most efficient setup for the potentially large number of devices these expressions have to sift through.

                    The same method should be applied to FaultSensor and its progeny.

                    I would also update to 21286.

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

                    wmarcolin 1 Reply Last reply Reply Quote 0
                    • wmarcolin
                      wmarcolin @toggledbits last edited by

                      @toggledbits ok master, I will download version 21286, move these expressions to global variables, and come back tomorrow after operating 24 hours with the changes.

                      I really worry about not having actions that are exhaustively generating processing.

                      1 Reply Last reply Reply Quote 0
                      • toggledbits
                        toggledbits last edited by toggledbits

                        When you train a rule or expression on a large number of devices, you're going to get activity when those devices change, and that can be a lot. There's more activity than you know, normally. Not everything gets logged at the default level. 21286 does contain a bit more logging.

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

                        wmarcolin 2 Replies Last reply Reply Quote 0
                        • wmarcolin
                          wmarcolin @toggledbits last edited by

                          @toggledbits your suggestion worked perfectly!!

                          With the version updated to 21286, moving all rules to the Global variable, the warnings ended, and I can see in the log that the action started to be invoked only at the given times, and the variable update as Global occurs only when there is an effective change in the device.

                          Great knowledge exercise and one more lesson from you.

                          Thanks @toggledbits !

                          1 Reply Last reply Reply Quote 0
                          • Locked by  toggledbits toggledbits 
                          • First post
                            Last post

                          Welcome. If you’d like to participate in the discussion, rather than just read, then you can join the forum. As a member, you can interact with others here to share your experience and ask the questions you need answered.

                          Powered by NodeBB | Contributors
                          Hosted freely by PointPub Media Communications Inc. | Contact us