Skip to content
  • Categories
  • Recent
  • Tags
  • Popular
  • Unsolved
Collapse
Discussion Forum to share and further the development of home control and automation, independent of platforms.
  1. Home
  2. Software
  3. Multi-System Reactor
  4. [SOLVED] 'not in' being ignored latest-22240-3b3254d6
Gradually turn on lights.
Tom_DT
I have several lights that I would like to turn on very gradually over 15 or 20 seconds. from 0 to .25 in .01 increments. I have tried a few things that came nowhere near working, so here I am.
Multi-System Reactor
Stop the MSR by an external switch on Hubitat.
wmarcolinW
Use case: When performing home maintenance, such as air conditioning, I want all rules involving air conditioning to be disabled. To do this, to day, I have a virtual switch that I placed within all rules involving air conditioning, meaning that if I turn it off, none of them work. Then another situation: the water pump system and garden irrigation, another switch. In short, I had to create several virtual switches in Hubitat to disable rules in MSR. Unfortunately, however, I was unable to cover all scenarios, so I wondered if it would be possible for MSR to support a virtual MSR switch, which, when configured in the reactor settings, would function as a general on/off switch for MSR. If it is configured and turned off, the entire rules and actions in MSR stops working, except for the status change reading process, specifically for this switch, which, when turned on, would restart the MSR. Would it be possible to do something like this? Any recommendations from the experts?
Multi-System Reactor
Error After Upgrade
T
Topic thumbnail image
Multi-System Reactor
Reset attribute value of entity in event handler
R
Topic thumbnail image
Multi-System Reactor
Need help figuring out how to delay a reset on reaction
T
Topic thumbnail image
Multi-System Reactor
Way to search for rules (rule state) in other rules
T
@toggledbits, not sure if this is a feature request or I'm using the search tool wrong. You have a "Search for rule" in the Rules Set tab in MSR. It works nicely to find a rule and bring up said rule, but can it/could it be used for as a "where used?" global search? For instance, I have a fairly large set of rules, divided up into 10 different rulesets. There's easily a hundred individual rules, and many of the rules have Rule State triggers, which of course refer to other rules. Amongst my troubleshooting today, I came across what may have been a duplicate or troubleshooting attempt, but I can't tell if it's actually used as a Rule State in another rule without opening each rule that I suspect it may be a part of. Thanks.
Multi-System Reactor
Links to MSR from HA
Tom_DT
I am using Home Assistant a lot recently. On a dashboard showing the devices, I would like to show a link to the MSR rule that controls the devices. Is there a way to link directly into MSR?
Multi-System Reactor
Set Reaction > Script Action
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Errors after updating to MQTTController build 25139
tunnusT
I'm running MSR build 25139 on Docker, using MQTT controller 24293, and everything working as expected. But if I try to upgrade to MQTTController build 25139, I'm getting the following errors on MSR UI: An Entity Attribute condition in "Lay-Z-Spa auto heating off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.god Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa auto heating off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute temperature_sensor.green Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa filter pump auto off" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute temperature_sensor.red Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa filter pump auto run" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.pump Last 11:20:37 An Entity Attribute condition in "Lay-Z-Spa watchdog" (Terrace) failed because the referenced entity "Lay-Z-Spa States" (mqtt>layzspa_states) does not have attribute value_sensor.status Last 11:20:37 My MQTT configuration (local_mqtt_devices.yaml) for the related entity is: layzspa_message: type: ValueSensor capabilities: ["temperature_sensor", "value_sensor", "power_sensor"] primary_attribute: power_sensor.value events: "layzspa/message": "power_sensor.value": json_payload: true if_expr: '! isnull( payload?.PWR )' expr: "float(payload.PWR)" "value_sensor.air": json_payload: true if_expr: '! isnull( payload?.AIR )' expr: "float(payload.AIR)" "value_sensor.pump": json_payload: true if_expr: '! isnull( payload?.FLT )' expr: "float(payload.FLT)" "value_sensor.god": json_payload: true if_expr: '! isnull( payload?.GOD )' expr: "float(payload.GOD)" "value_sensor.lock": json_payload: true if_expr: '! isnull( payload?.LCK )' expr: "float(payload.LCK)" "value_sensor.unit": json_payload: true if_expr: '! isnull( payload?.UNT )' expr: "float(payload.UNT)" "value_sensor.error": json_payload: true if_expr: '! isnull( payload?.ERR )' expr: "float(payload.ERR)" "temperature_sensor.green": json_payload: true if_expr: '! isnull( payload?.GRN )' expr: "float(payload.GRN)" "temperature_sensor.red": json_payload: true if_expr: '! isnull( payload?.RED )' expr: "float(payload.RED)" "temperature_sensor.target": json_payload: true if_expr: '! isnull( payload?.TGT )' expr: "float(payload.TGT)" "temperature_sensor.value": json_payload: true if_expr: '! isnull( payload?.TMP )' expr: "float(payload.TMP)" "temperature_sensor.virtual": json_payload: true if_expr: '! isnull( payload?.VTM )' expr: "round(float(payload.VTM), 1)" "temperature_sensor.ambient": json_payload: true if_expr: '! isnull( payload?.AMB )' expr: "float(payload.AMB)" "layzspa/Status": "value_sensor.status": if_expr: '! isnull( payload )' expr: "payload" "layzspa/button": "value_sensor.button": if_expr: '! isnull( payload )' expr: "payload" and in reactor.yaml I have: "layzspa_states": name: "Lay-Z-Spa States" friendly_name: 'Lay-Z-Spa States' include: layzspa_message I realize my MQTT configuration might be a bit unorthodox, but could there still be something unintentional in the latest MQTTController build? If needed, I can provide detailed logs.
Multi-System Reactor
🎉 My very first MSR controller: OpenSprinkler
therealdbT
Since today is my birthday - and I still pretend to be unconventional - I'm giving away a present to this wonderful community and I'm releasing my first OpenSprinkler controller for MSR. It was real fun to code it - and while it's still WIP, it seems to work OK for me. It's polling-based at the moment, but I'll add support for updates via MQTT very soon (it's already partially coded). Get it at (install is similar to MQTTController and such): https://github.com/dbochicchio/reactor-opensprinkler Feel free to try it. It's beta software, but it's stable. I'll update it weekly until all the tasks from my todo list are empty. Since I've learnt a lot from this controller, I'll explore new controllers soon.
Multi-System Reactor
Advice reqeusted to migrate MSR from Bare Metal to Container
T
Good day all, I'm in the process of trying to shut down my 10 year old Linux home server that served many purposes, but primarily it's what I used for my NAS/Plex Media server. I migrated the NAS aspect of the server in November of last year to a true NAS solution (Ubiquti UNAS Pro), which is rack mount and much more efficient than my old tower, which it's only side benefit was heating my home office during the winter. Unfortunately it also means heating my home office during the summer, which were about to be in full swing. I have two things running on this 10 year old server at this point. MSR and pi-hole. I'm running Plex Media Server on Fedora Workstation in Podman on mini PC, which is much more energy efficient than my old tower. My next step is to migrate MSR. I know there are images of MSR out there, and creating it is well documented. I'm going to be using Podman instead of Docker for various reasons, but they work very similar. What I don't know, is what I need to do to migrate my existing Bare Metal installation over to a container. Has anyone done this? Any advice?
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
Can´t restart or upgrade/deploy MSR
F
Topic thumbnail image
Multi-System Reactor
[Solved] Limit HA Entity in MSR
wmarcolinW
Topic thumbnail image
Multi-System Reactor
Organizing/ structuring rule sets and rules
R
Hi guys, Just wondering how you guys organize your rule sets and rules. I wish I had an extra layer to have some more granularity, but my feature request was not popular. Maybe there are better ways to organize my rule sets. I use the rule sets now primarily for rooms. So a rule set per room. But maybe grouping by functionality works better. Any examples/ suggestions would be appreciated.
Multi-System Reactor
Moving MSR from a QNAP container to RP 5 - some issues
Tom_DT
Topic thumbnail image
Multi-System Reactor
Widget deletion does not work and landing page (status) is empy
M
Topic thumbnail image
Multi-System Reactor
Need help reducing false positive notifications
T
Topic thumbnail image
Multi-System Reactor
Deleting widgets
tunnusT
Hopefully a trivial question, but how do you delete widgets in a status page? Using build 22266
Multi-System Reactor
MQTT configuration question
tunnusT
I have the following yaml configuration in local_mqtt_devices file x_mqtt_device: set_speed: arguments: speed: type: str topic: "command/%friendly_name%" payload: type: json expr: '{ "fan": parameters.speed }' While this works fine, I'm wondering how this could be changed to "fixed" parameters, as in this case "fan" only accepts "A", "Q" or a numeric value of 1-5?
Multi-System Reactor

[SOLVED] 'not in' being ignored latest-22240-3b3254d6

Scheduled Pinned Locked Moved Multi-System Reactor
27 Posts 5 Posters 2.2k Views 5 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.
  • G gwp1

    Aaaaaaand it just flipped to ‘Evening’ and I’m very def still Away.

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

    I've pulled logs and screenshots and will upload what I can once laptop is finished syncing files.

    toggledbitsT 1 Reply Last reply
    0
    • G gwp1

      I've pulled logs and screenshots and will upload what I can once laptop is finished syncing files.

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

      @gwp1 Also I will need all of your storage folder, and a complete description of the problem with enough specifics ("it changed" -- what is "it"? And how did it change and why is that not right? And the time of the event to correlate to the logs) and how each of the rules and reactions involved is intended to work. Full logs. No snips. Screenshots as well.

      I will PM an upload link here for you shortly.

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

        @gwp1 Also I will need all of your storage folder, and a complete description of the problem with enough specifics ("it changed" -- what is "it"? And how did it change and why is that not right? And the time of the event to correlate to the logs) and how each of the rules and reactions involved is intended to work. Full logs. No snips. Screenshots as well.

        I will PM an upload link here for you shortly.

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

        @toggledbits Uploaded.

        "It" refers to Mode.

        The ruleset for AWAY is based on presence. Day and Evening have their rulesets which govern their use and both include the exception of Away which was not being honored since I deployed 22240 (but had been previously as these rulesets are older.)

        I've begun looking at them in earnest to see if there's fat that could be trimmed as they are very restrictive in my attempt to avoid false triggering of presence which opens the garage door.

        Day should be from sunrise and/or alarm clock time to sunset.
        Evening should be from sunset until 0130 ET, Night mode enablement (manual) or, if Away, 2330 ET.
        Away should be any time presence is not detected by Home Assistant plugin iCloud3.

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

          Got your files. I need timestamps for what you want me to look at.

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

          1 Reply Last reply
          0
          • toggledbitsT Away
            toggledbitsT Away
            toggledbits
            wrote on last edited by toggledbits
            #14

            I went on a quick fishing expedition to see if I could bulk search out anything obvious.

            Unfortunately, your storage doesn't completely sync with your logs. There are IDs for rules logged that don't exist in storage. If you've been editing/restructuring rules trying to solve this since the last time you caught the problem, that could cause this. So my comment below may reflect what I'm seeing before those edits, but nonetheless...

            Preliminary review of the logs shows that your "Away" logic triggers your "Day" logic and causes a house mode change. At 23:16:30.474Z the system received notification from Hubitat of a house mode change to Away. This appears to be stimulated by a global reaction called "Mode:
            Away" a few milliseconds earlier. This causes the evaluation of large number of rules. It is about two seconds before that reaction completes, having set a global variable as its last step at 23:16:32.162. Among the activities in that span of time is that a rule called "Day (from Away if before sunset)" (which I don't have in your storage, so I can't examine it) goes set, and its Set reaction starts the global reaction called "Mode: Day", which then sets the Hubitat mode to Day (and that event makes a round trip back to Reactor at 23:16:32.514 causing other changes). That's a bit suspicious. Shouldn't it stay in Away? It seems like Away would be an overriding mode?

            Anyway, at the moment, I'm saying that "not in" works fine, and you have a logic error/unexpected interaction. There appear to be a lot of complex interactions between several reactions that are run by the rules, and I suspect you have things stomping on each other. You may also be able to see this in the Rule History and Reaction History widgets in the status view. And of course, you can always confirm the current mode Reactor thinks the system is in by looking at the Mode entity, and comparing that value to the "current value" in the status for various rules.

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

              I went on a quick fishing expedition to see if I could bulk search out anything obvious.

              Unfortunately, your storage doesn't completely sync with your logs. There are IDs for rules logged that don't exist in storage. If you've been editing/restructuring rules trying to solve this since the last time you caught the problem, that could cause this. So my comment below may reflect what I'm seeing before those edits, but nonetheless...

              Preliminary review of the logs shows that your "Away" logic triggers your "Day" logic and causes a house mode change. At 23:16:30.474Z the system received notification from Hubitat of a house mode change to Away. This appears to be stimulated by a global reaction called "Mode:
              Away" a few milliseconds earlier. This causes the evaluation of large number of rules. It is about two seconds before that reaction completes, having set a global variable as its last step at 23:16:32.162. Among the activities in that span of time is that a rule called "Day (from Away if before sunset)" (which I don't have in your storage, so I can't examine it) goes set, and its Set reaction starts the global reaction called "Mode: Day", which then sets the Hubitat mode to Day (and that event makes a round trip back to Reactor at 23:16:32.514 causing other changes). That's a bit suspicious. Shouldn't it stay in Away? It seems like Away would be an overriding mode?

              Anyway, at the moment, I'm saying that "not in" works fine, and you have a logic error/unexpected interaction. There appear to be a lot of complex interactions between several reactions that are run by the rules, and I suspect you have things stomping on each other. You may also be able to see this in the Rule History and Reaction History widgets in the status view. And of course, you can always confirm the current mode Reactor thinks the system is in by looking at the Mode entity, and comparing that value to the "current value" in the status for various rules.

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

              @toggledbits What you described is exactly what I was experiencing - I'm reviewing some rulesets now. I think, over time, I've overcomplicated things due to false positives in presence detection. I miss Lobo lol

              What still doesn't make sense is how this was working fine until 22240 dropped in. Unless something way downstream of this was impacted by 22240 and that ran itself back upstream resulting in my experience.

              Thanks for looking at this - I'm going to begin a top>down review.

              toggledbitsT 1 Reply Last reply
              0
              • G gwp1

                @toggledbits What you described is exactly what I was experiencing - I'm reviewing some rulesets now. I think, over time, I've overcomplicated things due to false positives in presence detection. I miss Lobo lol

                What still doesn't make sense is how this was working fine until 22240 dropped in. Unless something way downstream of this was impacted by 22240 and that ran itself back upstream resulting in my experience.

                Thanks for looking at this - I'm going to begin a top>down review.

                toggledbitsT Away
                toggledbitsT Away
                toggledbits
                wrote on last edited by
                #16

                @gwp1 Changes in 22240 were really limited, and not related to Engine work at all. I think it's more likely you had a race condition between conflicting rules, and the upgrade changed the timing of the race. That can be complicated by the performance of the hub (i.e. variances in how fast it responds to requests), etc. Keep in mind that when you have a reaction start another reaction, they both run at the same time; the starter doesn't wait for the started to finish. And further, there's no guaranteed order to which resumes if both delay to the same instant in time. Unlike Reactor for Vera, which was pretty single-threaded because of the way the Lua API worked there, MSR is very asynchronous and concurrent.

                One structure that can help concentrate logic into more viewable/manageable blocks is something like this:

                82c51832-e3fc-406b-95ac-0f214cb5f21a-image.png

                Here, the only rule condition is that the Mode changes. The set reaction has groups with constraints for each possible mode, and the actions in that group only run if the current mode matches the constraint. But it keeps everything in one place. I don't think a lot of people are using reaction groups with constraints yet, and I'm not saying it's the right answer for you, but it's something to keep in mind.

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

                G therealdbT 4 Replies Last reply
                2
                • toggledbitsT toggledbits

                  @gwp1 Changes in 22240 were really limited, and not related to Engine work at all. I think it's more likely you had a race condition between conflicting rules, and the upgrade changed the timing of the race. That can be complicated by the performance of the hub (i.e. variances in how fast it responds to requests), etc. Keep in mind that when you have a reaction start another reaction, they both run at the same time; the starter doesn't wait for the started to finish. And further, there's no guaranteed order to which resumes if both delay to the same instant in time. Unlike Reactor for Vera, which was pretty single-threaded because of the way the Lua API worked there, MSR is very asynchronous and concurrent.

                  One structure that can help concentrate logic into more viewable/manageable blocks is something like this:

                  82c51832-e3fc-406b-95ac-0f214cb5f21a-image.png

                  Here, the only rule condition is that the Mode changes. The set reaction has groups with constraints for each possible mode, and the actions in that group only run if the current mode matches the constraint. But it keeps everything in one place. I don't think a lot of people are using reaction groups with constraints yet, and I'm not saying it's the right answer for you, but it's something to keep in mind.

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

                  @toggledbits This is very intriguing. I admit to having a ginormous amount of rules and conditions (ie, TV on closes the Living Room curtain upon Evening mode - but what if the TV was already on prior to Evening mode, we don't want the curtain closed during the daytime hours, and what if I ran out to the store and the house switched to Away mode and then back again etc.)

                  1 Reply Last reply
                  0
                  • toggledbitsT toggledbits

                    @gwp1 Changes in 22240 were really limited, and not related to Engine work at all. I think it's more likely you had a race condition between conflicting rules, and the upgrade changed the timing of the race. That can be complicated by the performance of the hub (i.e. variances in how fast it responds to requests), etc. Keep in mind that when you have a reaction start another reaction, they both run at the same time; the starter doesn't wait for the started to finish. And further, there's no guaranteed order to which resumes if both delay to the same instant in time. Unlike Reactor for Vera, which was pretty single-threaded because of the way the Lua API worked there, MSR is very asynchronous and concurrent.

                    One structure that can help concentrate logic into more viewable/manageable blocks is something like this:

                    82c51832-e3fc-406b-95ac-0f214cb5f21a-image.png

                    Here, the only rule condition is that the Mode changes. The set reaction has groups with constraints for each possible mode, and the actions in that group only run if the current mode matches the constraint. But it keeps everything in one place. I don't think a lot of people are using reaction groups with constraints yet, and I'm not saying it's the right answer for you, but it's something to keep in mind.

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

                    @toggledbits So how does this approach account for the breaking out of lighting, HVAC, blinds, etc.? Is it recommended to link out to other rulesets or drive the actions right from here? That could/would result in quite a list of things happening under each of these groups, no?

                    1 Reply Last reply
                    0
                    • toggledbitsT toggledbits

                      @gwp1 Changes in 22240 were really limited, and not related to Engine work at all. I think it's more likely you had a race condition between conflicting rules, and the upgrade changed the timing of the race. That can be complicated by the performance of the hub (i.e. variances in how fast it responds to requests), etc. Keep in mind that when you have a reaction start another reaction, they both run at the same time; the starter doesn't wait for the started to finish. And further, there's no guaranteed order to which resumes if both delay to the same instant in time. Unlike Reactor for Vera, which was pretty single-threaded because of the way the Lua API worked there, MSR is very asynchronous and concurrent.

                      One structure that can help concentrate logic into more viewable/manageable blocks is something like this:

                      82c51832-e3fc-406b-95ac-0f214cb5f21a-image.png

                      Here, the only rule condition is that the Mode changes. The set reaction has groups with constraints for each possible mode, and the actions in that group only run if the current mode matches the constraint. But it keeps everything in one place. I don't think a lot of people are using reaction groups with constraints yet, and I'm not saying it's the right answer for you, but it's something to keep in mind.

                      therealdbT Offline
                      therealdbT Offline
                      therealdb
                      wrote on last edited by
                      #19

                      @toggledbits said in 'not in' being ignored latest-22240-3b3254d6:

                      I don't think a lot of people are using reaction groups with constraints yet

                      I am and I like it a lot, since you’ll end up with less rule sets and it’s definitely easier to thinker. I’m also using groups with constraints in global reactions.

                      --
                      On a mission to automate everything.

                      My MS Reactor contrib
                      My Luup Plug-ins

                      G CatmanV2C 2 Replies Last reply
                      2
                      • therealdbT therealdb

                        @toggledbits said in 'not in' being ignored latest-22240-3b3254d6:

                        I don't think a lot of people are using reaction groups with constraints yet

                        I am and I like it a lot, since you’ll end up with less rule sets and it’s definitely easier to thinker. I’m also using groups with constraints in global reactions.

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

                        @therealdb I'd like to better understand the grouping you're using with this. Lights vs blinds vs presence vs HVAC, etc.

                        1 Reply Last reply
                        0
                        • G Offline
                          G Offline
                          gwp1
                          wrote on last edited by
                          #21

                          I can confirm that @toggledbits assessment was correct. Closing this up but I'd really like to chat with either @toggledbits or @therealdb about implementation of reaction groups with constraints.

                          1 Reply Last reply
                          0
                          • therealdbT therealdb

                            @toggledbits said in 'not in' being ignored latest-22240-3b3254d6:

                            I don't think a lot of people are using reaction groups with constraints yet

                            I am and I like it a lot, since you’ll end up with less rule sets and it’s definitely easier to thinker. I’m also using groups with constraints in global reactions.

                            CatmanV2C Offline
                            CatmanV2C Offline
                            CatmanV2
                            wrote on last edited by
                            #22

                            @therealdb even I have one!

                            C

                            The Ex-Vera abuser know as CatmanV2.....

                            1 Reply Last reply
                            0
                            • G gwp1

                              @alan_f I’ve centralized all my rules in MSR. How are you reliably determining presence?

                              Btw, @toggledbits , I’m Away and it flipped back to ‘Day’.

                              I’ll see what the logs look like when I get home.

                              A Offline
                              A Offline
                              Alan_F
                              wrote on last edited by
                              #23

                              @gwp1 I was away from the forum for a few days, but to answer your question, I use the Hubitat app for Android on my phone and my wife's phone to determine presence. Every once in a while they break it with an update and I can use the Google assistant presence instead. I prefer Hubitat because you can set a geofence and I have them set up not to consider us away when walking the dogs in the neighborhood, but to have us away when we're at my parent's house just outside our usual walking route. Google doesn't give me that level of control over what's considered home or away.

                              G 1 Reply Last reply
                              0
                              • A Alan_F

                                @gwp1 I was away from the forum for a few days, but to answer your question, I use the Hubitat app for Android on my phone and my wife's phone to determine presence. Every once in a while they break it with an update and I can use the Google assistant presence instead. I prefer Hubitat because you can set a geofence and I have them set up not to consider us away when walking the dogs in the neighborhood, but to have us away when we're at my parent's house just outside our usual walking route. Google doesn't give me that level of control over what's considered home or away.

                                G Offline
                                G Offline
                                gwp1
                                wrote on last edited by
                                #24
                                This post is deleted!
                                1 Reply Last reply
                                0
                                • toggledbitsT toggledbits

                                  @gwp1 Changes in 22240 were really limited, and not related to Engine work at all. I think it's more likely you had a race condition between conflicting rules, and the upgrade changed the timing of the race. That can be complicated by the performance of the hub (i.e. variances in how fast it responds to requests), etc. Keep in mind that when you have a reaction start another reaction, they both run at the same time; the starter doesn't wait for the started to finish. And further, there's no guaranteed order to which resumes if both delay to the same instant in time. Unlike Reactor for Vera, which was pretty single-threaded because of the way the Lua API worked there, MSR is very asynchronous and concurrent.

                                  One structure that can help concentrate logic into more viewable/manageable blocks is something like this:

                                  82c51832-e3fc-406b-95ac-0f214cb5f21a-image.png

                                  Here, the only rule condition is that the Mode changes. The set reaction has groups with constraints for each possible mode, and the actions in that group only run if the current mode matches the constraint. But it keeps everything in one place. I don't think a lot of people are using reaction groups with constraints yet, and I'm not saying it's the right answer for you, but it's something to keep in mind.

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

                                  @toggledbits @toggledbits took your advice above and tried something new with my Living Room blinds and TV watching. The issues are:

                                  • If watching TV during the daylight hours, light from the windows on either side of the fireplace-mounted TV tend to wash it out a bit, esp during night scenes.

                                  • If watching TV at night, the neighbors have a pair of floodlights on their patio that, when in use, don't stream into my windows but do sit there in your field of view as these two white orbs. Very distracting.

                                  My "try something new" solution is this:

                                  26423419-f469-445c-aa43-e175122be7f8-image.png

                                  c6260d1e-8889-476f-b2a7-0996cab7d949-image.png

                                  0b3a06c5-c249-43fa-893a-9618f23268b3-image.png

                                  (I've stricken the Mode Constraint from the above - it's redundant and too restrictive - what if I run out to the store real quick and the house flips to Away?

                                  0dbe1513-f1f3-47b5-bf78-355081422d74-image.png

                                  There is no Reset Reaction for Evenings because why? Just leave them closed as most likely the next stop is sleepy-time when they'll be closed anyway.

                                  Your thoughts?

                                  1 Reply Last reply
                                  0
                                  • toggledbitsT Away
                                    toggledbitsT Away
                                    toggledbits
                                    wrote on last edited by
                                    #26

                                    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 1 Reply Last reply
                                    1
                                    • toggledbitsT toggledbits

                                      Looks good to me!

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

                                      @toggledbits After I saw this post I tested the daytime version and it behaved as intended. Half the battle down, we'll test the other half this evening. Thanks for the guidance here, it's a different approach but I can def see places where it's useful.

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


                                      Recent Topics

                                      • Gradually turn on lights.
                                        G
                                        gwp1
                                        0
                                        4
                                        131

                                      • Stop the MSR by an external switch on Hubitat.
                                        wmarcolinW
                                        wmarcolin
                                        0
                                        1
                                        29

                                      • Error After Upgrade
                                        G
                                        gwp1
                                        0
                                        4
                                        103

                                      • Reset attribute value of entity in event handler
                                        R
                                        RHCPNG
                                        0
                                        5
                                        199

                                      • Need help figuring out how to delay a reset on reaction
                                        G
                                        gwp1
                                        0
                                        22
                                        925

                                      • Way to search for rules (rule state) in other rules
                                        T
                                        tamorgen
                                        0
                                        3
                                        99

                                      • Links to MSR from HA
                                        Tom_DT
                                        Tom_D
                                        0
                                        1
                                        90

                                      • Set Reaction > Script Action
                                        wmarcolinW
                                        wmarcolin
                                        0
                                        11
                                        433

                                      • Wiring Samotech SM308-S into light fitting
                                        akbooerA
                                        akbooer
                                        0
                                        2
                                        146

                                      • Errors after updating to MQTTController build 25139
                                        toggledbitsT
                                        toggledbits
                                        0
                                        6
                                        236

                                      • 🎉 My very first MSR controller: OpenSprinkler
                                        therealdbT
                                        therealdb
                                        5
                                        13
                                        917

                                      • Advice reqeusted to migrate MSR from Bare Metal to Container
                                        T
                                        tamorgen
                                        0
                                        5
                                        260
                                      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