Files
Home-Assistant/automations/07_climate_and_plugs/07a_ac_plug_controls.yaml
T

49 lines
1.7 KiB
YAML
Raw Normal View History

- id: ac_controls_matter_plugs
alias: AC controls Matter plugs
description: Reconcile each plug with current cooling activity after HVAC changes, startup, reload and plug recovery. Keep existing plug states if climate status is unknown.
mode: restart
triggers:
- trigger: state
entity_id: climate.meat_heater
attribute: hvac_action
to: null
- trigger: state
entity_id: climate.meat_heater
to: null
- trigger: state
entity_id:
- switch.smart_wi_fi_plug
- switch.smart_wi_fi_plug_2
- switch.smart_wi_fi_plug_3
- switch.smart_wi_fi_plug_4
to: null
- trigger: homeassistant
event: start
- trigger: event
event_type: automation_reloaded
conditions: []
actions:
- condition: template
value_template: >-
{{ has_value('climate.meat_heater')
and (is_state('climate.meat_heater', 'off')
or state_attr('climate.meat_heater', 'hvac_action')
not in [none, 'unknown', 'unavailable', '']) }}
- variables:
desired_state: "{{ 'on' if is_state_attr('climate.meat_heater', 'hvac_action', 'cooling') and not is_state('climate.meat_heater', 'off') else 'off' }}"
- repeat:
for_each:
- switch.smart_wi_fi_plug
- switch.smart_wi_fi_plug_2
- switch.smart_wi_fi_plug_3
- switch.smart_wi_fi_plug_4
sequence:
- if:
- condition: template
value_template: "{{ has_value(repeat.item) and not is_state(repeat.item, desired_state) }}"
then:
- action: "{{ 'switch.turn_on' if desired_state == 'on' else 'switch.turn_off' }}"
continue_on_error: true
target:
entity_id: "{{ repeat.item }}"