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: December 16, 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

    [SOLVED] Will Pulse work for retrying a ruleset if the device hasn't responded as expected

    Multi-System Reactor
    2
    26
    246
    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.
    • G
      gwp1 last edited by gwp1

      I've read and reread the docs re Pulse and am running about 50/50 on thinking I understand it AND that it will work for my needs.

      Scenario: Honeywell API gets cranky and doesn't like taking temp change posts for both upstairs and downstairs stats reliably. I've created "correction" rulesets.

      pulse-1.png

      At each trigger I've put in Conditions to basically check for the expected match. In this scenario, the temp should be 58 and the stat mode heat. If either one of those criteria aren't met, the correction ruleset kicks off.

      pulse-2.png

      Sometimes, though, the retry doesn't take, either, on the first attempt. This is where Pulse and I need to be better acquainted. My goal here is to have the first retry happen and if it fails have the Pulse see the conditions still as true and, after waiting a bit, retry up to three more times.

      pulse-3.png

      I haven't checked logs yet to see if they support my theory that this isn't working - esp hard to nail down this time of year as the weather has the temps going all over the place to the house HVAC goes from heat to neutral to cooling and back again all thru the day.

      Hubitat C-7 2.3.0.124, Home Assistant 2022.2.9, MSR on RPi4 bare metal Model B 2GBs latest-22168-5ab4d6c2

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

        Seems like you're on the right track. Repeating commands when states aren't what they are supposed to be is definitely one application for pulsed output, and I use it that way myself (like you, I have devices controlled by hit-and-miss cloud APIs). I also use it on my router's power switch -- if the Internet is down for more than a certain period, it begins power cycling the router at intervals to attempt recovery.

        On your "Down" group, if the conditions have the same "sustained for" timing, then the timing could be done on the group rather than individual conditions within it -- makes things a little tidier to maintain in the long run.

        Looks good to me!

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

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

          @toggledbits I thought about putting that at the group level but then wondered if it would require both to trigger so I went more granular.

          Hubitat C-7 2.3.0.124, Home Assistant 2022.2.9, MSR on RPi4 bare metal Model B 2GBs latest-22168-5ab4d6c2

          1 Reply Last reply Reply Quote 1
          • G
            gwp1 @toggledbits last edited by gwp1

            @toggledbits I'm admitting to some confusion. Shouldn't I see the Upstairs trigger that's showing "65", which is "<>60", blinking green and showing the count-up timer showing how much of the 300 secs are remaining?

            Screen Shot 2021-12-12 at 10.48.45 PM.png

            The trigger is true, 65 is not 60 and, as such, should fire off the 300 second period where it waits for that condition to change. If it doesn't, then the Reaction should run and, if that fails, the Pulse kicks in to refire the Reaction a couple three times.

            What am I missing?

            Hubitat C-7 2.3.0.124, Home Assistant 2022.2.9, MSR on RPi4 bare metal Model B 2GBs latest-22168-5ab4d6c2

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

              It depends and when and how you are doing this. After doing a lot of editing, and in particular where you may be saving along the way as you make changes, things can get into states that they would not be in once the logic edits are finished and all the timing options are applied. That's why there's a "reset" button for the rule... to clear out all the state and start it fresh. Recommended.

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

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

                @toggledbits I think i figured it out AND something else to boot.

                So to the ask above, I happened to catch it running this morning. I'm used to basing on "if the thing should be true but it's false" in my trigger AND doing so at the individual condition level (vs group which you recommended I try - and I have.) Setting at the group level means the status timer shows in the group bar, not at the individual condition level like I was used to.

                Now on to something I did notice that is, in reality, the reason it appears like this isn't working...

                My scenario:
                Multiple HVAC rulesets per mode, ie Heat sans Night, Heat at Night, Neutral, Cooling sans Night, Cooling at Night. Three Arm For rulesets drive which one should be sending to the Honeywell API based on outdoor temps from the wx station. Works like a champ.

                The course correction rulesets, however, don't turn on and off - they're constantly looking to see if the conditions are met or not, even if that mode isn't the active one. Example, the Neutral correction ruleset is still "running" even if the house is actually in Heating sans Night.

                The pulse is to provide back-up to the initial correction because sometimes Honeywell just isn't ready yet when the correction first runs. Works brilliantly... except, I've noticed that the pulse is just continuing to run if I leave it at 0 (as expected, unmetered retries). I can set it to a count, that's fine - but the count runs out due to running even when that mode isn't active creating a scenario wherein there are no more pulses/retries when that mode IS active.

                THIS is why it appears not to be working - it's run itself out even when not on active duty, if you will.

                This is the Neutral correction ruleset. Right now the house is in Heating sans Night because Arm For Heating is active, Arm For Neutral and Arm For Cooling are not. You'll see the conditions set to true are correct, the temps are not 58 - obviously, because the heat is set to 68 downstairs, 65 upstairs. However, this is making the correction ruleset run unnecessarily which, if my thinking is right, means it's wasting CPU/memory/etc. and may be hitting the API (though I've seen no burst of green around the ruleset to show me it is running.)

                Untitled.png

                Make sense?

                Hubitat C-7 2.3.0.124, Home Assistant 2022.2.9, MSR on RPi4 bare metal Model B 2GBs latest-22168-5ab4d6c2

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

                  @gwp1 said in Will Pulse work for retrying a ruleset if the device hasn't responded as expected:

                  Make sense?

                  Not a bit. Sorry. What am I look at/for?

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

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

                    @toggledbits I guess first thing, am I correct in that the pulse running on the rulesets is wasting system resources if those rulesets aren't "eligible" for running?

                    Trying to think how to rephrase this... ALL of the correction rulesets are running all the time if I implement 0 pulse. If I implement metered pulse then they run themselves out and when they're needed they're already done.

                    These are the Arm For rulesets:

                    1.png

                    Only one "runs" at a time, obviously, triggering one of these rulesets:

                    1a.png

                    If, due to the aforemented API hit-or-miss sometimes, one of these runs but doesn't get accepted by the API then the appropriate correction runs:

                    2.png

                    My issue seems to be that all of the corrections are running all of the time if I enable pulse at 0. If I meter the pulse then they run X times and are done - and when the time comes for them to really run, they're spent already.

                    If the pulse running isn't putting an unnecessary load on the system, then I'll set them to 0 and leave it be. So... are they?

                    Hubitat C-7 2.3.0.124, Home Assistant 2022.2.9, MSR on RPi4 bare metal Model B 2GBs latest-22168-5ab4d6c2

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

                      @gwp1 said in Will Pulse work for retrying a ruleset if the device hasn't responded as expected:

                      I guess first thing, am I correct in that the pulse running on the rulesets is wasting system resources if those rulesets aren't "eligible" for running?

                      No. That's not the case. Unless the underlying condition is true, no pulse train is running. Nothing is happening. I come from the days of room-filling million-dollar computers with 256K (yes, K) of RAM. I don't like wasted cycles. 🙂

                      What is true is that whatever the state of the current pulse may be when it is active is not changed by you editing the rules/condition options at the same time. It is not until the current pulse expires that your new pulse rules will take effect. So if you have a condition that is active right now in the middle of a 120 second pulse, and you edit the timing down to 15 seconds, that 120 second pulse is going to finish; it will not be cut short, it will not stop. When it finishes, the next pulse after will be on your new timing. Likewise, if it's timing a break and the underlying condition is still true, the break timing will finish.

                      This is why I say, you have to reset the rule after editing it. Your earlier screen shot clearly shows a condition where you edited in the middle of a 120 second pulse break, going from 0 repeats back to 3, and the 120 second pulse break timer is still running. The rule reset function is provided for exactly this circumstance -- to dump existing states and timers. If you don't do the reset, you're going to see really confusing results as Reactor finishes what it was doing before it starts to follow your new instructions.

                      And if the pulse is "running all the time" then there is a true state on your logic to make it do that. It does not run otherwise.

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

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

                        @toggledbits The first sentence I can totally wrap my head around 🙂

                        The last sentence is what's driving this. If you look at the correction ruleset you'll see it's kinda backward from normal in that the trigger is when something is NOT a certain temp or HVAC mode. This results in it always being in a true state as other rulesets are in effect.

                        Different words:
                        When Heating or Cooling rulesets are controlling things, Neutral correction shows true - because it is. This results in pulse always running (or, if metered, running out of retries.)

                        Hubitat C-7 2.3.0.124, Home Assistant 2022.2.9, MSR on RPi4 bare metal Model B 2GBs latest-22168-5ab4d6c2

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

                          I see what you're getting at. That's simply a problem with your condition structure. The inner groups can't know how any enclosing groups are going to interpret their output, so of course the pulses run, as well they should -- you've told them to. If that's not what you want, a slight restructure of your logic fixes that.

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

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

                            @toggledbits Def not what I want but it's the direct path. "If after running Neutral the conditions don't match, run the correction."

                            Hubitat C-7 2.3.0.124, Home Assistant 2022.2.9, MSR on RPi4 bare metal Model B 2GBs latest-22168-5ab4d6c2

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

                              @gwp1 said in Will Pulse work for retrying a ruleset if the device hasn't responded as expected:

                              Def not what I want but it's the direct path. "If after running Neutral the conditions don't match, run the correction."

                              I'm not sure what that means.

                              I think all you need to do is create an enclosing group, put all of the conditions/subgroups, including the Rule State condition, into it, and then move the pulse configuration to that upper enclosing group, removing it from the interior groups. The Rule State condition will then gate the pulse train.

                              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 Reply Quote 0
                              • G
                                gwp1 @toggledbits last edited by

                                @toggledbits So this took a major rewrite, esp for the Neutral because you could be going from Heat to Neutral, from Cooling to Neutral, and back again. The goal here, now, is to have it so that something must go true and there are far more options to cover than triggering on something going false. This is what I've arrived at - a second+ set of eyes on my work would be appreciated.

                                new.png

                                new2.png

                                I stared at it 'til I'm cross-eyed!

                                Hubitat C-7 2.3.0.124, Home Assistant 2022.2.9, MSR on RPi4 bare metal Model B 2GBs latest-22168-5ab4d6c2

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

                                  I'm thinking still not right. The group with the pulse output needs to be a wrapper group for EVERYTHING else, including the Rule State condition, to my way of looking at it.

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

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

                                    @toggledbits Like this:

                                    new3.png

                                    What's the reasoning behind bumping that up one more level?

                                    Hubitat C-7 2.3.0.124, Home Assistant 2022.2.9, MSR on RPi4 bare metal Model B 2GBs latest-22168-5ab4d6c2

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

                                      Yes, I think this is closer to what you really want. This keeps the pulses from firing unless the Rule State condition is also true, so that you can (again) use the limited count of pulses, because pulses won't be firing unless all of the conditions AND the rule state are all true. That is, pulses will only happen when the devices aren't set properly for "Neutral" (for a while) and Neutral is the active mode.

                                      You also have to think about your "sustained for" timing. That is also done in the interior, meaning it is done irrespective of whether the Neutral mode is active or not, and that, too, is probably not what you want. The effect is that your correction will fire immediately if the Neutral conditions haven't been met for a while at the time the system is switched into Neutral mode. I imagine you actually want a delay there, since it probably takes a couple of seconds for the transition into Neutral mode to make the round trip through the cloud and devices and be reported back. You need to give it a chance to work/catch up. A simple fix there is to simply add a sustained for delay to the Rule State (is Neutral active) condition, so your logic overall becomes "if the mode has been Neutral for at least 300 seconds and the devices haven't been set properly for at least 300 seconds".

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

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

                                        @toggledbits HA, funny you bring that last part up because the sun has gone down so the system races thru Neutral to Heating as the temps drop quickly. I did notice the 300 seconds was being ignored, seemingly, and the correction fired on the heels of the change.

                                        I did move the 300 seconds up to the next group level. Since UP and Down both are sub-groups within the larger group I thought it made sense to raise that a level - do correct me if I'm wrong here.

                                        Looking into the tweak you noted in your response.

                                        Hubitat C-7 2.3.0.124, Home Assistant 2022.2.9, MSR on RPi4 bare metal Model B 2GBs latest-22168-5ab4d6c2

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

                                          @gwp1 said in Will Pulse work for retrying a ruleset if the device hasn't responded as expected:

                                          I thought it made sense to raise that a level - do correct me if I'm wrong here.

                                          This is a good rule of thumb. Well done!

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

                                          G 1 Reply Last reply Reply Quote 1
                                          • G
                                            gwp1 @toggledbits last edited by

                                            @toggledbits QQ, all of these 300 second sustains... they're working concurrently, not consecutively, yes?

                                            Hubitat C-7 2.3.0.124, Home Assistant 2022.2.9, MSR on RPi4 bare metal Model B 2GBs latest-22168-5ab4d6c2

                                            1 Reply Last reply Reply Quote 0
                                            • 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