49 lines
1.7 KiB
YAML
49 lines
1.7 KiB
YAML
- 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 }}"
|