Eu uso isto:
automation
#### LIGA EXTRACTOR
- alias: 'Liga Extractor do WC1'
initial_state: True
trigger:
- platform: time
minutes: '/1'
seconds: 01
condition:
condition: and
conditions:
- condition: template
value_template: '{{ (states.sensor.humidade_extractor_wc1.state | int) >= (states.input_number.start_hum_vent_wc1.state | int) }}'
- condition: state
entity_id: input_boolean.extractor_auto
state: 'on'
- condition: state
entity_id: input_boolean.modo_ferias
state: 'off'
action:
- service: switch.turn_on
entity_id: switch.extractor_wc1
- service: script.notify_save_to_file
data:
message: '{{ as_timestamp (now()) | timestamp_custom("%d/%b/%Y %T") }} - Extractor do WC1 - LIGADO'
#### DESLIGA EXTRACTOR
- alias: 'Desliga Extractor do WC1'
initial_state: True
trigger:
- platform: time
minutes: '/1'
seconds: 01
condition:
condition: and
conditions:
- condition: template
value_template: '{{ (states.sensor.humidade_extractor_wc1.state | int) <= (states.input_number.stop_hum_vent_wc1.state | int) }}'
- condition: state
entity_id: input_boolean.extractor_auto
state: 'on'
- condition: state
entity_id: input_boolean.modo_ferias
state: 'off'
action:
- service: switch.turn_off
entity_id: switch.extractor_wc1
- service: script.notify_save_to_file
data:
message: '{{ as_timestamp (now()) | timestamp_custom("%d/%b/%Y %T") }} - Extractor do WC1 - DESLIGADO'
Input_number
#### Arranque ventilador WC1
start_hum_vent_wc1:
name: Arranque
icon: mdi:ray-start
min: 0
max: 100
step: 1
mode: box
unit_of_measurement: '%'
#### Paragem ventilador WC1
stop_hum_vent_wc1:
name: Paragem
icon: mdi:ray-end
min: 0
max: 100
step: 1
mode: box
unit_of_measurement: '%'
Input_boolean
#### MODO FÉRIAS
modo_ferias:
name: Modo Férias
icon: mdi:beach
#### EXTRACTOR AUTO
extractor_auto:
name: Automático
icon: mdi:auto-fix
Group
#### WC 1
wc1:
name: WC1
entities:
- switch.extractor_wc1
- sensor.temperatura_wc1_extractor
- sensor.humidade_wc1_extractor