Thermostats Not "Taking" Heating Setpoint from Rule Machine

My weekend house has seven heating zones, which I keep at 50 F when we are not there. Each zone is controlled by a Go Control Z-Wave thermostat connected to the hub. When we are heading up for the weekend, I'd like to be able to trigger a rule that sets the heating setpoint for five of the zones, rather than having to set each thermostat separately through the app or dashboard. However, after trying several iterations of rules, I'm getting dropped commands and odd behavior, as explained below.

After testing several rules, and troubleshooting, I learned from other threads (Rule Machine 5.0 thermostat setting issue, maybe - #5 by bravenel) that you cannot expect to set multiple thermostats in one "action" in rule machine because network congestion may lead to some rules not "arriving" at all the devices to which they're directed if they're sent too quickly in succession. The solution in the above-referenced thread was to separate the commands using delay.

So i've been trying to introduce delay into my rule. But I am still having an issue where certain (random) thermostats will not "take" the new heating setpoint, even though the log shows the command being sent by the hub to the device. And reviewing the logs, i am seeing some unexpected behavior.

Below are screenshots of (1) my setup in Rule Machine and (2) logs for when I tried to run the rule earlier today.

#1 - My setup in rule machine is essentially to take each of the five thermostats (Downstairs Bath, Downstairs Master Bedroom, Front Bedroom, Kitchen/Dining, TV Room), and using a "repeat...while" loop for each thermostat, repeat the heating setpoint command every four seconds until the thermostat registers the change, up to five attempts (so i do not get an infinite loop if a device is dead).

#2 - If you review the logs, you can see I triggered the rule at 11:39 am. Two thermostats were successfully set--downstairs bath, and downstairs master bedroom. Then, it tried to send the heating setpoint commands to the "front bedroom" thermostat five times, but that one never "took." It then sent one command to the "Kitchen/Dining" thermostat but did not repeat it (and that one never "took" either). And it never sent any commands to the "TV Room" thermostat for some odd reason.

So I triggered the rule again at 11:46. The rule correctly skipped the two thermostats that had already been set (downstairs bath and downstairs master bedroom), and then proceeded to correctly iterate on the remaining thermostats--Front Bedroom, Kitchen/Dining, and TV Room.

Bottom line: I am at a loss. Any thoughts on what i might be doing wrong? Why some of the commands in my rule never were sent? Why some were sent but never received by the thermostat? Is there a better way to design the rule, or could it be other issues? Thanks so much for any advice you have!

//==========RULE SETUP=========//

//============LOGS=============//

1 Like

This is sign of mesh network issues, that no rule smarts can overcome. It is not generally true that you can't command multiple thermostats at once, but that too is a sign of weak mesh.

You should not need these contortions to deal with thermostats. Check out Thermostat Scheduler as alternate method to control thermostats. But nothing will be reliable until the mesh is solid, and yours seems anything but. I'd say the complexity of this rule is distracting from that basic issue.

1 Like