• 0 Votes
    17 Posts
    559 Views

    @gwp1 I think I correctly understood the use case then. The issue is that your rule set doesn't start counting the 420 seconds when the initial command is sent to the Honeywell API. The 420 seconds starts counting as soon as the setpoint is <> 65 (or 68). If you ever have the thermostats set to another value (when away, or night, or when not in heat mode) then the 'sustained for' will start counting and as soon as 420 seconds have passed, that element of the rule will go to true. You'll see it is green in the detail panel if you expand the rule set.

    The thing I'm not clear on, but am making some assumptions about, is what triggers the initial call to the Honeywell API that this rule is designed to monitor/verify. Making the assumption that you turn down the thermostat at night with something like "HVAC - Heating NIGHT", and that heating is still armed and the thermostat mode is still set to heat at night, then 420 seconds after you go into night mode, every element of this rule set will be true except the Hubitat house mode rule. The rule set is primed to activate if that goes true.

    So at night:

    Armed for heating is true (7 minutes after you enter night mode) Set point has been at some other value for more than 420 seconds Thermostat mode is set to heat But the rule set is NOT activated because the "AND house mode not in (night, vacation, away)" is not true

    In the morning when the Hubitat mode switches from "night" to "day", this rule will go true immediately as all elements are now true.

    Armed for heating is true Set point has been at some other value for more than 420 seconds. It is still at the night value until the API reports the new daytime value Thermostat mode is set to heat House mode not in (night, vacation, away)" is true

    If you add the 420 second 'sustained' to the other elements, then in the morning when the Hubitat mode switches to "day", this rule will NOT go true immediately

    Armed for heating has been true for at least 420 seconds Set point has been at some other value for at least 420 seconds Thermostat mode is set to heat for at least 420 seconds House mode not in (night, vacation, away)" has NOT been true for 420 seconds until 7 minutes after you switch to day mode.

    As long as one of the other elements goes false within 7 minutes, the rule set will never activate. The expected behavior is that the "set point has been at some other value" will go false within 7 minutes. If that doesn't happen, the whole rule set will go true and the set actions will fire including re-running the other rule set and notifying you.

    I still think this could be improved as I'm pretty sure this will only fire once. If the second attempt at setting the thermostat fails, this rule will remain set and there is nothing to cause it to un-set and then re-activate. That could be your desired behavior if you want to manually fix it when it fails the first time and avoid calling the rule every 7 minutes on repeated failures.

    I dealt with a lot of the same issues setting up rules for my flaky Lennox thermostat. It's still in Node-Red and looks like this:

    55821e35-adfb-495c-b2b3-2a6ad7ea47bd-image.png <img src="blob:chrome-untrusted://media-app/55d4404c-a480-4453-ae24-0e6410279a3b" alt="Screenshot 2021-11-29 11.34.25.png"/>

    I'm not smart/experienced/brave enough to try to replicate that in MSR yet.

Recent Topics