Preventing "false" triggers

I've got an Ecobee integrated into HE using HomeAssistant/Homekit and MQTT. It's all local, no internet required, and pretty quick to respond. But it's not perfect. For example, here is a rule I have to control the zone dampers on my furnace...

And here is a log snip from one instance of the Operating state changing to "idle"

For some reason, the rule is triggered every 15 - 30 seconds, and because I use this rule to run another, that rule is being executed as well. I'm not sure why it continues to see these "false" triggers, but i suspect is has to do with using MQTT. My first thought is to prevent this is to add an IF-THEN at the beginning of the rule that compares the local variable var-ecobee-state to the actual thermostatOperatingState and if they are equal, exit the rule. Is there any downside to that approach? It seems like it would work, but the HE will still have the overhead of triggering and exiting the rule every time it sees the OperatingState change.