1
0

Add automations for air purifier

This commit is contained in:
pgrondek 2021-02-20 03:20:06 +01:00
parent 1d446dcba2
commit d241edf044
3 changed files with 62 additions and 6 deletions

View File

@ -1,6 +1,7 @@
{% for airPurifier in airPurifiers %} {% for airPurifier in airPurifiers %}
# {{ airPurifier.name }} # {{ airPurifier.name }}
- alias: '[{{ airPurifier.name }} Air Purifier] mode change' - alias: '[{{ airPurifier.name }} Air Purifier] mode change'
id: {{ airPurifier.componentId }}_mode_change
trigger: trigger:
entity_id: input_select.{{ airPurifier.componentId }}_mode entity_id: input_select.{{ airPurifier.componentId }}_mode
platform: state platform: state
@ -9,8 +10,8 @@
data_template: data_template:
entity_id: {{ airPurifier.entityId }} entity_id: {{ airPurifier.entityId }}
speed: {{ '\'{{ states.input_select.' + airPurifier.componentId + '_mode.state }}\'' }} speed: {{ '\'{{ states.input_select.' + airPurifier.componentId + '_mode.state }}\'' }}
id: {{ airPurifier.componentId }}_mode_change
- alias: '[{{ airPurifier.name }} Air Purifier] mode changed' - alias: '[{{ airPurifier.name }} Air Purifier] mode changed'
id: {{ airPurifier.componentId }}_mode_changed
trigger: trigger:
platform: state platform: state
entity_id: {{ airPurifier.entityId }} entity_id: {{ airPurifier.entityId }}
@ -19,8 +20,8 @@
entity_id: input_select.{{ airPurifier.componentId }}_mode entity_id: input_select.{{ airPurifier.componentId }}_mode
data_template: data_template:
option: {{ '\'{{ states.' + airPurifier.entityId + '.attributes.speed }}\'' }} option: {{ '\'{{ states.' + airPurifier.entityId + '.attributes.speed }}\'' }}
id: {{ airPurifier.componentId }}_mode_changed
- alias: '[{{ airPurifier.name }} Air Purifier] favorite level change' - alias: '[{{ airPurifier.name }} Air Purifier] favorite level change'
id: {{ airPurifier.entityId }}_favorite_level
trigger: trigger:
entity_id: input_number.{{ airPurifier.componentId }}_favorite_level entity_id: input_number.{{ airPurifier.componentId }}_favorite_level
platform: state platform: state
@ -29,8 +30,8 @@
data_template: data_template:
entity_id: {{ airPurifier.entityId }} entity_id: {{ airPurifier.entityId }}
level: {{ '\'{{ states.input_number.' + airPurifier.componentId + '_favorite_level.state | int }}\'' }} level: {{ '\'{{ states.input_number.' + airPurifier.componentId + '_favorite_level.state | int }}\'' }}
id: {{ airPurifier.entityId }}_favorite_level
- alias: '[{{ airPurifier.name }} Air Purifier] favorite level changed' - alias: '[{{ airPurifier.name }} Air Purifier] favorite level changed'
id: {{ airPurifier.entityId }}_favorite_level_changed
trigger: trigger:
platform: state platform: state
entity_id: {{ airPurifier.entityId }} entity_id: {{ airPurifier.entityId }}
@ -39,6 +40,58 @@
entity_id: input_number.{{ airPurifier.componentId }}_favorite_level entity_id: input_number.{{ airPurifier.componentId }}_favorite_level
data_template: data_template:
value: {{ '\'{{ states.' + airPurifier.entityId + '.attributes.favorite_level }}\'' }} value: {{ '\'{{ states.' + airPurifier.entityId + '.attributes.favorite_level }}\'' }}
id: {{ airPurifier.entityId }}_favorite_level_changed {% 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 %} {% endfor %}

View File

@ -6,5 +6,6 @@
- Auto - Auto
- Silent - Silent
- Favorite - Favorite
- Fan
icon: "mdi:animation-outline" icon: "mdi:animation-outline"
{% endfor %} {% endfor %}

View File

@ -47,8 +47,10 @@ airPurifiers:
name: Living Room name: Living Room
ip: 192.168.60.6 ip: 192.168.60.6
token: 66e56ff414f359b371b2d0b86e3d37d4 token: 66e56ff414f359b371b2d0b86e3d37d4
supports_fan_level: true
- entityId: fan.bedroom_air_purifier - entityId: fan.bedroom_air_purifier
componentId: bedroom_air_purifier componentId: bedroom_air_purifier
name: Bedroom name: Bedroom
ip: 192.168.60.5 ip: 192.168.60.5
token: a32c6e74647ac03ad79afaa590b5203c token: a32c6e74647ac03ad79afaa590b5203c
supports_fan_level: false