"Reliably" detecting changes in HVAC_state from "idle" to "Heating"?

First, please follow Community Questions Guidelines #14 and #11 by posting your automation configuration as properly formatted YAML instead of screenshots. It makes it significantly easier for us to see what you are actually doing and to propose edits.

Second, check the attribute value in your template. This is a common point of confusion… the values you see in the frontend are often made “Friendlier”, but that isn’t the necessarily the real value that you use in templates or YAML configuration. In this case “Idle” is the friendly version, but the template likely needs “idle”. You can check the values in the States tool.

If you want to use a template for the CH_DEACTIVATE automation, you can just use a template Trigger that fires when all climate entities’ hvac_action attributes are “idle” as follows:

trigger: template
value_template: |
 {{ states.climate 
 | rejectattr('attributes.hvac_action','eq','idle') 
 | list | count == 0  }}

That would replace all the State triggers as well as the Template Condition.