1
0
ansible-home-assistant/automations/templates/air-purifier/automations.yaml.j2
2021-02-20 03:20:06 +01:00

97 lines
3.8 KiB
Django/Jinja

{% for airPurifier in airPurifiers %}
# {{ airPurifier.name }}
- alias: '[{{ airPurifier.name }} Air Purifier] mode change'
id: {{ airPurifier.componentId }}_mode_change
trigger:
entity_id: input_select.{{ airPurifier.componentId }}_mode
platform: state
action:
service: fan.set_speed
data_template:
entity_id: {{ airPurifier.entityId }}
speed: {{ '\'{{ states.input_select.' + airPurifier.componentId + '_mode.state }}\'' }}
- alias: '[{{ airPurifier.name }} Air Purifier] mode changed'
id: {{ airPurifier.componentId }}_mode_changed
trigger:
platform: state
entity_id: {{ airPurifier.entityId }}
action:
service: input_select.select_option
entity_id: input_select.{{ airPurifier.componentId }}_mode
data_template:
option: {{ '\'{{ states.' + airPurifier.entityId + '.attributes.speed }}\'' }}
- alias: '[{{ airPurifier.name }} Air Purifier] favorite level change'
id: {{ airPurifier.entityId }}_favorite_level
trigger:
entity_id: input_number.{{ airPurifier.componentId }}_favorite_level
platform: state
action:
service: xiaomi_miio.fan_set_favorite_level
data_template:
entity_id: {{ airPurifier.entityId }}
level: {{ '\'{{ states.input_number.' + airPurifier.componentId + '_favorite_level.state | int }}\'' }}
- alias: '[{{ airPurifier.name }} Air Purifier] favorite level changed'
id: {{ airPurifier.entityId }}_favorite_level_changed
trigger:
platform: state
entity_id: {{ airPurifier.entityId }}
action:
service: input_number.set_value
entity_id: input_number.{{ airPurifier.componentId }}_favorite_level
data_template:
value: {{ '\'{{ states.' + airPurifier.entityId + '.attributes.favorite_level }}\'' }}
{% if airPurifier.supports_fan_level %}
- alias: '[{{ airPurifier.name }} Air Purifier] fan level changed'
id: {{ airPurifier.entityId }}_fan_level_changed
trigger:
platform: state
entity_id: {{ airPurifier.entityId }}
action:
service: input_number.set_value
entity_id: input_number.{{ airPurifier.componentId }}_fan_level
data_template:
value: {{ '\'{{ states.' + airPurifier.entityId + '.attributes.fan_level }}\'' }}
- alias: '[{{ airPurifier.name }} Air Purifier] fan level change'
id: {{ airPurifier.entityId }}_fan_level_change
trigger:
entity_id: input_number.{{ airPurifier.componentId }}_fan_level
platform: state
action:
service: xiaomi_miio.fan_set_fan_level
data_template:
entity_id: {{ airPurifier.entityId }}
level: {{ '\'{{ states.input_number.' + airPurifier.componentId + '_fan_level.state | int }}\'' }}
{% endif %}
- alias: '[{{ airPurifier.name }} Purifier] increase fan speed'
id: {{ airPurifier.entityId }}_fan_speed_increase
trigger:
- platform: numeric_state
entity_id: sensor.{{ airPurifier.componentId }}_air_quality_pm25
above: '15'
for: 1m
action:
- service: fan.set_speed
data:
speed: Favorite
entity_id: fan.{{ airPurifier.componentId }}
- service: xiaomi_miio.fan_set_favorite_level
data_template:
entity_id: {{ airPurifier.entityId }}
level: {{ '\'{{ states.input_number.' + airPurifier.componentId + '_favorite_level.state | int + 1 }}\'' }}
- alias: '[{{ airPurifier.name }} Purifier] decrease fan speed'
id: {{ airPurifier.entityId }}_fan_speed_decrease
trigger:
- platform: numeric_state
entity_id: sensor.{{ airPurifier.componentId }}_air_quality_pm25
below: '10'
for: 1m
action:
- service: fan.set_speed
data:
speed: Favorite
entity_id: fan.{{ airPurifier.componentId }}
- service: xiaomi_miio.fan_set_favorite_level
data_template:
entity_id: {{ airPurifier.entityId }}
level: {{ '\'{{ states.input_number.' + airPurifier.componentId + '_favorite_level.state | int - 1 }}\'' }}
{% endfor %}